Anne is blue. Anne is furry. Anne is green. Anne is quiet. Erin is blue. Erin is furry. Erin is round. Fiona is green. Fiona is rough. Gary is blue. Gary is furry. Gary is round. If Fiona is rough then Fiona is furry. If something is furry and round then it is green. Furry things are blue. If something is blue then it is nice. All rough, blue things are furry. All blue, round things are furry.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is round.
("Erin" "is" "round" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is round.
("Gary" "is" "round" "+")
If Fiona is rough then Fiona is furry.
((("Fiona" "is" "rough" "+")) -> ("Fiona" "is" "furry" "+"))
If something is furry and round then it is green.
((("something" "is" "furry" "+") ("something" "is" "round" "+")) -> ("something" "is" "green" "+"))
Furry things are blue.
((("something" "is" "furry" "+")) -> ("something" "is" "blue" "+"))
If something is blue then it is nice.
((("something" "is" "blue" "+")) -> ("something" "is" "nice" "+"))
All rough, blue things are furry.
((("something" "is" "rough" "+") ("something" "is" "blue" "+")) -> ("something" "is" "furry" "+"))
All blue, round things are furry.
((("something" "is" "blue" "+") ("something" "is" "round" "+")) -> ("something" "is" "furry" "+"))
Anne is quiet.
True
1
proof
[(triple4)]
("Anne" "is" "quiet" "+")
triple4
Erin is not furry.
False
1
inv-proof
[(triple6 OR ((triple5 triple7) -> rule6))]
("Erin" "is" "furry" "-")
triple6
((triple5 triple7) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is nice.
True
2
proof
[(((triple5) -> rule4) OR ((((triple6) -> rule3)) -> rule4))]
("Erin" "is" "nice" "+")
((triple5) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((((triple6) -> (rule3 % int2))) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Fiona is not furry.
False
2
inv-proof
[(((triple9) -> rule1))]
("Fiona" "is" "furry" "-")
((triple9) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
True
3
proof
[(((((triple9) -> rule1)) -> rule3))]
("Fiona" "is" "blue" "+")
((((triple9) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is not blue.
False
3
inv-proof
[(((((triple9) -> rule1)) -> rule3))]
("Fiona" "is" "blue" "-")
((((triple9) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Anne is not round.
Unknown
inv-random
[@0: Anne is round.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "round" "-")
Anne is rough.
Unknown
random
[@0: Anne is rough.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "rough" "+")
Erin is not rough.
Unknown
inv-random
[@0: Erin is rough.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "rough" "-")
Gary is rough.
Unknown
random
[@0: Gary is rough.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "rough" "+")
Fiona is not quiet.
Unknown
inv-random
[@0: Fiona is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "quiet" "-")
Erin is quiet.
Unknown
random
[@0: Erin is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "quiet" "+")
@0: Anne is blue.[(triple1 OR ((triple2) -> rule3))] Anne is furry.[(triple2)] Anne is green.[(triple3)] Anne is quiet.[(triple4)] Erin is blue.[(triple5 OR ((triple6) -> rule3))] Erin is furry.[(triple6 OR ((triple5 triple7) -> rule6))] Erin is round.[(triple7)] Fiona is green.[(triple8)] Fiona is rough.[(triple9)] Gary is blue.[(triple10 OR ((triple11) -> rule3))] Gary is furry.[(triple11 OR ((triple10 triple12) -> rule6))] Gary is round.[(triple12)] @1: Anne is nice.[(((triple1) -> rule4) OR ((((triple2) -> rule3)) -> rule4))] Erin is green.[(((triple6 triple7) -> rule2) OR ((((triple5 triple7) -> rule6) triple7) -> rule2))] Erin is nice.[(((triple5) -> rule4) OR ((((triple6) -> rule3)) -> rule4))] Fiona is furry.[(((triple9) -> rule1))] Gary is green.[(((triple11 triple12) -> rule2) OR ((((triple10 triple12) -> rule6) triple12) -> rule2))] Gary is nice.[(((triple10) -> rule4) OR ((((triple11) -> rule3)) -> rule4))] @2: Fiona is blue.[(((((triple9) -> rule1)) -> rule3))] @3: Fiona is nice.[(((((((triple9) -> rule1)) -> rule3)) -> rule4))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
((triple2) -> (rule3 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
triple2
Anne is green.
("Anne" "is" "green" "+")
triple3
Anne is quiet.
("Anne" "is" "quiet" "+")
triple4
Erin is blue.
("Erin" "is" "blue" "+")
triple5
((triple6) -> (rule3 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
triple6
((triple5 triple7) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
triple7
Fiona is green.
("Fiona" "is" "green" "+")
triple8
Fiona is rough.
("Fiona" "is" "rough" "+")
triple9
Gary is blue.
("Gary" "is" "blue" "+")
triple10
((triple11) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
triple11
((triple10 triple12) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
triple12
Anne is nice.
("Anne" "is" "nice" "+")
((triple1) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((((triple2) -> (rule3 % int2))) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
((triple6 triple7) -> (rule2 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
((((triple5 triple7) -> (rule6 % int2)) triple7) -> (rule2 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
((triple5) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((((triple6) -> (rule3 % int2))) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple9) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
((triple11 triple12) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
((((triple10 triple12) -> (rule6 % int2)) triple12) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
((triple10) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((((triple11) -> (rule3 % int2))) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
((((triple9) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
((((((triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3