Bob is red. Bob is rough. Erin is rough. If Erin is smart and Erin is not rough then Erin is not cold. If something is red then it is cold. If Erin is red and Erin is not cold then Erin is not furry. If Bob is not furry and Bob is not cold then Bob is blue. Red, cold things are blue. If something is furry and not cold then it is blue.
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Erin is rough.
("Erin" "is" "rough" "+")
If Erin is smart and Erin is not rough then Erin is not cold.
((("Erin" "is" "smart" "+") ("Erin" "is" "rough" "~")) -> ("Erin" "is" "cold" "-"))
If something is red then it is cold.
((("something" "is" "red" "+")) -> ("something" "is" "cold" "+"))
If Erin is red and Erin is not cold then Erin is not furry.
((("Erin" "is" "red" "+") ("Erin" "is" "cold" "~")) -> ("Erin" "is" "furry" "-"))
If Bob is not furry and Bob is not cold then Bob is blue.
((("Bob" "is" "furry" "~") ("Bob" "is" "cold" "~")) -> ("Bob" "is" "blue" "+"))
Red, cold things are blue.
((("something" "is" "red" "+") ("something" "is" "cold" "+")) -> ("something" "is" "blue" "+"))
If something is furry and not cold then it is blue.
((("something" "is" "furry" "+") ("something" "is" "cold" "~")) -> ("something" "is" "blue" "+"))
Bob is red.
True
1
proof
[(triple1)]
("Bob" "is" "red" "+")
triple1
Erin is not rough.
False
1
inv-proof
[(triple3)]
("Erin" "is" "rough" "-")
triple3
Bob is cold.
True
2
proof
[(((triple1) -> rule2))]
("Bob" "is" "cold" "+")
((triple1) -> (rule2 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is not cold.
False
2
inv-proof
[(((triple1) -> rule2))]
("Bob" "is" "cold" "-")
((triple1) -> (rule2 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is blue.
True
4
proof
[(((triple1 ((triple1) -> rule2)) -> rule5))]
("Bob" "is" "blue" "+")
((triple1 ((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is not blue.
False
4
inv-proof
[(((triple1 ((triple1) -> rule2)) -> rule5))]
("Bob" "is" "blue" "-")
((triple1 ((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Erin is not cold.
Unknown
inv-rconc
[@1: Erin is cold.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "cold" "-")
Erin is blue.
Unknown
rconc
[@1: Erin is blue.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Erin" "is" "blue" "+")
Erin is not red.
Unknown
inv-random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "-")
Erin is furry.
Unknown
random
[@0: Erin is furry.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "furry" "+")
Bob is not smart.
Unknown
inv-random
[@0: Bob is smart.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "smart" "-")
Bob is furry.
Unknown
random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "+")
@0: Bob is red.[(triple1)] Bob is rough.[(triple2)] Erin is rough.[(triple3)] @1: Bob is cold.[(((triple1) -> rule2))] @2: Bob is blue.[(((triple1 ((triple1) -> rule2)) -> rule5))]
Bob is red.
("Bob" "is" "red" "+")
triple1
Bob is rough.
("Bob" "is" "rough" "+")
triple2
Erin is rough.
("Erin" "is" "rough" "+")
triple3
Bob is cold.
("Bob" "is" "cold" "+")
((triple1) -> (rule2 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
((triple1 ((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2