Anne is blue. Anne is green. Anne is quiet. Anne is red. Anne is rough. Anne is white. Anne is young. Bob is red. Bob is young. Charlie is blue. Charlie is green. Charlie is red. If someone is rough and red then they are blue. If someone is young then they are white. If someone is white and blue then they are green. If someone is blue then they are red. All white, red people are blue. Green, white people are rough. If someone is rough then they are white. If Charlie is rough and Charlie is green then Charlie is red.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is white.
("Anne" "is" "white" "+")
Anne is young.
("Anne" "is" "young" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is young.
("Bob" "is" "young" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is red.
("Charlie" "is" "red" "+")
If someone is rough and red then they are blue.
((("someone" "is" "rough" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "blue" "+"))
If someone is young then they are white.
((("someone" "is" "young" "+")) -> ("someone" "is" "white" "+"))
If someone is white and blue then they are green.
((("someone" "is" "white" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "green" "+"))
If someone is blue then they are red.
((("someone" "is" "blue" "+")) -> ("someone" "is" "red" "+"))
All white, red people are blue.
((("someone" "is" "white" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "blue" "+"))
Green, white people are rough.
((("someone" "is" "green" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "rough" "+"))
If someone is rough then they are white.
((("someone" "is" "rough" "+")) -> ("someone" "is" "white" "+"))
If Charlie is rough and Charlie is green then Charlie is red.
((("Charlie" "is" "rough" "+") ("Charlie" "is" "green" "+")) -> ("Charlie" "is" "red" "+"))
Anne is young.
True
1
proof
[(triple7)]
("Anne" "is" "young" "+")
triple7
Anne is not blue.
False
1
inv-proof
[(triple1 OR ((triple5 triple4) -> rule1) OR ((triple6 triple4) -> rule5) OR ((((triple5) -> rule7) triple4) -> rule5) OR ((((triple7) -> rule2) triple4) -> rule5) OR ((((triple2 triple6) -> rule6) triple4) -> rule1) OR ((((triple2 ((triple7) -> rule2)) -> rule6) triple4) -> rule1))]
("Anne" "is" "blue" "-")
triple1
((triple5 triple4) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((triple6 triple4) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((((triple5) -> (rule7 % int2)) triple4) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
((((triple7) -> (rule2 % int2)) triple4) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
((((triple2 triple6) -> (rule6 % int2)) triple4) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
((((triple2 ((triple7) -> (rule2 % int3))) -> (rule6 % int2)) triple4) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
Bob is white.
True
2
proof
[(((triple9) -> rule2))]
("Bob" "is" "white" "+")
((triple9) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is not white.
False
2
inv-proof
[(((triple9) -> rule2))]
("Bob" "is" "white" "-")
((triple9) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is blue.
True
4
proof
[(((((triple9) -> rule2) triple8) -> rule5))]
("Bob" "is" "blue" "+")
((((triple9) -> (rule2 % int2)) triple8) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is not blue.
False
4
inv-proof
[(((((triple9) -> rule2) triple8) -> rule5))]
("Bob" "is" "blue" "-")
((((triple9) -> (rule2 % int2)) triple8) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Charlie is not white.
Unknown
inv-rconc
[@3: Charlie is white.[CWA. Example of deepest failure = (rule7 <- rule6 <- rule2 <- FAIL)]]
("Charlie" "is" "white" "-")
Charlie is rough.
Unknown
rconc
[@2: Charlie is rough.[CWA. Example of deepest failure = (rule6 <- rule2 <- FAIL)]]
("Charlie" "is" "rough" "+")
Charlie is not young.
Unknown
inv-random
[@0: Charlie is young.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "young" "-")
Bob is quiet.
Unknown
random
[@0: Bob is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "quiet" "+")
@0: Anne is blue.[(triple1 OR ((triple5 triple4) -> rule1) OR ((triple6 triple4) -> rule5) OR ((((triple5) -> rule7) triple4) -> rule5) OR ((((triple7) -> rule2) triple4) -> rule5) OR ((((triple2 triple6) -> rule6) triple4) -> rule1) OR ((((triple2 ((triple7) -> rule2)) -> rule6) triple4) -> rule1))] Anne is green.[(triple2 OR ((triple6 triple1) -> rule3) OR ((triple6 ((triple5 triple4) -> rule1)) -> rule3) OR ((triple6 ((triple6 triple4) -> rule5)) -> rule3) OR ((((triple5) -> rule7) triple1) -> rule3) OR ((((triple7) -> rule2) triple1) -> rule3) OR ((((triple5) -> rule7) ((triple5 triple4) -> rule1)) -> rule3) OR ((((triple5) -> rule7) ((triple6 triple4) -> rule5)) -> rule3) OR ((((triple7) -> rule2) ((triple5 triple4) -> rule1)) -> rule3) OR ((((triple7) -> rule2) ((triple6 triple4) -> rule5)) -> rule3) OR ((triple6 ((((triple5) -> rule7) triple4) -> rule5)) -> rule3) OR ((triple6 ((((triple7) -> rule2) triple4) -> rule5)) -> rule3) OR ((((triple5) -> rule7) ((((triple5) -> rule7) triple4) -> rule5)) -> rule3) OR ((((triple5) -> rule7) ((((triple7) -> rule2) triple4) -> rule5)) -> rule3) OR ((((triple7) -> rule2) ((((triple5) -> rule7) triple4) -> rule5)) -> rule3) OR ((((triple7) -> rule2) ((((triple7) -> rule2) triple4) -> rule5)) -> rule3))] Anne is quiet.[(triple3)] Anne is red.[(triple4 OR ((triple1) -> rule4))] Anne is rough.[(triple5 OR ((triple2 triple6) -> rule6) OR ((triple2 ((triple7) -> rule2)) -> rule6) OR ((((triple6 triple1) -> rule3) triple6) -> rule6) OR ((((triple6 triple1) -> rule3) ((triple7) -> rule2)) -> rule6) OR ((((triple6 ((triple6 triple4) -> rule5)) -> rule3) triple6) -> rule6) OR ((((((triple7) -> rule2) triple1) -> rule3) triple6) -> rule6) OR ((((triple6 ((triple6 triple4) -> rule5)) -> rule3) ((triple7) -> rule2)) -> rule6) OR ((((((triple7) -> rule2) triple1) -> rule3) ((triple7) -> rule2)) -> rule6) OR ((((((triple7) -> rule2) ((triple6 triple4) -> rule5)) -> rule3) triple6) -> rule6) OR ((((((triple7) -> rule2) ((triple6 triple4) -> rule5)) -> rule3) ((triple7) -> rule2)) -> rule6) OR ((((triple6 ((((triple7) -> rule2) triple4) -> rule5)) -> rule3) triple6) -> rule6) OR ((((triple6 ((((triple7) -> rule2) triple4) -> rule5)) -> rule3) ((triple7) -> rule2)) -> rule6) OR ((((((triple7) -> rule2) ((((triple7) -> rule2) triple4) -> rule5)) -> rule3) triple6) -> rule6) OR ((((((triple7) -> rule2) ((((triple7) -> rule2) triple4) -> rule5)) -> rule3) ((triple7) -> rule2)) -> rule6))] Anne is white.[(triple6 OR ((triple5) -> rule7) OR ((triple7) -> rule2))] Anne is young.[(triple7)] Bob is red.[(triple8)] Bob is young.[(triple9)] Charlie is blue.[(triple10)] Charlie is green.[(triple11)] Charlie is red.[(triple12 OR ((triple10) -> rule4))] @1: Bob is white.[(((triple9) -> rule2))] @2: Bob is blue.[(((((triple9) -> rule2) triple8) -> rule5))] @3: Bob is green.[(((((triple9) -> rule2) ((((triple9) -> rule2) triple8) -> rule5)) -> rule3))] @4: Bob is rough.[(((((((triple9) -> rule2) ((((triple9) -> rule2) triple8) -> rule5)) -> rule3) ((triple9) -> rule2)) -> rule6))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
((triple5 triple4) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((triple6 triple4) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((((triple5) -> (rule7 % int2)) triple4) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
((((triple7) -> (rule2 % int2)) triple4) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
((((triple2 triple6) -> (rule6 % int2)) triple4) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
((((triple2 ((triple7) -> (rule2 % int3))) -> (rule6 % int2)) triple4) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
triple2
((triple6 triple1) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((triple6 ((triple5 triple4) -> (rule1 % int2))) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((triple6 ((triple6 triple4) -> (rule5 % int2))) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple5) -> (rule7 % int2)) triple1) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
((((triple7) -> (rule2 % int2)) triple1) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
((((triple5) -> (rule7 % int3)) ((triple5 triple4) -> (rule1 % int2))) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
((((triple5) -> (rule7 % int3)) ((triple6 triple4) -> (rule5 % int2))) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
((((triple7) -> (rule2 % int3)) ((triple5 triple4) -> (rule1 % int2))) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
((((triple7) -> (rule2 % int3)) ((triple6 triple4) -> (rule5 % int2))) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
((triple6 ((((triple5) -> (rule7 % int3)) triple4) -> (rule5 % int2))) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
((triple6 ((((triple7) -> (rule2 % int3)) triple4) -> (rule5 % int2))) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
((((triple5) -> (rule7 % int3)) ((((triple5) -> (rule7 % int3)) triple4) -> (rule5 % int2))) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
((((triple5) -> (rule7 % int3)) ((((triple7) -> (rule2 % int3)) triple4) -> (rule5 % int2))) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
((((triple7) -> (rule2 % int3)) ((((triple5) -> (rule7 % int3)) triple4) -> (rule5 % int2))) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
((((triple7) -> (rule2 % int3)) ((((triple7) -> (rule2 % int3)) triple4) -> (rule5 % int2))) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
triple3
Anne is red.
("Anne" "is" "red" "+")
triple4
((triple1) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
triple5
((triple2 triple6) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((triple2 ((triple7) -> (rule2 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
((((triple6 triple1) -> (rule3 % int2)) triple6) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
((((triple6 triple1) -> (rule3 % int3)) ((triple7) -> (rule2 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
((((triple6 ((triple6 triple4) -> (rule5 % int3))) -> (rule3 % int2)) triple6) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
((((((triple7) -> (rule2 % int3)) triple1) -> (rule3 % int2)) triple6) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
((((triple6 ((triple6 triple4) -> (rule5 % int4))) -> (rule3 % int3)) ((triple7) -> (rule2 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
((((((triple7) -> (rule2 % int3)) triple1) -> (rule3 % int2)) ((triple7) -> (rule2 % int3))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
((((((triple7) -> (rule2 % int4)) ((triple6 triple4) -> (rule5 % int3))) -> (rule3 % int2)) triple6) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is white.
("Anne" "is" "white" "+")
int4
((((((triple7) -> (rule2 % int4)) ((triple6 triple4) -> (rule5 % int3))) -> (rule3 % int2)) ((triple7) -> (rule2 % int4))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is white.
("Anne" "is" "white" "+")
int4
((((triple6 ((((triple7) -> (rule2 % int4)) triple4) -> (rule5 % int3))) -> (rule3 % int2)) triple6) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is white.
("Anne" "is" "white" "+")
int4
((((triple6 ((((triple7) -> (rule2 % int4)) triple4) -> (rule5 % int3))) -> (rule3 % int2)) ((triple7) -> (rule2 % int4))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is white.
("Anne" "is" "white" "+")
int4
((((((triple7) -> (rule2 % int4)) ((((triple7) -> (rule2 % int4)) triple4) -> (rule5 % int3))) -> (rule3 % int2)) triple6) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is white.
("Anne" "is" "white" "+")
int4
((((((triple7) -> (rule2 % int4)) ((((triple7) -> (rule2 % int4)) triple4) -> (rule5 % int3))) -> (rule3 % int2)) ((triple7) -> (rule2 % int4))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is white.
("Anne" "is" "white" "+")
int4
Anne is white.
("Anne" "is" "white" "+")
triple6
((triple5) -> (rule7 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
((triple7) -> (rule2 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
triple7
Bob is red.
("Bob" "is" "red" "+")
triple8
Bob is young.
("Bob" "is" "young" "+")
triple9
Charlie is blue.
("Charlie" "is" "blue" "+")
triple10
Charlie is green.
("Charlie" "is" "green" "+")
triple11
Charlie is red.
("Charlie" "is" "red" "+")
triple12
((triple10) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
((triple9) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
((((triple9) -> (rule2 % int2)) triple8) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
((((triple9) -> (rule2 % int3)) ((((triple9) -> (rule2 % int3)) triple8) -> (rule5 % int2))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
((((((triple9) -> (rule2 % int4)) ((((triple9) -> (rule2 % int4)) triple8) -> (rule5 % int3))) -> (rule3 % int2)) ((triple9) -> (rule2 % int4))) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is white.
("Bob" "is" "white" "+")
int4