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