Bob is furry. Bob is green. Erin is blue. Erin is cold. Erin is furry. Erin is green. Erin is kind. Erin is red. Erin is round. Gary is not blue. Gary is cold. Gary is furry. Gary is green. Gary is kind. Gary is red. Gary is round. Furry, green things are red. Green, round things are red. If something is green and cold then it is round. If Erin is red then Erin is blue. If Gary is not blue and Gary is not furry then Gary is not cold. If something is red then it is green. If something is round and not furry then it is cold. If something is blue and not furry then it is cold.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is round.
("Erin" "is" "round" "+")
Gary is not blue.
("Gary" "is" "blue" "-")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is round.
("Gary" "is" "round" "+")
Furry, green things are red.
((("something" "is" "furry" "+") ("something" "is" "green" "+")) -> ("something" "is" "red" "+"))
Green, round things are red.
((("something" "is" "green" "+") ("something" "is" "round" "+")) -> ("something" "is" "red" "+"))
If something is green and cold then it is round.
((("something" "is" "green" "+") ("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
If Erin is red then Erin is blue.
((("Erin" "is" "red" "+")) -> ("Erin" "is" "blue" "+"))
If Gary is not blue and Gary is not furry then Gary is not cold.
((("Gary" "is" "blue" "~") ("Gary" "is" "furry" "~")) -> ("Gary" "is" "cold" "-"))
If something is red then it is green.
((("something" "is" "red" "+")) -> ("something" "is" "green" "+"))
If something is round and not furry then it is cold.
((("something" "is" "round" "+") ("something" "is" "furry" "~")) -> ("something" "is" "cold" "+"))
If something is blue and not furry then it is cold.
((("something" "is" "blue" "+") ("something" "is" "furry" "~")) -> ("something" "is" "cold" "+"))
Gary is kind.
True
1
proof
[(triple14)]
("Gary" "is" "kind" "+")
triple14
Erin is not red.
False
1
inv-proof
[(triple8 OR ((triple5 triple6) -> rule1) OR ((triple6 triple9) -> rule2) OR ((triple6 ((triple6 triple4) -> rule3)) -> rule2))]
("Erin" "is" "red" "-")
triple8
((triple5 triple6) -> (rule1 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple6 triple9) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple6 ((triple6 triple4) -> (rule3 % int2))) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Bob is red.
True
3
proof
[(((triple1 triple2) -> rule1))]
("Bob" "is" "red" "+")
((triple1 triple2) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is not red.
False
3
inv-proof
[(((triple1 triple2) -> rule1))]
("Bob" "is" "red" "-")
((triple1 triple2) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is not cold.
Unknown
inv-rconc
[@1: Bob is cold.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Bob" "is" "cold" "-")
Bob is round.
Unknown
rconc
[@2: Bob is round.[CWA. Example of deepest failure = (rule3 <- rule7 <- FAIL)]]
("Bob" "is" "round" "+")
Bob is not blue.
Unknown
inv-random
[@0: Bob is blue.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "blue" "-")
Bob is kind.
Unknown
random
[@0: Bob is kind.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "kind" "+")
@0: Bob is furry.[(triple1)] Bob is green.[(triple2)] Erin is blue.[(triple3 OR ((triple8) -> rule4) OR ((((triple5 triple6) -> rule1)) -> rule4) OR ((((triple6 triple9) -> rule2)) -> rule4) OR ((((triple6 ((triple6 triple4) -> rule3)) -> rule2)) -> rule4))] Erin is cold.[(triple4)] Erin is furry.[(triple5)] Erin is green.[(triple6 OR ((triple8) -> rule6))] Erin is kind.[(triple7)] Erin is red.[(triple8 OR ((triple5 triple6) -> rule1) OR ((triple6 triple9) -> rule2) OR ((triple6 ((triple6 triple4) -> rule3)) -> rule2))] Erin is round.[(triple9 OR ((triple6 triple4) -> rule3) OR ((((triple8) -> rule6) triple4) -> rule3))] Gary is cold.[(triple11)] Gary is furry.[(triple12)] Gary is green.[(triple13 OR ((triple15) -> rule6))] Gary is kind.[(triple14)] Gary is not blue.[(triple10)] Gary is red.[(triple15 OR ((triple12 triple13) -> rule1) OR ((triple13 triple16) -> rule2) OR ((triple13 ((triple13 triple11) -> rule3)) -> rule2))] Gary is round.[(triple16 OR ((triple13 triple11) -> rule3) OR ((((triple15) -> rule6) triple11) -> rule3))] @1: Bob is red.[(((triple1 triple2) -> rule1))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Bob is green.
("Bob" "is" "green" "+")
triple2
Erin is blue.
("Erin" "is" "blue" "+")
triple3
((triple8) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((((triple5 triple6) -> (rule1 % int2))) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
((((triple6 triple9) -> (rule2 % int2))) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
((((triple6 ((triple6 triple4) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
triple4
Erin is furry.
("Erin" "is" "furry" "+")
triple5
Erin is green.
("Erin" "is" "green" "+")
triple6
((triple8) -> (rule6 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
triple7
Erin is red.
("Erin" "is" "red" "+")
triple8
((triple5 triple6) -> (rule1 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple6 triple9) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple6 ((triple6 triple4) -> (rule3 % int2))) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
triple9
((triple6 triple4) -> (rule3 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
((((triple8) -> (rule6 % int2)) triple4) -> (rule3 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
triple11
Gary is furry.
("Gary" "is" "furry" "+")
triple12
Gary is green.
("Gary" "is" "green" "+")
triple13
((triple15) -> (rule6 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
triple14
Gary is not blue.
("Gary" "is" "blue" "-")
triple10
Gary is red.
("Gary" "is" "red" "+")
triple15
((triple12 triple13) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((triple13 triple16) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((triple13 ((triple13 triple11) -> (rule3 % int2))) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
triple16
((triple13 triple11) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
((((triple15) -> (rule6 % int2)) triple11) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
((triple1 triple2) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1