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