Bob is cold. Bob is nice. Bob is red. Bob is rough. Erin is cold. Erin is furry. Erin is nice. Erin is white. Harry is blue. Harry is furry. Cold people are furry. If someone is furry and red then they are blue. All blue people are rough.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is white.
("Erin" "is" "white" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Cold people are furry.
((("someone" "is" "cold" "+")) -> ("someone" "is" "furry" "+"))
If someone is furry and red then they are blue.
((("someone" "is" "furry" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "blue" "+"))
All blue people are rough.
((("someone" "is" "blue" "+")) -> ("someone" "is" "rough" "+"))
Bob is cold.
True
1
proof
[(triple1)]
("Bob" "is" "cold" "+")
triple1
Erin is not cold.
False
1
inv-proof
[(triple5)]
("Erin" "is" "cold" "-")
triple5
Harry is rough.
True
2
proof
[(((triple9) -> rule3))]
("Harry" "is" "rough" "+")
((triple9) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is not rough.
False
2
inv-proof
[(((triple9) -> rule3))]
("Harry" "is" "rough" "-")
((triple9) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Bob is blue.
True
4
proof
[(((((triple1) -> rule1) triple3) -> rule2))]
("Bob" "is" "blue" "+")
((((triple1) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is not blue.
False
4
inv-proof
[(((((triple1) -> rule1) triple3) -> rule2))]
("Bob" "is" "blue" "-")
((((triple1) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Erin is not blue.
Unknown
inv-rconc
[@1: Erin is blue.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "blue" "-")
Erin is rough.
Unknown
rconc
[@2: Erin is rough.[CWA. Example of deepest failure = (rule3 <- rule2 <- FAIL)]]
("Erin" "is" "rough" "+")
Bob is not white.
Unknown
inv-random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "-")
Erin is red.
Unknown
random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "+")
Harry is not cold.
Unknown
inv-random
[@0: Harry is cold.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "cold" "-")
Harry is white.
Unknown
random
[@0: Harry is white.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "white" "+")
@0: Bob is cold.[(triple1)] Bob is nice.[(triple2)] Bob is red.[(triple3)] Bob is rough.[(triple4 OR ((((((triple1) -> rule1) triple3) -> rule2)) -> rule3))] Erin is cold.[(triple5)] Erin is furry.[(triple6 OR ((triple5) -> rule1))] Erin is nice.[(triple7)] Erin is white.[(triple8)] Harry is blue.[(triple9)] Harry is furry.[(triple10)] @1: Bob is furry.[(((triple1) -> rule1))] Harry is rough.[(((triple9) -> rule3))] @2: Bob is blue.[(((((triple1) -> rule1) triple3) -> rule2))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Bob is red.
("Bob" "is" "red" "+")
triple3
Bob is rough.
("Bob" "is" "rough" "+")
triple4
((((((triple1) -> (rule1 % int3)) triple3) -> (rule2 % int2))) -> (rule3 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
triple5
Erin is furry.
("Erin" "is" "furry" "+")
triple6
((triple5) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
triple7
Erin is white.
("Erin" "is" "white" "+")
triple8
Harry is blue.
("Harry" "is" "blue" "+")
triple9
Harry is furry.
("Harry" "is" "furry" "+")
triple10
Bob is furry.
("Bob" "is" "furry" "+")
((triple1) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
((triple9) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
((((triple1) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2