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