Anne is big. Anne is red. Anne is smart. Anne is young. Bob is big. Bob is cold. Bob is red. Bob is smart. Bob is white. Charlie is big. Charlie is cold. Charlie is green. Charlie is red. Charlie is smart. Charlie is white. Charlie is young. All red, smart people are big. Cold, big people are red. All red people are big. Smart, red people are young. If someone is smart then they are young. Young, white people are red. All red people are big. If someone is young then they are green.
Anne is big.
("Anne" "is" "big" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is young.
("Anne" "is" "young" "+")
Bob is big.
("Bob" "is" "big" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is white.
("Bob" "is" "white" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
All red, smart people are big.
((("someone" "is" "red" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "big" "+"))
Cold, big people are red.
((("someone" "is" "cold" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "red" "+"))
All red people are big.
((("someone" "is" "red" "+")) -> ("someone" "is" "big" "+"))
Smart, red people are young.
((("someone" "is" "smart" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "young" "+"))
If someone is smart then they are young.
((("someone" "is" "smart" "+")) -> ("someone" "is" "young" "+"))
Young, white people are red.
((("someone" "is" "young" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "red" "+"))
All red people are big.
((("someone" "is" "red" "+")) -> ("someone" "is" "big" "+"))
If someone is young then they are green.
((("someone" "is" "young" "+")) -> ("someone" "is" "green" "+"))
Charlie is big.
True
1
proof
[(triple10 OR ((triple13) -> rule3) OR ((triple13) -> rule7) OR ((triple13 triple14) -> rule1) OR ((((triple16 triple15) -> rule6)) -> rule3) OR ((((triple16 triple15) -> rule6)) -> rule7) OR ((((triple16 triple15) -> rule6) triple14) -> rule1) OR ((((((triple14) -> rule5) triple15) -> rule6)) -> rule3) OR ((((((triple14) -> rule5) triple15) -> rule6)) -> rule7) OR ((((((triple14) -> rule5) triple15) -> rule6) triple14) -> rule1))]
("Charlie" "is" "big" "+")
triple10
((triple13) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((triple13) -> (rule7 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((triple13 triple14) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((((triple16 triple15) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((((triple16 triple15) -> (rule6 % int2))) -> (rule7 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((((triple16 triple15) -> (rule6 % int2)) triple14) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((((((triple14) -> (rule5 % int3)) triple15) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
((((((triple14) -> (rule5 % int3)) triple15) -> (rule6 % int2))) -> (rule7 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
((((((triple14) -> (rule5 % int3)) triple15) -> (rule6 % int2)) triple14) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is not red.
False
1
inv-proof
[(triple13 OR ((triple11 triple10) -> rule2) OR ((triple16 triple15) -> rule6) OR ((((triple14) -> rule5) triple15) -> rule6))]
("Charlie" "is" "red" "-")
triple13
((triple11 triple10) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple16 triple15) -> (rule6 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((((triple14) -> (rule5 % int2)) triple15) -> (rule6 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Anne is green.
True
2
proof
[(((triple4) -> rule8) OR ((((triple3) -> rule5)) -> rule8) OR ((((triple3 triple2) -> rule4)) -> rule8))]
("Anne" "is" "green" "+")
((triple4) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((((triple3) -> (rule5 % int2))) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
((((triple3 triple2) -> (rule4 % int2))) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is not green.
False
2
inv-proof
[(((triple4) -> rule8) OR ((((triple3) -> rule5)) -> rule8) OR ((((triple3 triple2) -> rule4)) -> rule8))]
("Anne" "is" "green" "-")
((triple4) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((((triple3) -> (rule5 % int2))) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
((((triple3 triple2) -> (rule4 % int2))) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Bob is green.
True
3
proof
[(((((triple8) -> rule5)) -> rule8) OR ((((triple8 triple7) -> rule4)) -> rule8) OR ((((triple8 ((triple6 triple5) -> rule2)) -> rule4)) -> rule8))]
("Bob" "is" "green" "+")
((((triple8) -> (rule5 % int2))) -> (rule8 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple8 triple7) -> (rule4 % int2))) -> (rule8 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple8 ((triple6 triple5) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is not green.
False
3
inv-proof
[(((((triple8) -> rule5)) -> rule8) OR ((((triple8 triple7) -> rule4)) -> rule8) OR ((((triple8 ((triple6 triple5) -> rule2)) -> rule4)) -> rule8))]
("Bob" "is" "green" "-")
((((triple8) -> (rule5 % int2))) -> (rule8 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple8 triple7) -> (rule4 % int2))) -> (rule8 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple8 ((triple6 triple5) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Anne is not white.
Unknown
inv-random
[@0: Anne is white.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "white" "-")
Anne is cold.
Unknown
random
[@0: Anne is cold.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "cold" "+")
@0: Anne is big.[(triple1 OR ((triple2) -> rule3) OR ((triple2) -> rule7) OR ((triple2 triple3) -> rule1))] Anne is red.[(triple2)] Anne is smart.[(triple3)] Anne is young.[(triple4 OR ((triple3) -> rule5) OR ((triple3 triple2) -> rule4))] Bob is big.[(triple5 OR ((triple7) -> rule3) OR ((triple7) -> rule7) OR ((triple7 triple8) -> rule1) OR ((((((triple8) -> rule5) triple9) -> rule6)) -> rule3) OR ((((((triple8) -> rule5) triple9) -> rule6)) -> rule7) OR ((((((triple8) -> rule5) triple9) -> rule6) triple8) -> rule1))] Bob is cold.[(triple6)] Bob is red.[(triple7 OR ((triple6 triple5) -> rule2) OR ((((triple8) -> rule5) triple9) -> rule6))] Bob is smart.[(triple8)] Bob is white.[(triple9)] Charlie is big.[(triple10 OR ((triple13) -> rule3) OR ((triple13) -> rule7) OR ((triple13 triple14) -> rule1) OR ((((triple16 triple15) -> rule6)) -> rule3) OR ((((triple16 triple15) -> rule6)) -> rule7) OR ((((triple16 triple15) -> rule6) triple14) -> rule1) OR ((((((triple14) -> rule5) triple15) -> rule6)) -> rule3) OR ((((((triple14) -> rule5) triple15) -> rule6)) -> rule7) OR ((((((triple14) -> rule5) triple15) -> rule6) triple14) -> rule1))] Charlie is cold.[(triple11)] Charlie is green.[(triple12 OR ((triple16) -> rule8) OR ((((triple14) -> rule5)) -> rule8) OR ((((triple14 triple13) -> rule4)) -> rule8) OR ((((triple14 ((triple11 triple10) -> rule2)) -> rule4)) -> rule8))] Charlie is red.[(triple13 OR ((triple11 triple10) -> rule2) OR ((triple16 triple15) -> rule6) OR ((((triple14) -> rule5) triple15) -> rule6))] Charlie is smart.[(triple14)] Charlie is white.[(triple15)] Charlie is young.[(triple16 OR ((triple14) -> rule5) OR ((triple14 triple13) -> rule4) OR ((triple14 ((triple11 triple10) -> rule2)) -> rule4))] @1: Anne is green.[(((triple4) -> rule8) OR ((((triple3) -> rule5)) -> rule8) OR ((((triple3 triple2) -> rule4)) -> rule8))] Bob is young.[(((triple8) -> rule5) OR ((triple8 triple7) -> rule4) OR ((triple8 ((triple6 triple5) -> rule2)) -> rule4))] @2: Bob is green.[(((((triple8) -> rule5)) -> rule8) OR ((((triple8 triple7) -> rule4)) -> rule8) OR ((((triple8 ((triple6 triple5) -> rule2)) -> rule4)) -> rule8))]
Anne is big.
("Anne" "is" "big" "+")
triple1
((triple2) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((triple2) -> (rule7 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((triple2 triple3) -> (rule1 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
triple2
Anne is smart.
("Anne" "is" "smart" "+")
triple3
Anne is young.
("Anne" "is" "young" "+")
triple4
((triple3) -> (rule5 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
((triple3 triple2) -> (rule4 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
triple5
((triple7) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple7) -> (rule7 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple7 triple8) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((((((triple8) -> (rule5 % int3)) triple9) -> (rule6 % int2))) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
((((((triple8) -> (rule5 % int3)) triple9) -> (rule6 % int2))) -> (rule7 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
((((((triple8) -> (rule5 % int3)) triple9) -> (rule6 % int2)) triple8) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
triple6
Bob is red.
("Bob" "is" "red" "+")
triple7
((triple6 triple5) -> (rule2 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((((triple8) -> (rule5 % int2)) triple9) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
triple8
Bob is white.
("Bob" "is" "white" "+")
triple9
Charlie is big.
("Charlie" "is" "big" "+")
triple10
((triple13) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((triple13) -> (rule7 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((triple13 triple14) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((((triple16 triple15) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((((triple16 triple15) -> (rule6 % int2))) -> (rule7 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((((triple16 triple15) -> (rule6 % int2)) triple14) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((((((triple14) -> (rule5 % int3)) triple15) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
((((((triple14) -> (rule5 % int3)) triple15) -> (rule6 % int2))) -> (rule7 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
((((((triple14) -> (rule5 % int3)) triple15) -> (rule6 % int2)) triple14) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
triple11
Charlie is green.
("Charlie" "is" "green" "+")
triple12
((triple16) -> (rule8 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
((((triple14) -> (rule5 % int2))) -> (rule8 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((triple14 triple13) -> (rule4 % int2))) -> (rule8 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((triple14 ((triple11 triple10) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
triple13
((triple11 triple10) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple16 triple15) -> (rule6 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((((triple14) -> (rule5 % int2)) triple15) -> (rule6 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
triple14
Charlie is white.
("Charlie" "is" "white" "+")
triple15
Charlie is young.
("Charlie" "is" "young" "+")
triple16
((triple14) -> (rule5 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((triple14 triple13) -> (rule4 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((triple14 ((triple11 triple10) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
((triple4) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((((triple3) -> (rule5 % int2))) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
((((triple3 triple2) -> (rule4 % int2))) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
((triple8) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((triple8 triple7) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((triple8 ((triple6 triple5) -> (rule2 % int2))) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
((((triple8) -> (rule5 % int2))) -> (rule8 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple8 triple7) -> (rule4 % int2))) -> (rule8 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple8 ((triple6 triple5) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3