Anne is kind. Anne is rough. Anne is round. Bob is blue. Bob is kind. Bob is rough. Dave is blue. Dave is cold. Dave is furry. Dave is kind. Dave is rough. Dave is round. Erin is furry. Erin is kind. Erin is round. Rough people are blue. Kind people are rough. All kind, quiet people are round. If Erin is blue and Erin is rough then Erin is cold. All rough, blue people are furry. All rough people are furry.
Anne is kind.
("Anne" "is" "kind" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is round.
("Anne" "is" "round" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is round.
("Dave" "is" "round" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is round.
("Erin" "is" "round" "+")
Rough people are blue.
((("someone" "is" "rough" "+")) -> ("someone" "is" "blue" "+"))
Kind people are rough.
((("someone" "is" "kind" "+")) -> ("someone" "is" "rough" "+"))
All kind, quiet people are round.
((("someone" "is" "kind" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "round" "+"))
If Erin is blue and Erin is rough then Erin is cold.
((("Erin" "is" "blue" "+") ("Erin" "is" "rough" "+")) -> ("Erin" "is" "cold" "+"))
All rough, blue people are furry.
((("someone" "is" "rough" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
All rough people are furry.
((("someone" "is" "rough" "+")) -> ("someone" "is" "furry" "+"))
Dave is furry.
True
1
proof
[(triple9 OR ((triple11) -> rule6) OR ((triple11 triple7) -> rule5) OR ((((triple10) -> rule2)) -> rule6) OR ((triple11 ((triple11) -> rule1)) -> rule5) OR ((((triple10) -> rule2) triple7) -> rule5) OR ((((triple10) -> rule2) ((triple11) -> rule1)) -> rule5) OR ((triple11 ((((triple10) -> rule2)) -> rule1)) -> rule5) OR ((((triple10) -> rule2) ((((triple10) -> rule2)) -> rule1)) -> rule5))]
("Dave" "is" "furry" "+")
triple9
((triple11) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple11 triple7) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((((triple10) -> (rule2 % int2))) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((triple11 ((triple11) -> (rule1 % int2))) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple10) -> (rule2 % int2)) triple7) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((((triple10) -> (rule2 % int3)) ((triple11) -> (rule1 % int2))) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((triple11 ((((triple10) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((((triple10) -> (rule2 % int3)) ((((triple10) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Erin is not kind.
False
1
inv-proof
[(triple14)]
("Erin" "is" "kind" "-")
triple14
Anne is furry.
True
2
proof
[(((triple2) -> rule6) OR ((((triple1) -> rule2)) -> rule6) OR ((triple2 ((triple2) -> rule1)) -> rule5) OR ((((triple1) -> rule2) ((triple2) -> rule1)) -> rule5) OR ((triple2 ((((triple1) -> rule2)) -> rule1)) -> rule5) OR ((((triple1) -> rule2) ((((triple1) -> rule2)) -> rule1)) -> rule5))]
("Anne" "is" "furry" "+")
((triple2) -> (rule6 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((((triple1) -> (rule2 % int2))) -> (rule6 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
((triple2 ((triple2) -> (rule1 % int2))) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple1) -> (rule2 % int3)) ((triple2) -> (rule1 % int2))) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
((triple2 ((((triple1) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
((((triple1) -> (rule2 % int3)) ((((triple1) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Erin is not rough.
False
2
inv-proof
[(((triple14) -> rule2))]
("Erin" "is" "rough" "-")
((triple14) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is blue.
True
3
proof
[(((((triple14) -> rule2)) -> rule1))]
("Erin" "is" "blue" "+")
((((triple14) -> (rule2 % int2))) -> (rule1 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is not blue.
False
3
inv-proof
[(((((triple14) -> rule2)) -> rule1))]
("Erin" "is" "blue" "-")
((((triple14) -> (rule2 % int2))) -> (rule1 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is cold.
True
6
proof
[(((((((triple14) -> rule2)) -> rule1) ((triple14) -> rule2)) -> rule4))]
("Erin" "is" "cold" "+")
((((((triple14) -> (rule2 % int3))) -> (rule1 % int2)) ((triple14) -> (rule2 % int3))) -> (rule4 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is not cold.
False
6
inv-proof
[(((((((triple14) -> rule2)) -> rule1) ((triple14) -> rule2)) -> rule4))]
("Erin" "is" "cold" "-")
((((((triple14) -> (rule2 % int3))) -> (rule1 % int2)) ((triple14) -> (rule2 % int3))) -> (rule4 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Bob is not round.
Unknown
inv-rconc
[@1: Bob is round.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Bob" "is" "round" "-")
Erin is quiet.
Unknown
random
[@0: Erin is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "quiet" "+")
Dave is not quiet.
Unknown
inv-random
[@0: Dave is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "quiet" "-")
Bob is cold.
Unknown
random
[@0: Bob is cold.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "cold" "+")
Bob is not quiet.
Unknown
inv-random
[@0: Bob is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "quiet" "-")
Anne is cold.
Unknown
random
[@0: Anne is cold.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "cold" "+")
@0: Anne is kind.[(triple1)] Anne is rough.[(triple2 OR ((triple1) -> rule2))] Anne is round.[(triple3)] Bob is blue.[(triple4 OR ((triple6) -> rule1) OR ((((triple5) -> rule2)) -> rule1))] Bob is kind.[(triple5)] Bob is rough.[(triple6 OR ((triple5) -> rule2))] Dave is blue.[(triple7 OR ((triple11) -> rule1) OR ((((triple10) -> rule2)) -> rule1))] Dave is cold.[(triple8)] Dave is furry.[(triple9 OR ((triple11) -> rule6) OR ((triple11 triple7) -> rule5) OR ((((triple10) -> rule2)) -> rule6) OR ((triple11 ((triple11) -> rule1)) -> rule5) OR ((((triple10) -> rule2) triple7) -> rule5) OR ((((triple10) -> rule2) ((triple11) -> rule1)) -> rule5) OR ((triple11 ((((triple10) -> rule2)) -> rule1)) -> rule5) OR ((((triple10) -> rule2) ((((triple10) -> rule2)) -> rule1)) -> rule5))] Dave is kind.[(triple10)] Dave is rough.[(triple11 OR ((triple10) -> rule2))] Dave is round.[(triple12)] Erin is furry.[(triple13 OR ((((triple14) -> rule2)) -> rule6) OR ((((triple14) -> rule2) ((((triple14) -> rule2)) -> rule1)) -> rule5))] Erin is kind.[(triple14)] Erin is round.[(triple15)] @1: Anne is blue.[(((triple2) -> rule1) OR ((((triple1) -> rule2)) -> rule1))] Anne is furry.[(((triple2) -> rule6) OR ((((triple1) -> rule2)) -> rule6) OR ((triple2 ((triple2) -> rule1)) -> rule5) OR ((((triple1) -> rule2) ((triple2) -> rule1)) -> rule5) OR ((triple2 ((((triple1) -> rule2)) -> rule1)) -> rule5) OR ((((triple1) -> rule2) ((((triple1) -> rule2)) -> rule1)) -> rule5))] Bob is furry.[(((triple6) -> rule6) OR ((triple6 triple4) -> rule5) OR ((((triple5) -> rule2)) -> rule6) OR ((triple6 ((triple6) -> rule1)) -> rule5) OR ((((triple5) -> rule2) triple4) -> rule5) OR ((((triple5) -> rule2) ((triple6) -> rule1)) -> rule5) OR ((triple6 ((((triple5) -> rule2)) -> rule1)) -> rule5) OR ((((triple5) -> rule2) ((((triple5) -> rule2)) -> rule1)) -> rule5))] Erin is rough.[(((triple14) -> rule2))] @2: Erin is blue.[(((((triple14) -> rule2)) -> rule1))] @3: Erin is cold.[(((((((triple14) -> rule2)) -> rule1) ((triple14) -> rule2)) -> rule4))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Anne is rough.
("Anne" "is" "rough" "+")
triple2
((triple1) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
triple3
Bob is blue.
("Bob" "is" "blue" "+")
triple4
((triple6) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple5) -> (rule2 % int2))) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
triple5
Bob is rough.
("Bob" "is" "rough" "+")
triple6
((triple5) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
triple7
((triple11) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((((triple10) -> (rule2 % int2))) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
triple8
Dave is furry.
("Dave" "is" "furry" "+")
triple9
((triple11) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple11 triple7) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((((triple10) -> (rule2 % int2))) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((triple11 ((triple11) -> (rule1 % int2))) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple10) -> (rule2 % int2)) triple7) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((((triple10) -> (rule2 % int3)) ((triple11) -> (rule1 % int2))) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((triple11 ((((triple10) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((((triple10) -> (rule2 % int3)) ((((triple10) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
triple10
Dave is rough.
("Dave" "is" "rough" "+")
triple11
((triple10) -> (rule2 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
triple12
Erin is furry.
("Erin" "is" "furry" "+")
triple13
((((triple14) -> (rule2 % int2))) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
((((triple14) -> (rule2 % int3)) ((((triple14) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
triple14
Erin is round.
("Erin" "is" "round" "+")
triple15
Anne is blue.
("Anne" "is" "blue" "+")
((triple2) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((((triple1) -> (rule2 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
((triple2) -> (rule6 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((((triple1) -> (rule2 % int2))) -> (rule6 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
((triple2 ((triple2) -> (rule1 % int2))) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple1) -> (rule2 % int3)) ((triple2) -> (rule1 % int2))) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
((triple2 ((((triple1) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
((((triple1) -> (rule2 % int3)) ((((triple1) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
((triple6) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((triple6 triple4) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((((triple5) -> (rule2 % int2))) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
((triple6 ((triple6) -> (rule1 % int2))) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((triple5) -> (rule2 % int2)) triple4) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
((((triple5) -> (rule2 % int3)) ((triple6) -> (rule1 % int2))) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
((triple6 ((((triple5) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
((((triple5) -> (rule2 % int3)) ((((triple5) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Erin is rough.
("Erin" "is" "rough" "+")
((triple14) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
((((triple14) -> (rule2 % int2))) -> (rule1 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
((((((triple14) -> (rule2 % int3))) -> (rule1 % int2)) ((triple14) -> (rule2 % int3))) -> (rule4 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3