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