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