Anne is rough. Bob is round. Bob is smart. Erin is red. Erin is rough. Harry is cold. Harry is quiet. If something is rough and round then it is red. If something is big and rough then it is red. If Harry is red and Harry is big then Harry is smart. If something is red and rough then it is quiet. Round things are cold. If something is cold and round then it is red.
Anne is rough.
("Anne" "is" "rough" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
If something is rough and round then it is red.
((("something" "is" "rough" "+") ("something" "is" "round" "+")) -> ("something" "is" "red" "+"))
If something is big and rough then it is red.
((("something" "is" "big" "+") ("something" "is" "rough" "+")) -> ("something" "is" "red" "+"))
If Harry is red and Harry is big then Harry is smart.
((("Harry" "is" "red" "+") ("Harry" "is" "big" "+")) -> ("Harry" "is" "smart" "+"))
If something is red and rough then it is quiet.
((("something" "is" "red" "+") ("something" "is" "rough" "+")) -> ("something" "is" "quiet" "+"))
Round things are cold.
((("something" "is" "round" "+")) -> ("something" "is" "cold" "+"))
If something is cold and round then it is red.
((("something" "is" "cold" "+") ("something" "is" "round" "+")) -> ("something" "is" "red" "+"))
Bob is round.
True
1
proof
[(triple2)]
("Bob" "is" "round" "+")
triple2
Bob is not smart.
False
1
inv-proof
[(triple3)]
("Bob" "is" "smart" "-")
triple3
Bob is cold.
True
2
proof
[(((triple2) -> rule5))]
("Bob" "is" "cold" "+")
((triple2) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is not cold.
False
2
inv-proof
[(((triple2) -> rule5))]
("Bob" "is" "cold" "-")
((triple2) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is red.
True
4
proof
[(((((triple2) -> rule5) triple2) -> rule6))]
("Bob" "is" "red" "+")
((((triple2) -> (rule5 % int2)) triple2) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is not red.
False
4
inv-proof
[(((((triple2) -> rule5) triple2) -> rule6))]
("Bob" "is" "red" "-")
((((triple2) -> (rule5 % int2)) triple2) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Erin is not cold.
Unknown
inv-rconc
[@1: Erin is cold.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Erin" "is" "cold" "-")
Bob is quiet.
Unknown
rconc
[@1: Bob is quiet.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Bob" "is" "quiet" "+")
Anne is not quiet.
Unknown
inv-rconc
[@2: Anne is quiet.[CWA. Example of deepest failure = (rule4 <- rule1 <- FAIL)]]
("Anne" "is" "quiet" "-")
Erin is smart.
Unknown
random
[@0: Erin is smart.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "smart" "+")
Anne is not big.
Unknown
inv-random
[@0: Anne is big.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "big" "-")
Bob is big.
Unknown
random
[@0: Bob is big.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "big" "+")
@0: Anne is rough.[(triple1)] Bob is round.[(triple2)] Bob is smart.[(triple3)] Erin is red.[(triple4)] Erin is rough.[(triple5)] Harry is cold.[(triple6)] Harry is quiet.[(triple7)] @1: Bob is cold.[(((triple2) -> rule5))] Erin is quiet.[(((triple4 triple5) -> rule4))] @2: Bob is red.[(((((triple2) -> rule5) triple2) -> rule6))]
Anne is rough.
("Anne" "is" "rough" "+")
triple1
Bob is round.
("Bob" "is" "round" "+")
triple2
Bob is smart.
("Bob" "is" "smart" "+")
triple3
Erin is red.
("Erin" "is" "red" "+")
triple4
Erin is rough.
("Erin" "is" "rough" "+")
triple5
Harry is cold.
("Harry" "is" "cold" "+")
triple6
Harry is quiet.
("Harry" "is" "quiet" "+")
triple7
Bob is cold.
("Bob" "is" "cold" "+")
((triple2) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
((triple4 triple5) -> (rule4 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
((((triple2) -> (rule5 % int2)) triple2) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2