Anne is big. Anne is green. Anne is red. Charlie is green. Dave is blue. Dave is rough. Erin is big. If someone is blue and green then they are red. All big people are white. Rough people are kind. All blue, kind people are red. If someone is kind then they are blue. If someone is big then they are kind.
Anne is big.
("Anne" "is" "big" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is red.
("Anne" "is" "red" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Erin is big.
("Erin" "is" "big" "+")
If someone is blue and green then they are red.
((("someone" "is" "blue" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "red" "+"))
All big people are white.
((("someone" "is" "big" "+")) -> ("someone" "is" "white" "+"))
Rough people are kind.
((("someone" "is" "rough" "+")) -> ("someone" "is" "kind" "+"))
All blue, kind people are red.
((("someone" "is" "blue" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "red" "+"))
If someone is kind then they are blue.
((("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "+"))
If someone is big then they are kind.
((("someone" "is" "big" "+")) -> ("someone" "is" "kind" "+"))
Anne is green.
True
1
proof
[(triple2)]
("Anne" "is" "green" "+")
triple2
Anne is not green.
False
1
inv-proof
[(triple2)]
("Anne" "is" "green" "-")
triple2
Erin is kind.
True
2
proof
[(((triple7) -> rule6))]
("Erin" "is" "kind" "+")
((triple7) -> (rule6 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is not kind.
False
2
inv-proof
[(((triple7) -> rule6))]
("Erin" "is" "kind" "-")
((triple7) -> (rule6 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Anne is blue.
True
3
proof
[(((((triple1) -> rule6)) -> rule5))]
("Anne" "is" "blue" "+")
((((triple1) -> (rule6 % int2))) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Dave is not red.
False
4
inv-proof
[(((triple5 ((triple6) -> rule3)) -> rule4) OR ((((((triple6) -> rule3)) -> rule5) ((triple6) -> rule3)) -> rule4))]
("Dave" "is" "red" "-")
((triple5 ((triple6) -> (rule3 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
((((((triple6) -> (rule3 % int3))) -> (rule5 % int2)) ((triple6) -> (rule3 % int3))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Erin is red.
True
6
proof
[(((((((triple7) -> rule6)) -> rule5) ((triple7) -> rule6)) -> rule4))]
("Erin" "is" "red" "+")
((((((triple7) -> (rule6 % int3))) -> (rule5 % int2)) ((triple7) -> (rule6 % int3))) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is not red.
False
6
inv-proof
[(((((((triple7) -> rule6)) -> rule5) ((triple7) -> rule6)) -> rule4))]
("Erin" "is" "red" "-")
((((((triple7) -> (rule6 % int3))) -> (rule5 % int2)) ((triple7) -> (rule6 % int3))) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Charlie is not blue.
Unknown
inv-rconc
[@2: Charlie is blue.[CWA. Example of deepest failure = (rule5 <- rule3 <- FAIL)]]
("Charlie" "is" "blue" "-")
Charlie is kind.
Unknown
rconc
[@1: Charlie is kind.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Charlie" "is" "kind" "+")
Dave is not white.
Unknown
inv-rconc
[@1: Dave is white.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Dave" "is" "white" "-")
Charlie is white.
Unknown
rconc
[@1: Charlie is white.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Charlie" "is" "white" "+")
Dave is not big.
Unknown
inv-random
[@0: Dave is big.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "big" "-")
Erin is rough.
Unknown
random
[@0: Erin is rough.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "rough" "+")
Dave is not green.
Unknown
inv-random
[@0: Dave is green.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "green" "-")
Erin is green.
Unknown
random
[@0: Erin is green.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "green" "+")
@0: Anne is big.[(triple1)] Anne is green.[(triple2)] Anne is red.[(triple3 OR ((((((triple1) -> rule6)) -> rule5) triple2) -> rule1) OR ((((((triple1) -> rule6)) -> rule5) ((triple1) -> rule6)) -> rule4))] Charlie is green.[(triple4)] Dave is blue.[(triple5 OR ((((triple6) -> rule3)) -> rule5))] Dave is rough.[(triple6)] Erin is big.[(triple7)] @1: Anne is kind.[(((triple1) -> rule6))] Anne is white.[(((triple1) -> rule2))] Dave is kind.[(((triple6) -> rule3))] Erin is kind.[(((triple7) -> rule6))] Erin is white.[(((triple7) -> rule2))] @2: Anne is blue.[(((((triple1) -> rule6)) -> rule5))] Dave is red.[(((triple5 ((triple6) -> rule3)) -> rule4) OR ((((((triple6) -> rule3)) -> rule5) ((triple6) -> rule3)) -> rule4))] Erin is blue.[(((((triple7) -> rule6)) -> rule5))] @3: Erin is red.[(((((((triple7) -> rule6)) -> rule5) ((triple7) -> rule6)) -> rule4))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is green.
("Anne" "is" "green" "+")
triple2
Anne is red.
("Anne" "is" "red" "+")
triple3
((((((triple1) -> (rule6 % int3))) -> (rule5 % int2)) triple2) -> (rule1 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
((((((triple1) -> (rule6 % int3))) -> (rule5 % int2)) ((triple1) -> (rule6 % int3))) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
triple4
Dave is blue.
("Dave" "is" "blue" "+")
triple5
((((triple6) -> (rule3 % int2))) -> (rule5 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
triple6
Erin is big.
("Erin" "is" "big" "+")
triple7
Anne is kind.
("Anne" "is" "kind" "+")
((triple1) -> (rule6 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
((triple1) -> (rule2 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
((triple6) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
((triple7) -> (rule6 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
((triple7) -> (rule2 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
((((triple1) -> (rule6 % int2))) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
((triple5 ((triple6) -> (rule3 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
((((((triple6) -> (rule3 % int3))) -> (rule5 % int2)) ((triple6) -> (rule3 % int3))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
((((triple7) -> (rule6 % int2))) -> (rule5 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
((((((triple7) -> (rule6 % int3))) -> (rule5 % int2)) ((triple7) -> (rule6 % int3))) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3