Anne is quiet. Charlie is cold. Charlie is red. Fiona is green. Fiona is red. Gary is cold. Gary is quiet. If something is cold then it is blue. If something is blue then it is green. All red, round things are cold. If something is green then it is round. All quiet things are red. If Anne is red then Anne is round.
Anne is quiet.
("Anne" "is" "quiet" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
If something is cold then it is blue.
((("something" "is" "cold" "+")) -> ("something" "is" "blue" "+"))
If something is blue then it is green.
((("something" "is" "blue" "+")) -> ("something" "is" "green" "+"))
All red, round things are cold.
((("something" "is" "red" "+") ("something" "is" "round" "+")) -> ("something" "is" "cold" "+"))
If something is green then it is round.
((("something" "is" "green" "+")) -> ("something" "is" "round" "+"))
All quiet things are red.
((("something" "is" "quiet" "+")) -> ("something" "is" "red" "+"))
If Anne is red then Anne is round.
((("Anne" "is" "red" "+")) -> ("Anne" "is" "round" "+"))
Gary is quiet.
True
1
proof
[(triple7)]
("Gary" "is" "quiet" "+")
triple7
Fiona is not red.
False
1
inv-proof
[(triple5)]
("Fiona" "is" "red" "-")
triple5
Charlie is blue.
True
2
proof
[(((triple2) -> rule1))]
("Charlie" "is" "blue" "+")
((triple2) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Fiona is not round.
False
2
inv-proof
[(((triple4) -> rule4))]
("Fiona" "is" "round" "-")
((triple4) -> (rule4 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is cold.
True
4
proof
[(((triple5 ((triple4) -> rule4)) -> rule3))]
("Fiona" "is" "cold" "+")
((triple5 ((triple4) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Gary is not green.
False
3
inv-proof
[(((((triple6) -> rule1)) -> rule2))]
("Gary" "is" "green" "-")
((((triple6) -> (rule1 % int2))) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Anne is cold.
True
6
proof
[(((((triple1) -> rule5) ((((triple1) -> rule5)) -> rule6)) -> rule3))]
("Anne" "is" "cold" "+")
((((triple1) -> (rule5 % int3)) ((((triple1) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Charlie is not round.
False
4
inv-proof
[(((((((triple2) -> rule1)) -> rule2)) -> rule4))]
("Charlie" "is" "round" "-")
((((((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Anne is blue.
True
7
proof
[(((((((triple1) -> rule5) ((((triple1) -> rule5)) -> rule6)) -> rule3)) -> rule1))]
("Anne" "is" "blue" "+")
((((((triple1) -> (rule5 % int4)) ((((triple1) -> (rule5 % int4))) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Anne is not blue.
False
7
inv-proof
[(((((((triple1) -> rule5) ((((triple1) -> rule5)) -> rule6)) -> rule3)) -> rule1))]
("Anne" "is" "blue" "-")
((((((triple1) -> (rule5 % int4)) ((((triple1) -> (rule5 % int4))) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Anne is green.
True
8
proof
[(((((((((triple1) -> rule5) ((((triple1) -> rule5)) -> rule6)) -> rule3)) -> rule1)) -> rule2))]
("Anne" "is" "green" "+")
((((((((triple1) -> (rule5 % int5)) ((((triple1) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is round.
("Anne" "is" "round" "+")
int4
Anne is red.
("Anne" "is" "red" "+")
int5
Anne is not green.
False
8
inv-proof
[(((((((((triple1) -> rule5) ((((triple1) -> rule5)) -> rule6)) -> rule3)) -> rule1)) -> rule2))]
("Anne" "is" "green" "-")
((((((((triple1) -> (rule5 % int5)) ((((triple1) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is round.
("Anne" "is" "round" "+")
int4
Anne is red.
("Anne" "is" "red" "+")
int5
Anne is not rough.
Unknown
inv-random
[@0: Anne is rough.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "rough" "-")
Charlie is rough.
Unknown
random
[@0: Charlie is rough.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "rough" "+")
Charlie is not quiet.
Unknown
inv-random
[@0: Charlie is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "quiet" "-")
Fiona is quiet.
Unknown
random
[@0: Fiona is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "quiet" "+")
Gary is not rough.
Unknown
inv-random
[@0: Gary is rough.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "rough" "-")
Fiona is rough.
Unknown
random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "+")
@0: Anne is quiet.[(triple1)] Charlie is cold.[(triple2)] Charlie is red.[(triple3)] Fiona is green.[(triple4)] Fiona is red.[(triple5)] Gary is cold.[(triple6)] Gary is quiet.[(triple7)] @1: Anne is red.[(((triple1) -> rule5))] Charlie is blue.[(((triple2) -> rule1))] Fiona is round.[(((triple4) -> rule4))] Gary is blue.[(((triple6) -> rule1))] Gary is red.[(((triple7) -> rule5))] @2: Anne is round.[(((((triple1) -> rule5)) -> rule6))] Charlie is green.[(((((triple2) -> rule1)) -> rule2))] Fiona is cold.[(((triple5 ((triple4) -> rule4)) -> rule3))] Gary is green.[(((((triple6) -> rule1)) -> rule2))] @3: Anne is cold.[(((((triple1) -> rule5) ((((triple1) -> rule5)) -> rule6)) -> rule3))] Charlie is round.[(((((((triple2) -> rule1)) -> rule2)) -> rule4))] Fiona is blue.[(((((triple5 ((triple4) -> rule4)) -> rule3)) -> rule1))] Gary is round.[(((((((triple6) -> rule1)) -> rule2)) -> rule4))] @4: Anne is blue.[(((((((triple1) -> rule5) ((((triple1) -> rule5)) -> rule6)) -> rule3)) -> rule1))] @5: Anne is green.[(((((((((triple1) -> rule5) ((((triple1) -> rule5)) -> rule6)) -> rule3)) -> rule1)) -> rule2))]
Anne is quiet.
("Anne" "is" "quiet" "+")
triple1
Charlie is cold.
("Charlie" "is" "cold" "+")
triple2
Charlie is red.
("Charlie" "is" "red" "+")
triple3
Fiona is green.
("Fiona" "is" "green" "+")
triple4
Fiona is red.
("Fiona" "is" "red" "+")
triple5
Gary is cold.
("Gary" "is" "cold" "+")
triple6
Gary is quiet.
("Gary" "is" "quiet" "+")
triple7
Anne is red.
("Anne" "is" "red" "+")
((triple1) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple2) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((triple4) -> (rule4 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
((triple6) -> (rule1 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
((triple7) -> (rule5 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
((((triple1) -> (rule5 % int2))) -> (rule6 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
((((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
((triple5 ((triple4) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
((((triple6) -> (rule1 % int2))) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
((((triple1) -> (rule5 % int3)) ((((triple1) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
((((((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
((((triple5 ((triple4) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
((((((triple6) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
((((((triple1) -> (rule5 % int4)) ((((triple1) -> (rule5 % int4))) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
((((((((triple1) -> (rule5 % int5)) ((((triple1) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is round.
("Anne" "is" "round" "+")
int4
Anne is red.
("Anne" "is" "red" "+")
int5