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