Anne is red. Anne is rough. Dave is big. Dave is green. Dave is red. Dave is rough. Gary is rough. All round, red things are big. Rough things are big. If something is big and red then it is green. If something is furry and green then it is rough. If something is green and red then it is furry. Big things are quiet.
Anne is red.
("Anne" "is" "red" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Gary is rough.
("Gary" "is" "rough" "+")
All round, red things are big.
((("something" "is" "round" "+") ("something" "is" "red" "+")) -> ("something" "is" "big" "+"))
Rough things are big.
((("something" "is" "rough" "+")) -> ("something" "is" "big" "+"))
If something is big and red then it is green.
((("something" "is" "big" "+") ("something" "is" "red" "+")) -> ("something" "is" "green" "+"))
If something is furry and green then it is rough.
((("something" "is" "furry" "+") ("something" "is" "green" "+")) -> ("something" "is" "rough" "+"))
If something is green and red then it is furry.
((("something" "is" "green" "+") ("something" "is" "red" "+")) -> ("something" "is" "furry" "+"))
Big things are quiet.
((("something" "is" "big" "+")) -> ("something" "is" "quiet" "+"))
Anne is red.
True
1
proof
[(triple1)]
("Anne" "is" "red" "+")
triple1
Gary is not rough.
False
1
inv-proof
[(triple7)]
("Gary" "is" "rough" "-")
triple7
Dave is quiet.
True
2
proof
[(((triple3) -> rule6) OR ((((triple6) -> rule2)) -> rule6) OR ((((((((triple4 triple5) -> rule5) triple4) -> rule4)) -> rule2)) -> rule6))]
("Dave" "is" "quiet" "+")
((triple3) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((((triple6) -> (rule2 % int2))) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
((((((((triple4 triple5) -> (rule5 % int4)) triple4) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Dave is not quiet.
False
2
inv-proof
[(((triple3) -> rule6) OR ((((triple6) -> rule2)) -> rule6) OR ((((((((triple4 triple5) -> rule5) triple4) -> rule4)) -> rule2)) -> rule6))]
("Dave" "is" "quiet" "-")
((triple3) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((((triple6) -> (rule2 % int2))) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
((((((((triple4 triple5) -> (rule5 % int4)) triple4) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Anne is quiet.
True
3
proof
[(((((triple2) -> rule2)) -> rule6))]
("Anne" "is" "quiet" "+")
((((triple2) -> (rule2 % int2))) -> (rule6 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is not green.
False
4
inv-proof
[(((((triple2) -> rule2) triple1) -> rule3))]
("Anne" "is" "green" "-")
((((triple2) -> (rule2 % int2)) triple1) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Gary is not furry.
Unknown
inv-rconc
[@1: Gary is furry.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Gary" "is" "furry" "-")
Gary is green.
Unknown
rconc
[@1: Gary is green.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Gary" "is" "green" "+")
Dave is not round.
Unknown
inv-random
[@0: Dave is round.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "round" "-")
Anne is round.
Unknown
random
[@0: Anne is round.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "round" "+")
Gary is not round.
Unknown
inv-random
[@0: Gary is round.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "round" "-")
Gary is red.
Unknown
random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "+")
@0: Anne is red.[(triple1)] Anne is rough.[(triple2)] Dave is big.[(triple3 OR ((triple6) -> rule2) OR ((((((triple4 triple5) -> rule5) triple4) -> rule4)) -> rule2))] Dave is green.[(triple4 OR ((triple3 triple5) -> rule3) OR ((((triple6) -> rule2) triple5) -> rule3))] Dave is red.[(triple5)] Dave is rough.[(triple6 OR ((((triple4 triple5) -> rule5) triple4) -> rule4) OR ((((triple4 triple5) -> rule5) ((triple3 triple5) -> rule3)) -> rule4) OR ((((((triple3 triple5) -> rule3) triple5) -> rule5) triple4) -> rule4) OR ((((((triple3 triple5) -> rule3) triple5) -> rule5) ((triple3 triple5) -> rule3)) -> rule4))] Gary is rough.[(triple7)] @1: Anne is big.[(((triple2) -> rule2))] Dave is furry.[(((triple4 triple5) -> rule5) OR ((((triple3 triple5) -> rule3) triple5) -> rule5) OR ((((((triple6) -> rule2) triple5) -> rule3) triple5) -> rule5))] Dave is quiet.[(((triple3) -> rule6) OR ((((triple6) -> rule2)) -> rule6) OR ((((((((triple4 triple5) -> rule5) triple4) -> rule4)) -> rule2)) -> rule6))] Gary is big.[(((triple7) -> rule2))] @2: Anne is green.[(((((triple2) -> rule2) triple1) -> rule3))] Anne is quiet.[(((((triple2) -> rule2)) -> rule6))] Gary is quiet.[(((((triple7) -> rule2)) -> rule6))] @3: Anne is furry.[(((((((triple2) -> rule2) triple1) -> rule3) triple1) -> rule5))]
Anne is red.
("Anne" "is" "red" "+")
triple1
Anne is rough.
("Anne" "is" "rough" "+")
triple2
Dave is big.
("Dave" "is" "big" "+")
triple3
((triple6) -> (rule2 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
((((((triple4 triple5) -> (rule5 % int3)) triple4) -> (rule4 % int2))) -> (rule2 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
triple4
((triple3 triple5) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
((((triple6) -> (rule2 % int2)) triple5) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
triple5
Dave is rough.
("Dave" "is" "rough" "+")
triple6
((((triple4 triple5) -> (rule5 % int2)) triple4) -> (rule4 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((((triple4 triple5) -> (rule5 % int3)) ((triple3 triple5) -> (rule3 % int2))) -> (rule4 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
((((((triple3 triple5) -> (rule3 % int3)) triple5) -> (rule5 % int2)) triple4) -> (rule4 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
((((((triple3 triple5) -> (rule3 % int3)) triple5) -> (rule5 % int2)) ((triple3 triple5) -> (rule3 % int3))) -> (rule4 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
triple7
Anne is big.
("Anne" "is" "big" "+")
((triple2) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
((triple4 triple5) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((((triple3 triple5) -> (rule3 % int2)) triple5) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
((((((triple6) -> (rule2 % int3)) triple5) -> (rule3 % int2)) triple5) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
((triple3) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((((triple6) -> (rule2 % int2))) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
((((((((triple4 triple5) -> (rule5 % int4)) triple4) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Gary is big.
("Gary" "is" "big" "+")
((triple7) -> (rule2 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
((((triple2) -> (rule2 % int2)) triple1) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
((((triple2) -> (rule2 % int2))) -> (rule6 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
((((triple7) -> (rule2 % int2))) -> (rule6 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
((((((triple2) -> (rule2 % int3)) triple1) -> (rule3 % int2)) triple1) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3