Anne is green. Dave is big. Dave is cold. Dave is quiet. Dave is red. Fiona is big. Fiona is cold. Fiona is furry. Fiona is green. Fiona is quiet. Fiona is red. Fiona is round. Green things are red. If something is red then it is furry. If Dave is cold then Dave is furry. Red, cold things are furry. If something is quiet then it is furry. If something is round and green then it is red. If Anne is furry and Anne is red then Anne is round. Big, round things are furry.
Anne is green.
("Anne" "is" "green" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is red.
("Dave" "is" "red" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Green things are red.
((("something" "is" "green" "+")) -> ("something" "is" "red" "+"))
If something is red then it is furry.
((("something" "is" "red" "+")) -> ("something" "is" "furry" "+"))
If Dave is cold then Dave is furry.
((("Dave" "is" "cold" "+")) -> ("Dave" "is" "furry" "+"))
Red, cold things are furry.
((("something" "is" "red" "+") ("something" "is" "cold" "+")) -> ("something" "is" "furry" "+"))
If something is quiet then it is furry.
((("something" "is" "quiet" "+")) -> ("something" "is" "furry" "+"))
If something is round and green then it is red.
((("something" "is" "round" "+") ("something" "is" "green" "+")) -> ("something" "is" "red" "+"))
If Anne is furry and Anne is red then Anne is round.
((("Anne" "is" "furry" "+") ("Anne" "is" "red" "+")) -> ("Anne" "is" "round" "+"))
Big, round things are furry.
((("something" "is" "big" "+") ("something" "is" "round" "+")) -> ("something" "is" "furry" "+"))
Anne is green.
True
1
proof
[(triple1)]
("Anne" "is" "green" "+")
triple1
Anne is not green.
False
1
inv-proof
[(triple1)]
("Anne" "is" "green" "-")
triple1
Dave is furry.
True
2
proof
[(((triple3) -> rule3) OR ((triple4) -> rule5) OR ((triple5) -> rule2) OR ((triple5 triple3) -> rule4))]
("Dave" "is" "furry" "+")
((triple3) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple4) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple5) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple5 triple3) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is not furry.
False
2
inv-proof
[(((triple3) -> rule3) OR ((triple4) -> rule5) OR ((triple5) -> rule2) OR ((triple5 triple3) -> rule4))]
("Dave" "is" "furry" "-")
((triple3) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple4) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple5) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple5 triple3) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Anne is furry.
True
3
proof
[(((((triple1) -> rule1)) -> rule2))]
("Anne" "is" "furry" "+")
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is not furry.
False
3
inv-proof
[(((((triple1) -> rule1)) -> rule2))]
("Anne" "is" "furry" "-")
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is round.
True
6
proof
[(((((((triple1) -> rule1)) -> rule2) ((triple1) -> rule1)) -> rule7))]
("Anne" "is" "round" "+")
((((((triple1) -> (rule1 % int3))) -> (rule2 % int2)) ((triple1) -> (rule1 % int3))) -> (rule7 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is not round.
False
6
inv-proof
[(((((((triple1) -> rule1)) -> rule2) ((triple1) -> rule1)) -> rule7))]
("Anne" "is" "round" "-")
((((((triple1) -> (rule1 % int3))) -> (rule2 % int2)) ((triple1) -> (rule1 % int3))) -> (rule7 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is not quiet.
Unknown
inv-random
[@0: Anne is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "quiet" "-")
Dave is round.
Unknown
random
[@0: Dave is round.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "round" "+")
Anne is not big.
Unknown
inv-random
[@0: Anne is big.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "big" "-")
Dave is green.
Unknown
random
[@0: Dave is green.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "green" "+")
@0: Anne is green.[(triple1)] Dave is big.[(triple2)] Dave is cold.[(triple3)] Dave is quiet.[(triple4)] Dave is red.[(triple5)] Fiona is big.[(triple6)] Fiona is cold.[(triple7)] Fiona is furry.[(triple8 OR ((triple10) -> rule5) OR ((triple11) -> rule2) OR ((triple11 triple7) -> rule4) OR ((triple6 triple12) -> rule8) OR ((((triple9) -> rule1)) -> rule2) OR ((((triple12 triple9) -> rule6)) -> rule2) OR ((((triple9) -> rule1) triple7) -> rule4) OR ((((triple12 triple9) -> rule6) triple7) -> rule4))] Fiona is green.[(triple9)] Fiona is quiet.[(triple10)] Fiona is red.[(triple11 OR ((triple9) -> rule1) OR ((triple12 triple9) -> rule6))] Fiona is round.[(triple12)] @1: Anne is red.[(((triple1) -> rule1))] Dave is furry.[(((triple3) -> rule3) OR ((triple4) -> rule5) OR ((triple5) -> rule2) OR ((triple5 triple3) -> rule4))] @2: Anne is furry.[(((((triple1) -> rule1)) -> rule2))] @3: Anne is round.[(((((((triple1) -> rule1)) -> rule2) ((triple1) -> rule1)) -> rule7))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Dave is big.
("Dave" "is" "big" "+")
triple2
Dave is cold.
("Dave" "is" "cold" "+")
triple3
Dave is quiet.
("Dave" "is" "quiet" "+")
triple4
Dave is red.
("Dave" "is" "red" "+")
triple5
Fiona is big.
("Fiona" "is" "big" "+")
triple6
Fiona is cold.
("Fiona" "is" "cold" "+")
triple7
Fiona is furry.
("Fiona" "is" "furry" "+")
triple8
((triple10) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple11) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple11 triple7) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple6 triple12) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple9) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((triple12 triple9) -> (rule6 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((triple9) -> (rule1 % int2)) triple7) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((triple12 triple9) -> (rule6 % int2)) triple7) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
triple9
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple10
Fiona is red.
("Fiona" "is" "red" "+")
triple11
((triple9) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((triple12 triple9) -> (rule6 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
triple12
Anne is red.
("Anne" "is" "red" "+")
((triple1) -> (rule1 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
((triple3) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple4) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple5) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple5 triple3) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
((((((triple1) -> (rule1 % int3))) -> (rule2 % int2)) ((triple1) -> (rule1 % int3))) -> (rule7 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3