Anne is big. Anne is blue. Anne is furry. Bob is quiet. Bob is red. Gary is big. Gary is cold. Gary is furry. Gary is red. Gary is rough. Harry is big. Harry is blue. Harry is furry. Harry is quiet. Harry is red. Harry is rough. If someone is blue and red then they are big. If someone is cold then they are furry. If someone is furry and cold then they are rough. Cold people are quiet. If someone is quiet then they are blue. If someone is big and rough then they are furry.
Anne is big.
("Anne" "is" "big" "+")
Anne is blue.
("Anne" "is" "blue" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
If someone is blue and red then they are big.
((("someone" "is" "blue" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "big" "+"))
If someone is cold then they are furry.
((("someone" "is" "cold" "+")) -> ("someone" "is" "furry" "+"))
If someone is furry and cold then they are rough.
((("someone" "is" "furry" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "rough" "+"))
Cold people are quiet.
((("someone" "is" "cold" "+")) -> ("someone" "is" "quiet" "+"))
If someone is quiet then they are blue.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "blue" "+"))
If someone is big and rough then they are furry.
((("someone" "is" "big" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "furry" "+"))
Gary is cold.
True
1
proof
[(triple7)]
("Gary" "is" "cold" "+")
triple7
Bob is not red.
False
1
inv-proof
[(triple5)]
("Bob" "is" "red" "-")
triple5
Gary is quiet.
True
2
proof
[(((triple7) -> rule4))]
("Gary" "is" "quiet" "+")
((triple7) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Bob is not blue.
False
2
inv-proof
[(((triple4) -> rule5))]
("Bob" "is" "blue" "-")
((triple4) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is big.
True
4
proof
[(((((triple4) -> rule5) triple5) -> rule1))]
("Bob" "is" "big" "+")
((((triple4) -> (rule5 % int2)) triple5) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Gary is not blue.
False
3
inv-proof
[(((((triple7) -> rule4)) -> rule5))]
("Gary" "is" "blue" "-")
((((triple7) -> (rule4 % int2))) -> (rule5 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Bob is not furry.
Unknown
inv-rconc
[@2: Bob is furry.[CWA. Example of deepest failure = (rule6 <- rule3 <- FAIL)]]
("Bob" "is" "furry" "-")
Bob is rough.
Unknown
rconc
[@1: Bob is rough.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Bob" "is" "rough" "+")
Anne is not rough.
Unknown
inv-rconc
[@1: Anne is rough.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Anne" "is" "rough" "-")
Bob is cold.
Unknown
random
[@0: Bob is cold.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "cold" "+")
Anne is not cold.
Unknown
inv-random
[@0: Anne is cold.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "cold" "-")
Anne is red.
Unknown
random
[@0: Anne is red.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "red" "+")
@0: Anne is big.[(triple1)] Anne is blue.[(triple2)] Anne is furry.[(triple3)] Bob is quiet.[(triple4)] Bob is red.[(triple5)] Gary is big.[(triple6 OR ((((((triple7) -> rule4)) -> rule5) triple9) -> rule1))] Gary is cold.[(triple7)] Gary is furry.[(triple8 OR ((triple7) -> rule2) OR ((triple6 triple10) -> rule6) OR ((((((((triple7) -> rule4)) -> rule5) triple9) -> rule1) triple10) -> rule6))] Gary is red.[(triple9)] Gary is rough.[(triple10 OR ((triple8 triple7) -> rule3) OR ((((triple7) -> rule2) triple7) -> rule3))] Harry is big.[(triple11 OR ((triple12 triple15) -> rule1) OR ((((triple14) -> rule5) triple15) -> rule1))] Harry is blue.[(triple12 OR ((triple14) -> rule5))] Harry is furry.[(triple13 OR ((triple11 triple16) -> rule6) OR ((((triple12 triple15) -> rule1) triple16) -> rule6) OR ((((((triple14) -> rule5) triple15) -> rule1) triple16) -> rule6))] Harry is quiet.[(triple14)] Harry is red.[(triple15)] Harry is rough.[(triple16)] @1: Bob is blue.[(((triple4) -> rule5))] Gary is quiet.[(((triple7) -> rule4))] @2: Bob is big.[(((((triple4) -> rule5) triple5) -> rule1))] Gary is blue.[(((((triple7) -> rule4)) -> rule5))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is blue.
("Anne" "is" "blue" "+")
triple2
Anne is furry.
("Anne" "is" "furry" "+")
triple3
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
Bob is red.
("Bob" "is" "red" "+")
triple5
Gary is big.
("Gary" "is" "big" "+")
triple6
((((((triple7) -> (rule4 % int3))) -> (rule5 % int2)) triple9) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
triple7
Gary is furry.
("Gary" "is" "furry" "+")
triple8
((triple7) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((triple6 triple10) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((((((((triple7) -> (rule4 % int4))) -> (rule5 % int3)) triple9) -> (rule1 % int2)) triple10) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
triple9
Gary is rough.
("Gary" "is" "rough" "+")
triple10
((triple8 triple7) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((((triple7) -> (rule2 % int2)) triple7) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
triple11
((triple12 triple15) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((((triple14) -> (rule5 % int2)) triple15) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
triple12
((triple14) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
triple13
((triple11 triple16) -> (rule6 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
((((triple12 triple15) -> (rule1 % int2)) triple16) -> (rule6 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((((triple14) -> (rule5 % int3)) triple15) -> (rule1 % int2)) triple16) -> (rule6 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
triple14
Harry is red.
("Harry" "is" "red" "+")
triple15
Harry is rough.
("Harry" "is" "rough" "+")
triple16
Bob is blue.
("Bob" "is" "blue" "+")
((triple4) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
((triple7) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
((((triple4) -> (rule5 % int2)) triple5) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
((((triple7) -> (rule4 % int2))) -> (rule5 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2