Anne is big. Anne is kind. Dave is cold. Dave is green. Dave is kind. Dave is quiet. Harry is big. Harry is furry. Harry is green. Harry is kind. Harry is quiet. Harry is white. If Dave is big then Dave is quiet. If something is green and kind then it is quiet. If Harry is quiet then Harry is big. If something is furry then it is white. If Dave is big and Dave is green then Dave is quiet. All white things are cold. If Anne is furry and Anne is big then Anne is cold. All quiet, big things are furry.
Anne is big.
("Anne" "is" "big" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is white.
("Harry" "is" "white" "+")
If Dave is big then Dave is quiet.
((("Dave" "is" "big" "+")) -> ("Dave" "is" "quiet" "+"))
If something is green and kind then it is quiet.
((("something" "is" "green" "+") ("something" "is" "kind" "+")) -> ("something" "is" "quiet" "+"))
If Harry is quiet then Harry is big.
((("Harry" "is" "quiet" "+")) -> ("Harry" "is" "big" "+"))
If something is furry then it is white.
((("something" "is" "furry" "+")) -> ("something" "is" "white" "+"))
If Dave is big and Dave is green then Dave is quiet.
((("Dave" "is" "big" "+") ("Dave" "is" "green" "+")) -> ("Dave" "is" "quiet" "+"))
All white things are cold.
((("something" "is" "white" "+")) -> ("something" "is" "cold" "+"))
If Anne is furry and Anne is big then Anne is cold.
((("Anne" "is" "furry" "+") ("Anne" "is" "big" "+")) -> ("Anne" "is" "cold" "+"))
All quiet, big things are furry.
((("something" "is" "quiet" "+") ("something" "is" "big" "+")) -> ("something" "is" "furry" "+"))
Harry is furry.
True
1
proof
[(triple8 OR ((triple11 triple7) -> rule8) OR ((triple11 ((triple11) -> rule3)) -> rule8) OR ((((triple9 triple10) -> rule2) triple7) -> rule8) OR ((((triple9 triple10) -> rule2) ((triple11) -> rule3)) -> rule8) OR ((triple11 ((((triple9 triple10) -> rule2)) -> rule3)) -> rule8) OR ((((triple9 triple10) -> rule2) ((((triple9 triple10) -> rule2)) -> rule3)) -> rule8))]
("Harry" "is" "furry" "+")
triple8
((triple11 triple7) -> (rule8 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
((triple11 ((triple11) -> (rule3 % int2))) -> (rule8 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple9 triple10) -> (rule2 % int2)) triple7) -> (rule8 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
((((triple9 triple10) -> (rule2 % int3)) ((triple11) -> (rule3 % int2))) -> (rule8 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
((triple11 ((((triple9 triple10) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
((((triple9 triple10) -> (rule2 % int3)) ((((triple9 triple10) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Anne is not kind.
False
1
inv-proof
[(triple2)]
("Anne" "is" "kind" "-")
triple2
Harry is cold.
True
2
proof
[(((triple12) -> rule6) OR ((((triple8) -> rule4)) -> rule6) OR ((((((triple11 triple7) -> rule8)) -> rule4)) -> rule6) OR ((((((triple11 ((triple11) -> rule3)) -> rule8)) -> rule4)) -> rule6) OR ((((((((triple9 triple10) -> rule2) triple7) -> rule8)) -> rule4)) -> rule6) OR ((((((((triple9 triple10) -> rule2) ((triple11) -> rule3)) -> rule8)) -> rule4)) -> rule6) OR ((((((triple11 ((((triple9 triple10) -> rule2)) -> rule3)) -> rule8)) -> rule4)) -> rule6) OR ((((((((triple9 triple10) -> rule2) ((((triple9 triple10) -> rule2)) -> rule3)) -> rule8)) -> rule4)) -> rule6))]
("Harry" "is" "cold" "+")
((triple12) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
((((triple8) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
((((((triple11 triple7) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
((((((triple11 ((triple11) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
((((((((triple9 triple10) -> (rule2 % int4)) triple7) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
((((((((triple9 triple10) -> (rule2 % int5)) ((triple11) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
int5
((((((triple11 ((((triple9 triple10) -> (rule2 % int5))) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
int5
((((((((triple9 triple10) -> (rule2 % int5)) ((((triple9 triple10) -> (rule2 % int5))) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
int5
Harry is not cold.
False
2
inv-proof
[(((triple12) -> rule6) OR ((((triple8) -> rule4)) -> rule6) OR ((((((triple11 triple7) -> rule8)) -> rule4)) -> rule6) OR ((((((triple11 ((triple11) -> rule3)) -> rule8)) -> rule4)) -> rule6) OR ((((((((triple9 triple10) -> rule2) triple7) -> rule8)) -> rule4)) -> rule6) OR ((((((((triple9 triple10) -> rule2) ((triple11) -> rule3)) -> rule8)) -> rule4)) -> rule6) OR ((((((triple11 ((((triple9 triple10) -> rule2)) -> rule3)) -> rule8)) -> rule4)) -> rule6) OR ((((((((triple9 triple10) -> rule2) ((((triple9 triple10) -> rule2)) -> rule3)) -> rule8)) -> rule4)) -> rule6))]
("Harry" "is" "cold" "-")
((triple12) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
((((triple8) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
((((((triple11 triple7) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
((((((triple11 ((triple11) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
((((((((triple9 triple10) -> (rule2 % int4)) triple7) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
((((((((triple9 triple10) -> (rule2 % int5)) ((triple11) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
int5
((((((triple11 ((((triple9 triple10) -> (rule2 % int5))) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
int5
((((((((triple9 triple10) -> (rule2 % int5)) ((((triple9 triple10) -> (rule2 % int5))) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
int5
Dave is not furry.
Unknown
inv-rconc
[@1: Dave is furry.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Dave" "is" "furry" "-")
Anne is white.
Unknown
rconc
[@3: Anne is white.[CWA. Example of deepest failure = (rule4 <- rule8 <- rule2 <- FAIL)]]
("Anne" "is" "white" "+")
Anne is not green.
Unknown
inv-random
[@0: Anne is green.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "green" "-")
Dave is big.
Unknown
random
[@0: Dave is big.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "big" "+")
@0: Anne is big.[(triple1)] Anne is kind.[(triple2)] Dave is cold.[(triple3)] Dave is green.[(triple4)] Dave is kind.[(triple5)] Dave is quiet.[(triple6 OR ((triple4 triple5) -> rule2))] Harry is big.[(triple7 OR ((triple11) -> rule3) OR ((((triple9 triple10) -> rule2)) -> rule3))] Harry is furry.[(triple8 OR ((triple11 triple7) -> rule8) OR ((triple11 ((triple11) -> rule3)) -> rule8) OR ((((triple9 triple10) -> rule2) triple7) -> rule8) OR ((((triple9 triple10) -> rule2) ((triple11) -> rule3)) -> rule8) OR ((triple11 ((((triple9 triple10) -> rule2)) -> rule3)) -> rule8) OR ((((triple9 triple10) -> rule2) ((((triple9 triple10) -> rule2)) -> rule3)) -> rule8))] Harry is green.[(triple9)] Harry is kind.[(triple10)] Harry is quiet.[(triple11 OR ((triple9 triple10) -> rule2))] Harry is white.[(triple12 OR ((triple8) -> rule4) OR ((((triple11 triple7) -> rule8)) -> rule4) OR ((((triple11 ((triple11) -> rule3)) -> rule8)) -> rule4) OR ((((((triple9 triple10) -> rule2) triple7) -> rule8)) -> rule4) OR ((((((triple9 triple10) -> rule2) ((triple11) -> rule3)) -> rule8)) -> rule4) OR ((((triple11 ((((triple9 triple10) -> rule2)) -> rule3)) -> rule8)) -> rule4) OR ((((((triple9 triple10) -> rule2) ((((triple9 triple10) -> rule2)) -> rule3)) -> rule8)) -> rule4))] @1: Harry is cold.[(((triple12) -> rule6) OR ((((triple8) -> rule4)) -> rule6) OR ((((((triple11 triple7) -> rule8)) -> rule4)) -> rule6) OR ((((((triple11 ((triple11) -> rule3)) -> rule8)) -> rule4)) -> rule6) OR ((((((((triple9 triple10) -> rule2) triple7) -> rule8)) -> rule4)) -> rule6) OR ((((((((triple9 triple10) -> rule2) ((triple11) -> rule3)) -> rule8)) -> rule4)) -> rule6) OR ((((((triple11 ((((triple9 triple10) -> rule2)) -> rule3)) -> rule8)) -> rule4)) -> rule6) OR ((((((((triple9 triple10) -> rule2) ((((triple9 triple10) -> rule2)) -> rule3)) -> rule8)) -> rule4)) -> rule6))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is kind.
("Anne" "is" "kind" "+")
triple2
Dave is cold.
("Dave" "is" "cold" "+")
triple3
Dave is green.
("Dave" "is" "green" "+")
triple4
Dave is kind.
("Dave" "is" "kind" "+")
triple5
Dave is quiet.
("Dave" "is" "quiet" "+")
triple6
((triple4 triple5) -> (rule2 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
triple7
((triple11) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((((triple9 triple10) -> (rule2 % int2))) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
triple8
((triple11 triple7) -> (rule8 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
((triple11 ((triple11) -> (rule3 % int2))) -> (rule8 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple9 triple10) -> (rule2 % int2)) triple7) -> (rule8 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
((((triple9 triple10) -> (rule2 % int3)) ((triple11) -> (rule3 % int2))) -> (rule8 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
((triple11 ((((triple9 triple10) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
((((triple9 triple10) -> (rule2 % int3)) ((((triple9 triple10) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
triple9
Harry is kind.
("Harry" "is" "kind" "+")
triple10
Harry is quiet.
("Harry" "is" "quiet" "+")
triple11
((triple9 triple10) -> (rule2 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
triple12
((triple8) -> (rule4 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
((((triple11 triple7) -> (rule8 % int2))) -> (rule4 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
((((triple11 ((triple11) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
((((((triple9 triple10) -> (rule2 % int3)) triple7) -> (rule8 % int2))) -> (rule4 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
((((((triple9 triple10) -> (rule2 % int4)) ((triple11) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
((((triple11 ((((triple9 triple10) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
((((((triple9 triple10) -> (rule2 % int4)) ((((triple9 triple10) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
Harry is cold.
("Harry" "is" "cold" "+")
((triple12) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
((((triple8) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
((((((triple11 triple7) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
((((((triple11 ((triple11) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
((((((((triple9 triple10) -> (rule2 % int4)) triple7) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
((((((((triple9 triple10) -> (rule2 % int5)) ((triple11) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
int5
((((((triple11 ((((triple9 triple10) -> (rule2 % int5))) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
int5
((((((((triple9 triple10) -> (rule2 % int5)) ((((triple9 triple10) -> (rule2 % int5))) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
int5