Bob is furry. Bob is kind. Bob is red. Bob is young. Charlie is kind. Charlie is red. Erin is furry. Erin is young. Gary is cold. Gary is young. Furry, kind people are white. Cold, young people are kind. All kind, young people are furry. Furry people are young. White people are kind. If someone is furry then they are cold.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is young.
("Bob" "is" "young" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is young.
("Erin" "is" "young" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is young.
("Gary" "is" "young" "+")
Furry, kind people are white.
((("someone" "is" "furry" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "white" "+"))
Cold, young people are kind.
((("someone" "is" "cold" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "kind" "+"))
All kind, young people are furry.
((("someone" "is" "kind" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "furry" "+"))
Furry people are young.
((("someone" "is" "furry" "+")) -> ("someone" "is" "young" "+"))
White people are kind.
((("someone" "is" "white" "+")) -> ("someone" "is" "kind" "+"))
If someone is furry then they are cold.
((("someone" "is" "furry" "+")) -> ("someone" "is" "cold" "+"))
Gary is cold.
True
1
proof
[(triple9)]
("Gary" "is" "cold" "+")
triple9
Gary is not young.
False
1
inv-proof
[(triple10)]
("Gary" "is" "young" "-")
triple10
Bob is white.
True
3
proof
[(((triple1 triple2) -> rule1) OR ((((triple2 triple4) -> rule3) triple2) -> rule1) OR ((triple1 ((((triple1) -> rule6) triple4) -> rule2)) -> rule1) OR ((triple1 ((((triple1) -> rule6) ((triple1) -> rule4)) -> rule2)) -> rule1) OR ((((triple2 triple4) -> rule3) ((((triple1) -> rule6) triple4) -> rule2)) -> rule1) OR ((((triple2 triple4) -> rule3) ((((triple1) -> rule6) ((triple1) -> rule4)) -> rule2)) -> rule1))]
("Bob" "is" "white" "+")
((triple1 triple2) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((((triple2 triple4) -> (rule3 % int2)) triple2) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
((triple1 ((((triple1) -> (rule6 % int3)) triple4) -> (rule2 % int2))) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
((triple1 ((((triple1) -> (rule6 % int4)) ((triple1) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
int4
((((triple2 triple4) -> (rule3 % int4)) ((((triple1) -> (rule6 % int3)) triple4) -> (rule2 % int2))) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
int4
((((triple2 triple4) -> (rule3 % int5)) ((((triple1) -> (rule6 % int4)) ((triple1) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
int4
Bob is furry.
("Bob" "is" "furry" "+")
int5
Gary is not kind.
False
3
inv-proof
[(((triple9 triple10) -> rule2))]
("Gary" "is" "kind" "-")
((triple9 triple10) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Erin is kind.
True
4
proof
[(((((triple7) -> rule6) triple8) -> rule2) OR ((((triple7) -> rule6) ((triple7) -> rule4)) -> rule2))]
("Erin" "is" "kind" "+")
((((triple7) -> (rule6 % int2)) triple8) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((triple7) -> (rule6 % int3)) ((triple7) -> (rule4 % int2))) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Gary is not furry.
False
5
inv-proof
[(((((triple9 triple10) -> rule2) triple10) -> rule3))]
("Gary" "is" "furry" "-")
((((triple9 triple10) -> (rule2 % int2)) triple10) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
True
9
proof
[(((((((triple9 triple10) -> rule2) triple10) -> rule3) ((triple9 triple10) -> rule2)) -> rule1))]
("Gary" "is" "white" "+")
((((((triple9 triple10) -> (rule2 % int3)) triple10) -> (rule3 % int2)) ((triple9 triple10) -> (rule2 % int3))) -> (rule1 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Erin is not white.
False
6
inv-proof
[(((triple7 ((((triple7) -> rule6) triple8) -> rule2)) -> rule1) OR ((triple7 ((((triple7) -> rule6) ((triple7) -> rule4)) -> rule2)) -> rule1))]
("Erin" "is" "white" "-")
((triple7 ((((triple7) -> (rule6 % int3)) triple8) -> (rule2 % int2))) -> (rule1 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((triple7 ((((triple7) -> (rule6 % int4)) ((triple7) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Charlie is not young.
Unknown
inv-rconc
[@2: Charlie is young.[CWA. Example of deepest failure = (rule4 <- rule3 <- FAIL)]]
("Charlie" "is" "young" "-")
Charlie is cold.
Unknown
rconc
[@3: Charlie is cold.[CWA. Example of deepest failure = (rule6 <- rule3 <- rule4 <- FAIL)]]
("Charlie" "is" "cold" "+")
Charlie is not white.
Unknown
inv-rconc
[@3: Charlie is white.[CWA. Example of deepest failure = (rule1 <- rule3 <- rule4 <- FAIL)]]
("Charlie" "is" "white" "-")
Charlie is furry.
Unknown
rconc
[@2: Charlie is furry.[CWA. Example of deepest failure = (rule3 <- rule4 <- FAIL)]]
("Charlie" "is" "furry" "+")
Erin is not red.
Unknown
inv-random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "-")
Gary is red.
Unknown
random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "+")
Erin is not smart.
Unknown
inv-random
[@0: Erin is smart.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "smart" "-")
Bob is smart.
Unknown
random
[@0: Bob is smart.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "smart" "+")
@0: Bob is furry.[(triple1 OR ((triple2 triple4) -> rule3))] Bob is kind.[(triple2 OR ((((triple1) -> rule6) triple4) -> rule2) OR ((((triple1) -> rule6) ((triple1) -> rule4)) -> rule2))] Bob is red.[(triple3)] Bob is young.[(triple4 OR ((triple1) -> rule4))] Charlie is kind.[(triple5)] Charlie is red.[(triple6)] Erin is furry.[(triple7)] Erin is young.[(triple8 OR ((triple7) -> rule4))] Gary is cold.[(triple9)] Gary is young.[(triple10)] @1: Bob is cold.[(((triple1) -> rule6) OR ((((triple2 triple4) -> rule3)) -> rule6))] Bob is white.[(((triple1 triple2) -> rule1) OR ((((triple2 triple4) -> rule3) triple2) -> rule1) OR ((triple1 ((((triple1) -> rule6) triple4) -> rule2)) -> rule1) OR ((triple1 ((((triple1) -> rule6) ((triple1) -> rule4)) -> rule2)) -> rule1) OR ((((triple2 triple4) -> rule3) ((((triple1) -> rule6) triple4) -> rule2)) -> rule1) OR ((((triple2 triple4) -> rule3) ((((triple1) -> rule6) ((triple1) -> rule4)) -> rule2)) -> rule1))] Erin is cold.[(((triple7) -> rule6))] Gary is kind.[(((triple9 triple10) -> rule2))] @2: Erin is kind.[(((((triple7) -> rule6) triple8) -> rule2) OR ((((triple7) -> rule6) ((triple7) -> rule4)) -> rule2))] Gary is furry.[(((((triple9 triple10) -> rule2) triple10) -> rule3))] @3: Erin is white.[(((triple7 ((((triple7) -> rule6) triple8) -> rule2)) -> rule1) OR ((triple7 ((((triple7) -> rule6) ((triple7) -> rule4)) -> rule2)) -> rule1))] Gary is white.[(((((((triple9 triple10) -> rule2) triple10) -> rule3) ((triple9 triple10) -> rule2)) -> rule1))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
((triple2 triple4) -> (rule3 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
triple2
((((triple1) -> (rule6 % int2)) triple4) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((((triple1) -> (rule6 % int3)) ((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
triple3
Bob is young.
("Bob" "is" "young" "+")
triple4
((triple1) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
triple5
Charlie is red.
("Charlie" "is" "red" "+")
triple6
Erin is furry.
("Erin" "is" "furry" "+")
triple7
Erin is young.
("Erin" "is" "young" "+")
triple8
((triple7) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
triple9
Gary is young.
("Gary" "is" "young" "+")
triple10
Bob is cold.
("Bob" "is" "cold" "+")
((triple1) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple2 triple4) -> (rule3 % int2))) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
((triple1 triple2) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((((triple2 triple4) -> (rule3 % int2)) triple2) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
((triple1 ((((triple1) -> (rule6 % int3)) triple4) -> (rule2 % int2))) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
((triple1 ((((triple1) -> (rule6 % int4)) ((triple1) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
int4
((((triple2 triple4) -> (rule3 % int4)) ((((triple1) -> (rule6 % int3)) triple4) -> (rule2 % int2))) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
int4
((((triple2 triple4) -> (rule3 % int5)) ((((triple1) -> (rule6 % int4)) ((triple1) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
int4
Bob is furry.
("Bob" "is" "furry" "+")
int5
Erin is cold.
("Erin" "is" "cold" "+")
((triple7) -> (rule6 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
((triple9 triple10) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
((((triple7) -> (rule6 % int2)) triple8) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((triple7) -> (rule6 % int3)) ((triple7) -> (rule4 % int2))) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
((((triple9 triple10) -> (rule2 % int2)) triple10) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
((triple7 ((((triple7) -> (rule6 % int3)) triple8) -> (rule2 % int2))) -> (rule1 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((triple7 ((((triple7) -> (rule6 % int4)) ((triple7) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Gary is white.
("Gary" "is" "white" "+")
((((((triple9 triple10) -> (rule2 % int3)) triple10) -> (rule3 % int2)) ((triple9 triple10) -> (rule2 % int3))) -> (rule1 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3