Anne is big. Anne is cold. Anne is kind. Anne is red. Anne is round. Anne is smart. Bob is big. Bob is cold. Bob is kind. Bob is red. Bob is round. Bob is smart. Bob is white. Dave is big. Dave is cold. Dave is white. All round things are red. If Bob is red then Bob is round. If something is round then it is cold. White, kind things are round. All kind, cold things are big. Smart, big things are round. If something is big and white then it is cold. If something is white then it is kind.
Anne is big.
("Anne" "is" "big" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Bob is big.
("Bob" "is" "big" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is white.
("Bob" "is" "white" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is white.
("Dave" "is" "white" "+")
All round things are red.
((("something" "is" "round" "+")) -> ("something" "is" "red" "+"))
If Bob is red then Bob is round.
((("Bob" "is" "red" "+")) -> ("Bob" "is" "round" "+"))
If something is round then it is cold.
((("something" "is" "round" "+")) -> ("something" "is" "cold" "+"))
White, kind things are round.
((("something" "is" "white" "+") ("something" "is" "kind" "+")) -> ("something" "is" "round" "+"))
All kind, cold things are big.
((("something" "is" "kind" "+") ("something" "is" "cold" "+")) -> ("something" "is" "big" "+"))
Smart, big things are round.
((("something" "is" "smart" "+") ("something" "is" "big" "+")) -> ("something" "is" "round" "+"))
If something is big and white then it is cold.
((("something" "is" "big" "+") ("something" "is" "white" "+")) -> ("something" "is" "cold" "+"))
If something is white then it is kind.
((("something" "is" "white" "+")) -> ("something" "is" "kind" "+"))
Anne is big.
True
1
proof
[(triple1 OR ((triple3 triple2) -> rule5) OR ((triple3 ((triple5) -> rule3)) -> rule5))]
("Anne" "is" "big" "+")
triple1
((triple3 triple2) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((triple3 ((triple5) -> (rule3 % int2))) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Bob is not round.
False
1
inv-proof
[(triple11 OR ((triple10) -> rule2) OR ((triple12 triple7) -> rule6) OR ((triple13 triple9) -> rule4) OR ((triple12 ((triple9 triple8) -> rule5)) -> rule6) OR ((triple13 ((triple13) -> rule8)) -> rule4) OR ((triple12 ((((triple13) -> rule8) triple8) -> rule5)) -> rule6))]
("Bob" "is" "round" "-")
triple11
((triple10) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple12 triple7) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple13 triple9) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple12 ((triple9 triple8) -> (rule5 % int2))) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((triple13 ((triple13) -> (rule8 % int2))) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
((triple12 ((((triple13) -> (rule8 % int3)) triple8) -> (rule5 % int2))) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Dave is kind.
True
2
proof
[(((triple16) -> rule8))]
("Dave" "is" "kind" "+")
((triple16) -> (rule8 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is not kind.
False
2
inv-proof
[(((triple16) -> rule8))]
("Dave" "is" "kind" "-")
((triple16) -> (rule8 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is round.
True
4
proof
[(((triple16 ((triple16) -> rule8)) -> rule4))]
("Dave" "is" "round" "+")
((triple16 ((triple16) -> (rule8 % int2))) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is not round.
False
4
inv-proof
[(((triple16 ((triple16) -> rule8)) -> rule4))]
("Dave" "is" "round" "-")
((triple16 ((triple16) -> (rule8 % int2))) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is red.
True
5
proof
[(((((triple16 ((triple16) -> rule8)) -> rule4)) -> rule1))]
("Dave" "is" "red" "+")
((((triple16 ((triple16) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is not red.
False
5
inv-proof
[(((((triple16 ((triple16) -> rule8)) -> rule4)) -> rule1))]
("Dave" "is" "red" "-")
((((triple16 ((triple16) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Anne is not white.
Unknown
inv-random
[@0: Anne is white.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "white" "-")
Dave is smart.
Unknown
random
[@0: Dave is smart.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "smart" "+")
@0: Anne is big.[(triple1 OR ((triple3 triple2) -> rule5) OR ((triple3 ((triple5) -> rule3)) -> rule5))] Anne is cold.[(triple2 OR ((triple5) -> rule3) OR ((((triple6 triple1) -> rule6)) -> rule3))] Anne is kind.[(triple3)] Anne is red.[(triple4 OR ((triple5) -> rule1) OR ((((triple6 triple1) -> rule6)) -> rule1) OR ((((triple6 ((triple3 triple2) -> rule5)) -> rule6)) -> rule1))] Anne is round.[(triple5 OR ((triple6 triple1) -> rule6) OR ((triple6 ((triple3 triple2) -> rule5)) -> rule6))] Anne is smart.[(triple6)] Bob is big.[(triple7 OR ((triple9 triple8) -> rule5) OR ((triple9 ((triple11) -> rule3)) -> rule5) OR ((((triple13) -> rule8) triple8) -> rule5) OR ((((triple13) -> rule8) ((triple11) -> rule3)) -> rule5) OR ((triple9 ((((triple10) -> rule2)) -> rule3)) -> rule5) OR ((triple9 ((((triple13 triple9) -> rule4)) -> rule3)) -> rule5) OR ((((triple13) -> rule8) ((((triple10) -> rule2)) -> rule3)) -> rule5) OR ((((triple13) -> rule8) ((((triple13 triple9) -> rule4)) -> rule3)) -> rule5) OR ((triple9 ((((triple13 ((triple13) -> rule8)) -> rule4)) -> rule3)) -> rule5) OR ((((triple13) -> rule8) ((((triple13 ((triple13) -> rule8)) -> rule4)) -> rule3)) -> rule5))] Bob is cold.[(triple8 OR ((triple11) -> rule3) OR ((triple7 triple13) -> rule7) OR ((((triple10) -> rule2)) -> rule3) OR ((((triple12 triple7) -> rule6)) -> rule3) OR ((((triple13 triple9) -> rule4)) -> rule3) OR ((((triple13 ((triple13) -> rule8)) -> rule4)) -> rule3))] Bob is kind.[(triple9 OR ((triple13) -> rule8))] Bob is red.[(triple10 OR ((triple11) -> rule1) OR ((((triple12 triple7) -> rule6)) -> rule1) OR ((((triple13 triple9) -> rule4)) -> rule1) OR ((((triple12 ((triple9 triple8) -> rule5)) -> rule6)) -> rule1) OR ((((triple13 ((triple13) -> rule8)) -> rule4)) -> rule1) OR ((((triple12 ((((triple13) -> rule8) triple8) -> rule5)) -> rule6)) -> rule1))] Bob is round.[(triple11 OR ((triple10) -> rule2) OR ((triple12 triple7) -> rule6) OR ((triple13 triple9) -> rule4) OR ((triple12 ((triple9 triple8) -> rule5)) -> rule6) OR ((triple13 ((triple13) -> rule8)) -> rule4) OR ((triple12 ((((triple13) -> rule8) triple8) -> rule5)) -> rule6))] Bob is smart.[(triple12)] Bob is white.[(triple13)] Dave is big.[(triple14 OR ((((triple16) -> rule8) triple15) -> rule5) OR ((((triple16) -> rule8) ((((triple16 ((triple16) -> rule8)) -> rule4)) -> rule3)) -> rule5))] Dave is cold.[(triple15 OR ((triple14 triple16) -> rule7) OR ((((triple16 ((triple16) -> rule8)) -> rule4)) -> rule3))] Dave is white.[(triple16)] @1: Dave is kind.[(((triple16) -> rule8))] @2: Dave is round.[(((triple16 ((triple16) -> rule8)) -> rule4))] @3: Dave is red.[(((((triple16 ((triple16) -> rule8)) -> rule4)) -> rule1))]
Anne is big.
("Anne" "is" "big" "+")
triple1
((triple3 triple2) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((triple3 ((triple5) -> (rule3 % int2))) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
triple2
((triple5) -> (rule3 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
((((triple6 triple1) -> (rule6 % int2))) -> (rule3 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
triple3
Anne is red.
("Anne" "is" "red" "+")
triple4
((triple5) -> (rule1 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((((triple6 triple1) -> (rule6 % int2))) -> (rule1 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
((((triple6 ((triple3 triple2) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is round.
("Anne" "is" "round" "+")
triple5
((triple6 triple1) -> (rule6 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((triple6 ((triple3 triple2) -> (rule5 % int2))) -> (rule6 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
triple6
Bob is big.
("Bob" "is" "big" "+")
triple7
((triple9 triple8) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple9 ((triple11) -> (rule3 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((((triple13) -> (rule8 % int2)) triple8) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
((((triple13) -> (rule8 % int3)) ((triple11) -> (rule3 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
((triple9 ((((triple10) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((triple9 ((((triple13 triple9) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((((triple13) -> (rule8 % int4)) ((((triple10) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
((((triple13) -> (rule8 % int4)) ((((triple13 triple9) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
((triple9 ((((triple13 ((triple13) -> (rule8 % int4))) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
((((triple13) -> (rule8 % int4)) ((((triple13 ((triple13) -> (rule8 % int4))) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
Bob is cold.
("Bob" "is" "cold" "+")
triple8
((triple11) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((triple7 triple13) -> (rule7 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple10) -> (rule2 % int2))) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((triple12 triple7) -> (rule6 % int2))) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((triple13 triple9) -> (rule4 % int2))) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((triple13 ((triple13) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
triple9
((triple13) -> (rule8 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
triple10
((triple11) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((((triple12 triple7) -> (rule6 % int2))) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((triple13 triple9) -> (rule4 % int2))) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((triple12 ((triple9 triple8) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
((((triple13 ((triple13) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
((((triple12 ((((triple13) -> (rule8 % int4)) triple8) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
Bob is round.
("Bob" "is" "round" "+")
triple11
((triple10) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple12 triple7) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple13 triple9) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple12 ((triple9 triple8) -> (rule5 % int2))) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((triple13 ((triple13) -> (rule8 % int2))) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
((triple12 ((((triple13) -> (rule8 % int3)) triple8) -> (rule5 % int2))) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
triple12
Bob is white.
("Bob" "is" "white" "+")
triple13
Dave is big.
("Dave" "is" "big" "+")
triple14
((((triple16) -> (rule8 % int2)) triple15) -> (rule5 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
((((triple16) -> (rule8 % int4)) ((((triple16 ((triple16) -> (rule8 % int4))) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
int4
Dave is cold.
("Dave" "is" "cold" "+")
triple15
((triple14 triple16) -> (rule7 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((((triple16 ((triple16) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
triple16
Dave is kind.
("Dave" "is" "kind" "+")
((triple16) -> (rule8 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
((triple16 ((triple16) -> (rule8 % int2))) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
((((triple16 ((triple16) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3