Anne is cold. Anne is furry. Anne is nice. Anne is rough. Gary is cold. Gary is furry. Gary is green. Gary is not nice. Harry is cold. Harry is furry. Harry is green. Harry is not nice. Harry is quiet. Harry is red. Harry is rough. If Harry is red and Harry is quiet then Harry is green. Quiet, green things are rough. If Anne is green then Anne is quiet. If something is green then it is quiet. Rough things are furry. All nice things are cold.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is not nice.
("Gary" "is" "nice" "-")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is not nice.
("Harry" "is" "nice" "-")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
If Harry is red and Harry is quiet then Harry is green.
((("Harry" "is" "red" "+") ("Harry" "is" "quiet" "+")) -> ("Harry" "is" "green" "+"))
Quiet, green things are rough.
((("something" "is" "quiet" "+") ("something" "is" "green" "+")) -> ("something" "is" "rough" "+"))
If Anne is green then Anne is quiet.
((("Anne" "is" "green" "+")) -> ("Anne" "is" "quiet" "+"))
If something is green then it is quiet.
((("something" "is" "green" "+")) -> ("something" "is" "quiet" "+"))
Rough things are furry.
((("something" "is" "rough" "+")) -> ("something" "is" "furry" "+"))
All nice things are cold.
((("something" "is" "nice" "+")) -> ("something" "is" "cold" "+"))
Gary is furry.
True
1
proof
[(triple6 OR ((((((triple7) -> rule4) triple7) -> rule2)) -> rule5))]
("Gary" "is" "furry" "+")
triple6
((((((triple7) -> (rule4 % int3)) triple7) -> (rule2 % int2))) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Anne is not furry.
False
1
inv-proof
[(triple2 OR ((triple4) -> rule5))]
("Anne" "is" "furry" "-")
triple2
((triple4) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Gary is quiet.
True
2
proof
[(((triple7) -> rule4))]
("Gary" "is" "quiet" "+")
((triple7) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is not quiet.
False
2
inv-proof
[(((triple7) -> rule4))]
("Gary" "is" "quiet" "-")
((triple7) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Anne is not quiet.
Unknown
inv-rconc
[@1: Anne is quiet.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Anne" "is" "quiet" "-")
Gary is red.
Unknown
random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "+")
Anne is not green.
Unknown
inv-random
[@0: Anne is green.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "green" "-")
Anne is red.
Unknown
random
[@0: Anne is red.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "red" "+")
@0: Anne is cold.[(triple1 OR ((triple3) -> rule6))] Anne is furry.[(triple2 OR ((triple4) -> rule5))] Anne is nice.[(triple3)] Anne is rough.[(triple4)] Gary is cold.[(triple5)] Gary is furry.[(triple6 OR ((((((triple7) -> rule4) triple7) -> rule2)) -> rule5))] Gary is green.[(triple7)] Gary is not nice.[(triple8)] Harry is cold.[(triple9)] Harry is furry.[(triple10 OR ((triple15) -> rule5) OR ((((triple13 triple11) -> rule2)) -> rule5) OR ((((triple13 ((triple14 triple13) -> rule1)) -> rule2)) -> rule5) OR ((((((triple11) -> rule4) triple11) -> rule2)) -> rule5) OR ((((((triple11) -> rule4) ((triple14 triple13) -> rule1)) -> rule2)) -> rule5))] Harry is green.[(triple11 OR ((triple14 triple13) -> rule1))] Harry is not nice.[(triple12)] Harry is quiet.[(triple13 OR ((triple11) -> rule4))] Harry is red.[(triple14)] Harry is rough.[(triple15 OR ((triple13 triple11) -> rule2) OR ((triple13 ((triple14 triple13) -> rule1)) -> rule2) OR ((((triple11) -> rule4) triple11) -> rule2) OR ((((triple11) -> rule4) ((triple14 triple13) -> rule1)) -> rule2))] @1: Gary is quiet.[(((triple7) -> rule4))] @2: Gary is rough.[(((((triple7) -> rule4) triple7) -> rule2))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
((triple3) -> (rule6 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
triple2
((triple4) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
triple3
Anne is rough.
("Anne" "is" "rough" "+")
triple4
Gary is cold.
("Gary" "is" "cold" "+")
triple5
Gary is furry.
("Gary" "is" "furry" "+")
triple6
((((((triple7) -> (rule4 % int3)) triple7) -> (rule2 % int2))) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is green.
("Gary" "is" "green" "+")
triple7
Gary is not nice.
("Gary" "is" "nice" "-")
triple8
Harry is cold.
("Harry" "is" "cold" "+")
triple9
Harry is furry.
("Harry" "is" "furry" "+")
triple10
((triple15) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
((((triple13 triple11) -> (rule2 % int2))) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((((triple13 ((triple14 triple13) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
((((((triple11) -> (rule4 % int3)) triple11) -> (rule2 % int2))) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
((((((triple11) -> (rule4 % int4)) ((triple14 triple13) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
Harry is green.
("Harry" "is" "green" "+")
triple11
((triple14 triple13) -> (rule1 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is not nice.
("Harry" "is" "nice" "-")
triple12
Harry is quiet.
("Harry" "is" "quiet" "+")
triple13
((triple11) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
triple14
Harry is rough.
("Harry" "is" "rough" "+")
triple15
((triple13 triple11) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((triple13 ((triple14 triple13) -> (rule1 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
((((triple11) -> (rule4 % int2)) triple11) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
((((triple11) -> (rule4 % int3)) ((triple14 triple13) -> (rule1 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
((triple7) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
((((triple7) -> (rule4 % int2)) triple7) -> (rule2 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2