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