Anne is big. Anne is furry. Anne is green. Anne is quiet. Anne is rough. Anne is round. Anne is young. Charlie is furry. Charlie is young. Erin is round. All quiet things are furry. All rough things are quiet. If Anne is green and Anne is furry then Anne is big. If something is quiet and rough then it is green. If Anne is quiet and Anne is round then Anne is big. Big things are rough. If Charlie is big and Charlie is quiet then Charlie is green. Green, round things are quiet.
Anne is big.
("Anne" "is" "big" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is young.
("Anne" "is" "young" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Erin is round.
("Erin" "is" "round" "+")
All quiet things are furry.
((("something" "is" "quiet" "+")) -> ("something" "is" "furry" "+"))
All rough things are quiet.
((("something" "is" "rough" "+")) -> ("something" "is" "quiet" "+"))
If Anne is green and Anne is furry then Anne is big.
((("Anne" "is" "green" "+") ("Anne" "is" "furry" "+")) -> ("Anne" "is" "big" "+"))
If something is quiet and rough then it is green.
((("something" "is" "quiet" "+") ("something" "is" "rough" "+")) -> ("something" "is" "green" "+"))
If Anne is quiet and Anne is round then Anne is big.
((("Anne" "is" "quiet" "+") ("Anne" "is" "round" "+")) -> ("Anne" "is" "big" "+"))
Big things are rough.
((("something" "is" "big" "+")) -> ("something" "is" "rough" "+"))
If Charlie is big and Charlie is quiet then Charlie is green.
((("Charlie" "is" "big" "+") ("Charlie" "is" "quiet" "+")) -> ("Charlie" "is" "green" "+"))
Green, round things are quiet.
((("something" "is" "green" "+") ("something" "is" "round" "+")) -> ("something" "is" "quiet" "+"))
Anne is big.
True
1
proof
[(triple1 OR ((triple3 triple2) -> rule3) OR ((triple4 triple6) -> rule5) OR ((triple3 ((triple4) -> rule1)) -> rule3) OR ((((triple5) -> rule2) triple6) -> rule5) OR ((((triple3 triple6) -> rule8) triple6) -> rule5) OR ((((triple4 triple5) -> rule4) triple2) -> rule3) OR ((((triple4 triple5) -> rule4) ((triple4) -> rule1)) -> rule3) OR ((triple3 ((((triple5) -> rule2)) -> rule1)) -> rule3) OR ((triple3 ((((triple3 triple6) -> rule8)) -> rule1)) -> rule3) OR ((((((triple5) -> rule2) triple5) -> rule4) triple2) -> rule3) OR ((((triple4 triple5) -> rule4) ((((triple5) -> rule2)) -> rule1)) -> rule3) OR ((((triple4 triple5) -> rule4) ((((triple3 triple6) -> rule8)) -> rule1)) -> rule3) OR ((((((triple5) -> rule2) triple5) -> rule4) ((triple4) -> rule1)) -> rule3) OR ((((((triple5) -> rule2) triple5) -> rule4) ((((triple5) -> rule2)) -> rule1)) -> rule3) OR ((((((triple5) -> rule2) triple5) -> rule4) ((((triple3 triple6) -> rule8)) -> rule1)) -> rule3))]
("Anne" "is" "big" "+")
triple1
((triple3 triple2) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((triple4 triple6) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((triple3 ((triple4) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
((((triple5) -> (rule2 % int2)) triple6) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
((((triple3 triple6) -> (rule8 % int2)) triple6) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
((((triple4 triple5) -> (rule4 % int2)) triple2) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
((((triple4 triple5) -> (rule4 % int3)) ((triple4) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
((triple3 ((((triple5) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((triple3 ((((triple3 triple6) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((((((triple5) -> (rule2 % int3)) triple5) -> (rule4 % int2)) triple2) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((((triple4 triple5) -> (rule4 % int4)) ((((triple5) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((triple4 triple5) -> (rule4 % int4)) ((((triple3 triple6) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((((triple5) -> (rule2 % int4)) triple5) -> (rule4 % int3)) ((triple4) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
int4
((((((triple5) -> (rule2 % int4)) triple5) -> (rule4 % int3)) ((((triple5) -> (rule2 % int4))) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
int4
((((((triple5) -> (rule2 % int4)) triple5) -> (rule4 % int3)) ((((triple3 triple6) -> (rule8 % int4))) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
int4
Erin is not round.
False
1
inv-proof
[(triple10)]
("Erin" "is" "round" "-")
triple10
Erin is not furry.
Unknown
inv-rconc
[@4: Erin is furry.[CWA. Example of deepest failure = (rule1 <- rule8 <- rule4 <- rule6 <- FAIL)]]
("Erin" "is" "furry" "-")
Erin is big.
Unknown
random
[@0: Erin is big.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "big" "+")
@0: Anne is big.[(triple1 OR ((triple3 triple2) -> rule3) OR ((triple4 triple6) -> rule5) OR ((triple3 ((triple4) -> rule1)) -> rule3) OR ((((triple5) -> rule2) triple6) -> rule5) OR ((((triple3 triple6) -> rule8) triple6) -> rule5) OR ((((triple4 triple5) -> rule4) triple2) -> rule3) OR ((((triple4 triple5) -> rule4) ((triple4) -> rule1)) -> rule3) OR ((triple3 ((((triple5) -> rule2)) -> rule1)) -> rule3) OR ((triple3 ((((triple3 triple6) -> rule8)) -> rule1)) -> rule3) OR ((((((triple5) -> rule2) triple5) -> rule4) triple2) -> rule3) OR ((((triple4 triple5) -> rule4) ((((triple5) -> rule2)) -> rule1)) -> rule3) OR ((((triple4 triple5) -> rule4) ((((triple3 triple6) -> rule8)) -> rule1)) -> rule3) OR ((((((triple5) -> rule2) triple5) -> rule4) ((triple4) -> rule1)) -> rule3) OR ((((((triple5) -> rule2) triple5) -> rule4) ((((triple5) -> rule2)) -> rule1)) -> rule3) OR ((((((triple5) -> rule2) triple5) -> rule4) ((((triple3 triple6) -> rule8)) -> rule1)) -> rule3))] Anne is furry.[(triple2 OR ((triple4) -> rule1) OR ((((triple5) -> rule2)) -> rule1) OR ((((triple3 triple6) -> rule8)) -> rule1) OR ((((((triple1) -> rule6)) -> rule2)) -> rule1))] Anne is green.[(triple3 OR ((triple4 triple5) -> rule4) OR ((triple4 ((triple1) -> rule6)) -> rule4) OR ((((triple5) -> rule2) triple5) -> rule4) OR ((((triple5) -> rule2) ((triple1) -> rule6)) -> rule4) OR ((triple4 ((((triple4 triple6) -> rule5)) -> rule6)) -> rule4) OR ((((((triple1) -> rule6)) -> rule2) triple5) -> rule4) OR ((((triple5) -> rule2) ((((triple4 triple6) -> rule5)) -> rule6)) -> rule4) OR ((((((triple1) -> rule6)) -> rule2) ((triple1) -> rule6)) -> rule4) OR ((((((triple1) -> rule6)) -> rule2) ((((triple4 triple6) -> rule5)) -> rule6)) -> rule4))] Anne is quiet.[(triple4 OR ((triple5) -> rule2) OR ((triple3 triple6) -> rule8) OR ((((triple1) -> rule6)) -> rule2) OR ((((((triple3 triple2) -> rule3)) -> rule6)) -> rule2))] Anne is rough.[(triple5 OR ((triple1) -> rule6) OR ((((triple3 triple2) -> rule3)) -> rule6) OR ((((triple4 triple6) -> rule5)) -> rule6) OR ((((triple3 ((triple4) -> rule1)) -> rule3)) -> rule6) OR ((((((triple3 triple6) -> rule8) triple6) -> rule5)) -> rule6) OR ((((triple3 ((((triple3 triple6) -> rule8)) -> rule1)) -> rule3)) -> rule6))] Anne is round.[(triple6)] Anne is young.[(triple7)] Charlie is furry.[(triple8)] Charlie is young.[(triple9)] Erin is round.[(triple10)]
Anne is big.
("Anne" "is" "big" "+")
triple1
((triple3 triple2) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((triple4 triple6) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((triple3 ((triple4) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
((((triple5) -> (rule2 % int2)) triple6) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
((((triple3 triple6) -> (rule8 % int2)) triple6) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
((((triple4 triple5) -> (rule4 % int2)) triple2) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
((((triple4 triple5) -> (rule4 % int3)) ((triple4) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
((triple3 ((((triple5) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((triple3 ((((triple3 triple6) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((((((triple5) -> (rule2 % int3)) triple5) -> (rule4 % int2)) triple2) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((((triple4 triple5) -> (rule4 % int4)) ((((triple5) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((triple4 triple5) -> (rule4 % int4)) ((((triple3 triple6) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((((triple5) -> (rule2 % int4)) triple5) -> (rule4 % int3)) ((triple4) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
int4
((((((triple5) -> (rule2 % int4)) triple5) -> (rule4 % int3)) ((((triple5) -> (rule2 % int4))) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
int4
((((((triple5) -> (rule2 % int4)) triple5) -> (rule4 % int3)) ((((triple3 triple6) -> (rule8 % int4))) -> (rule1 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
int4
Anne is furry.
("Anne" "is" "furry" "+")
triple2
((triple4) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((((triple5) -> (rule2 % int2))) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
((((triple3 triple6) -> (rule8 % int2))) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
((((((triple1) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
triple3
((triple4 triple5) -> (rule4 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((triple4 ((triple1) -> (rule6 % int2))) -> (rule4 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
((((triple5) -> (rule2 % int2)) triple5) -> (rule4 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
((((triple5) -> (rule2 % int3)) ((triple1) -> (rule6 % int2))) -> (rule4 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((triple4 ((((triple4 triple6) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
((((((triple1) -> (rule6 % int3))) -> (rule2 % int2)) triple5) -> (rule4 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
((((triple5) -> (rule2 % int4)) ((((triple4 triple6) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
int4
((((((triple1) -> (rule6 % int3))) -> (rule2 % int2)) ((triple1) -> (rule6 % int3))) -> (rule4 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
((((((triple1) -> (rule6 % int4))) -> (rule2 % int3)) ((((triple4 triple6) -> (rule5 % int2))) -> (rule6 % int4))) -> (rule4 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
int4
Anne is quiet.
("Anne" "is" "quiet" "+")
triple4
((triple5) -> (rule2 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
((triple3 triple6) -> (rule8 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
((((triple1) -> (rule6 % int2))) -> (rule2 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
((((((triple3 triple2) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
triple5
((triple1) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((((triple3 triple2) -> (rule3 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
((((triple4 triple6) -> (rule5 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
((((triple3 ((triple4) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
((((((triple3 triple6) -> (rule8 % int3)) triple6) -> (rule5 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((((triple3 ((((triple3 triple6) -> (rule8 % int4))) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
int4
Anne is round.
("Anne" "is" "round" "+")
triple6
Anne is young.
("Anne" "is" "young" "+")
triple7
Charlie is furry.
("Charlie" "is" "furry" "+")
triple8
Charlie is young.
("Charlie" "is" "young" "+")
triple9
Erin is round.
("Erin" "is" "round" "+")
triple10