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