Anne is blue. Anne is quiet. Anne is white. Bob is quiet. Charlie is quiet. Gary is cold. Gary is round. If someone is blue then they are round. If Anne is round then Anne is rough. If Anne is blue and Anne is white then Anne is big. If Anne is blue and Anne is rough then Anne is cold. If someone is blue then they are big. All quiet, rough people are white.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is white.
("Anne" "is" "white" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is round.
("Gary" "is" "round" "+")
If someone is blue then they are round.
((("someone" "is" "blue" "+")) -> ("someone" "is" "round" "+"))
If Anne is round then Anne is rough.
((("Anne" "is" "round" "+")) -> ("Anne" "is" "rough" "+"))
If Anne is blue and Anne is white then Anne is big.
((("Anne" "is" "blue" "+") ("Anne" "is" "white" "+")) -> ("Anne" "is" "big" "+"))
If Anne is blue and Anne is rough then Anne is cold.
((("Anne" "is" "blue" "+") ("Anne" "is" "rough" "+")) -> ("Anne" "is" "cold" "+"))
If someone is blue then they are big.
((("someone" "is" "blue" "+")) -> ("someone" "is" "big" "+"))
All quiet, rough people are white.
((("someone" "is" "quiet" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "white" "+"))
Anne is white.
True
1
proof
[(triple3 OR ((triple2 ((((triple1) -> rule1)) -> rule2)) -> rule6))]
("Anne" "is" "white" "+")
triple3
((triple2 ((((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is not blue.
False
1
inv-proof
[(triple1)]
("Anne" "is" "blue" "-")
triple1
Anne is round.
True
2
proof
[(((triple1) -> rule1))]
("Anne" "is" "round" "+")
((triple1) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is not round.
False
2
inv-proof
[(((triple1) -> rule1))]
("Anne" "is" "round" "-")
((triple1) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is rough.
True
3
proof
[(((((triple1) -> rule1)) -> rule2))]
("Anne" "is" "rough" "+")
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is not rough.
False
3
inv-proof
[(((((triple1) -> rule1)) -> rule2))]
("Anne" "is" "rough" "-")
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is cold.
True
5
proof
[(((triple1 ((((triple1) -> rule1)) -> rule2)) -> rule4))]
("Anne" "is" "cold" "+")
((triple1 ((((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is not cold.
False
5
inv-proof
[(((triple1 ((((triple1) -> rule1)) -> rule2)) -> rule4))]
("Anne" "is" "cold" "-")
((triple1 ((((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Bob is not round.
Unknown
inv-rconc
[@1: Bob is round.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "round" "-")
Bob is big.
Unknown
rconc
[@1: Bob is big.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Bob" "is" "big" "+")
Charlie is not white.
Unknown
inv-rconc
[@1: Charlie is white.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Charlie" "is" "white" "-")
Gary is white.
Unknown
rconc
[@1: Gary is white.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Gary" "is" "white" "+")
Gary is not blue.
Unknown
inv-random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "-")
Charlie is blue.
Unknown
random
[@0: Charlie is blue.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "blue" "+")
Bob is not rough.
Unknown
inv-random
[@0: Bob is rough.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "rough" "-")
Charlie is cold.
Unknown
random
[@0: Charlie is cold.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "cold" "+")
@0: Anne is blue.[(triple1)] Anne is quiet.[(triple2)] Anne is white.[(triple3 OR ((triple2 ((((triple1) -> rule1)) -> rule2)) -> rule6))] Bob is quiet.[(triple4)] Charlie is quiet.[(triple5)] Gary is cold.[(triple6)] Gary is round.[(triple7)] @1: Anne is big.[(((triple1) -> rule5) OR ((triple1 triple3) -> rule3) OR ((triple1 ((triple2 ((((triple1) -> rule1)) -> rule2)) -> rule6)) -> rule3))] Anne is round.[(((triple1) -> rule1))] @2: Anne is rough.[(((((triple1) -> rule1)) -> rule2))] @3: Anne is cold.[(((triple1 ((((triple1) -> rule1)) -> rule2)) -> rule4))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is quiet.
("Anne" "is" "quiet" "+")
triple2
Anne is white.
("Anne" "is" "white" "+")
triple3
((triple2 ((((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple5
Gary is cold.
("Gary" "is" "cold" "+")
triple6
Gary is round.
("Gary" "is" "round" "+")
triple7
Anne is big.
("Anne" "is" "big" "+")
((triple1) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((triple1 triple3) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((triple1 ((triple2 ((((triple1) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Anne is round.
("Anne" "is" "round" "+")
int4
Anne is round.
("Anne" "is" "round" "+")
((triple1) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
((triple1 ((((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3