Anne is blue. Anne is red. Anne is white. Erin is blue. Erin is cold. Erin is kind. Erin is nice. Erin is red. Gary is cold. Gary is nice. If Anne is kind then Anne is red. If Erin is blue and Erin is kind then Erin is young. Kind people are blue. If someone is blue then they are kind. If someone is nice then they are cold. If someone is young then they are white.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is white.
("Anne" "is" "white" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is red.
("Erin" "is" "red" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is nice.
("Gary" "is" "nice" "+")
If Anne is kind then Anne is red.
((("Anne" "is" "kind" "+")) -> ("Anne" "is" "red" "+"))
If Erin is blue and Erin is kind then Erin is young.
((("Erin" "is" "blue" "+") ("Erin" "is" "kind" "+")) -> ("Erin" "is" "young" "+"))
Kind people are blue.
((("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "+"))
If someone is blue then they are kind.
((("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
If someone is nice then they are cold.
((("someone" "is" "nice" "+")) -> ("someone" "is" "cold" "+"))
If someone is young then they are white.
((("someone" "is" "young" "+")) -> ("someone" "is" "white" "+"))
Erin is cold.
True
1
proof
[(triple5 OR ((triple7) -> rule5))]
("Erin" "is" "cold" "+")
triple5
((triple7) -> (rule5 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Anne is not white.
False
1
inv-proof
[(triple3)]
("Anne" "is" "white" "-")
triple3
Erin is young.
True
3
proof
[(((triple4 triple6) -> rule2) OR ((triple4 ((triple4) -> rule4)) -> rule2) OR ((((triple6) -> rule3) triple6) -> rule2) OR ((((triple6) -> rule3) ((triple4) -> rule4)) -> rule2))]
("Erin" "is" "young" "+")
((triple4 triple6) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((triple4 ((triple4) -> (rule4 % int2))) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
((((triple6) -> (rule3 % int2)) triple6) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((triple6) -> (rule3 % int3)) ((triple4) -> (rule4 % int2))) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is not young.
False
3
inv-proof
[(((triple4 triple6) -> rule2) OR ((triple4 ((triple4) -> rule4)) -> rule2) OR ((((triple6) -> rule3) triple6) -> rule2) OR ((((triple6) -> rule3) ((triple4) -> rule4)) -> rule2))]
("Erin" "is" "young" "-")
((triple4 triple6) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((triple4 ((triple4) -> (rule4 % int2))) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
((((triple6) -> (rule3 % int2)) triple6) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((triple6) -> (rule3 % int3)) ((triple4) -> (rule4 % int2))) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is white.
True
4
proof
[(((((triple4 triple6) -> rule2)) -> rule6) OR ((((triple4 ((triple4) -> rule4)) -> rule2)) -> rule6) OR ((((((triple6) -> rule3) triple6) -> rule2)) -> rule6) OR ((((((triple6) -> rule3) ((triple4) -> rule4)) -> rule2)) -> rule6))]
("Erin" "is" "white" "+")
((((triple4 triple6) -> (rule2 % int2))) -> (rule6 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((triple4 ((triple4) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((((((triple6) -> (rule3 % int3)) triple6) -> (rule2 % int2))) -> (rule6 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((((triple6) -> (rule3 % int4)) ((triple4) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4
Erin is not white.
False
4
inv-proof
[(((((triple4 triple6) -> rule2)) -> rule6) OR ((((triple4 ((triple4) -> rule4)) -> rule2)) -> rule6) OR ((((((triple6) -> rule3) triple6) -> rule2)) -> rule6) OR ((((((triple6) -> rule3) ((triple4) -> rule4)) -> rule2)) -> rule6))]
("Erin" "is" "white" "-")
((((triple4 triple6) -> (rule2 % int2))) -> (rule6 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((triple4 ((triple4) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((((((triple6) -> (rule3 % int3)) triple6) -> (rule2 % int2))) -> (rule6 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((((triple6) -> (rule3 % int4)) ((triple4) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4
Anne is not cold.
Unknown
inv-rconc
[@1: Anne is cold.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Anne" "is" "cold" "-")
Gary is kind.
Unknown
rconc
[@2: Gary is kind.[CWA. Example of deepest failure = (rule4 <- rule3 <- FAIL)]]
("Gary" "is" "kind" "+")
Gary is not blue.
Unknown
inv-rconc
[@2: Gary is blue.[CWA. Example of deepest failure = (rule3 <- rule4 <- FAIL)]]
("Gary" "is" "blue" "-")
Anne is young.
Unknown
random
[@0: Anne is young.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "young" "+")
Gary is not young.
Unknown
inv-random
[@0: Gary is young.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "young" "-")
Anne is nice.
Unknown
random
[@0: Anne is nice.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "nice" "+")
@0: Anne is blue.[(triple1)] Anne is red.[(triple2 OR ((((triple1) -> rule4)) -> rule1))] Anne is white.[(triple3)] Erin is blue.[(triple4 OR ((triple6) -> rule3))] Erin is cold.[(triple5 OR ((triple7) -> rule5))] Erin is kind.[(triple6 OR ((triple4) -> rule4))] Erin is nice.[(triple7)] Erin is red.[(triple8)] Gary is cold.[(triple9 OR ((triple10) -> rule5))] Gary is nice.[(triple10)] @1: Anne is kind.[(((triple1) -> rule4))] Erin is young.[(((triple4 triple6) -> rule2) OR ((triple4 ((triple4) -> rule4)) -> rule2) OR ((((triple6) -> rule3) triple6) -> rule2) OR ((((triple6) -> rule3) ((triple4) -> rule4)) -> rule2))] @2: Erin is white.[(((((triple4 triple6) -> rule2)) -> rule6) OR ((((triple4 ((triple4) -> rule4)) -> rule2)) -> rule6) OR ((((((triple6) -> rule3) triple6) -> rule2)) -> rule6) OR ((((((triple6) -> rule3) ((triple4) -> rule4)) -> rule2)) -> rule6))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is red.
("Anne" "is" "red" "+")
triple2
((((triple1) -> (rule4 % int2))) -> (rule1 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
triple3
Erin is blue.
("Erin" "is" "blue" "+")
triple4
((triple6) -> (rule3 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
triple5
((triple7) -> (rule5 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
triple6
((triple4) -> (rule4 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
triple7
Erin is red.
("Erin" "is" "red" "+")
triple8
Gary is cold.
("Gary" "is" "cold" "+")
triple9
((triple10) -> (rule5 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
triple10
Anne is kind.
("Anne" "is" "kind" "+")
((triple1) -> (rule4 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
((triple4 triple6) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((triple4 ((triple4) -> (rule4 % int2))) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
((((triple6) -> (rule3 % int2)) triple6) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((triple6) -> (rule3 % int3)) ((triple4) -> (rule4 % int2))) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
((((triple4 triple6) -> (rule2 % int2))) -> (rule6 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((triple4 ((triple4) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((((((triple6) -> (rule3 % int3)) triple6) -> (rule2 % int2))) -> (rule6 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((((triple6) -> (rule3 % int4)) ((triple4) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4