Anne is blue. Anne is not furry. Anne is kind. Anne is quiet. Charlie is not blue. Charlie is red. Gary is big. Gary is cold. Gary is furry. Gary is quiet. Harry is big. If someone is furry and big then they are quiet. All cold people are furry. All big people are cold. Quiet people are kind. All cold, kind people are not blue. If someone is cold and not kind then they are blue.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is not furry.
("Anne" "is" "furry" "-")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Charlie is not blue.
("Charlie" "is" "blue" "-")
Charlie is red.
("Charlie" "is" "red" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Harry is big.
("Harry" "is" "big" "+")
If someone is furry and big then they are quiet.
((("someone" "is" "furry" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "quiet" "+"))
All cold people are furry.
((("someone" "is" "cold" "+")) -> ("someone" "is" "furry" "+"))
All big people are cold.
((("someone" "is" "big" "+")) -> ("someone" "is" "cold" "+"))
Quiet people are kind.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "kind" "+"))
All cold, kind people are not blue.
((("someone" "is" "cold" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "-"))
If someone is cold and not kind then they are blue.
((("someone" "is" "cold" "+") ("someone" "is" "kind" "~")) -> ("someone" "is" "blue" "+"))
Anne is quiet.
True
1
proof
[(triple4)]
("Anne" "is" "quiet" "+")
triple4
Anne is furry.
False
1
inv-proof
[(triple2)]
("Anne" "is" "furry" "+")
triple2
Harry is cold.
True
2
proof
[(((triple11) -> rule3))]
("Harry" "is" "cold" "+")
((triple11) -> (rule3 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is not cold.
False
2
inv-proof
[(((triple11) -> rule3))]
("Harry" "is" "cold" "-")
((triple11) -> (rule3 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is furry.
True
3
proof
[(((((triple11) -> rule3)) -> rule2))]
("Harry" "is" "furry" "+")
((((triple11) -> (rule3 % int2))) -> (rule2 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Gary is blue.
False
4
inv-proof
[(((triple8 ((triple10) -> rule4)) -> rule5) OR ((((triple7) -> rule3) ((triple10) -> rule4)) -> rule5) OR ((triple8 ((((triple9 triple7) -> rule1)) -> rule4)) -> rule5) OR ((((triple7) -> rule3) ((((triple9 triple7) -> rule1)) -> rule4)) -> rule5) OR ((triple8 ((((((triple8) -> rule2) triple7) -> rule1)) -> rule4)) -> rule5) OR ((((triple7) -> rule3) ((((((triple8) -> rule2) triple7) -> rule1)) -> rule4)) -> rule5) OR ((triple8 ((((((((triple7) -> rule3)) -> rule2) triple7) -> rule1)) -> rule4)) -> rule5) OR ((((triple7) -> rule3) ((((((((triple7) -> rule3)) -> rule2) triple7) -> rule1)) -> rule4)) -> rule5))]
("Gary" "is" "blue" "+")
((triple8 ((triple10) -> (rule4 % int2))) -> (rule5 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
((((triple7) -> (rule3 % int3)) ((triple10) -> (rule4 % int2))) -> (rule5 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
((triple8 ((((triple9 triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
((((triple7) -> (rule3 % int4)) ((((triple9 triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
((triple8 ((((((triple8) -> (rule2 % int4)) triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
((((triple7) -> (rule3 % int5)) ((((((triple8) -> (rule2 % int4)) triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
Gary is cold.
("Gary" "is" "cold" "+")
int5
((triple8 ((((((((triple7) -> (rule3 % int5))) -> (rule2 % int4)) triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
Gary is cold.
("Gary" "is" "cold" "+")
int5
((((triple7) -> (rule3 % int5)) ((((((((triple7) -> (rule3 % int5))) -> (rule2 % int4)) triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
Gary is cold.
("Gary" "is" "cold" "+")
int5
Harry is quiet.
True
5
proof
[(((((((triple11) -> rule3)) -> rule2) triple11) -> rule1))]
("Harry" "is" "quiet" "+")
((((((triple11) -> (rule3 % int3))) -> (rule2 % int2)) triple11) -> (rule1 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is not quiet.
False
5
inv-proof
[(((((((triple11) -> rule3)) -> rule2) triple11) -> rule1))]
("Harry" "is" "quiet" "-")
((((((triple11) -> (rule3 % int3))) -> (rule2 % int2)) triple11) -> (rule1 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is kind.
True
6
proof
[(((((((((triple11) -> rule3)) -> rule2) triple11) -> rule1)) -> rule4))]
("Harry" "is" "kind" "+")
((((((((triple11) -> (rule3 % int4))) -> (rule2 % int3)) triple11) -> (rule1 % int2))) -> (rule4 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is not kind.
False
6
inv-proof
[(((((((((triple11) -> rule3)) -> rule2) triple11) -> rule1)) -> rule4))]
("Harry" "is" "kind" "-")
((((((((triple11) -> (rule3 % int4))) -> (rule2 % int3)) triple11) -> (rule1 % int2))) -> (rule4 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is not blue.
True
9
proof
[(((((triple11) -> rule3) ((((((((triple11) -> rule3)) -> rule2) triple11) -> rule1)) -> rule4)) -> rule5))]
("Harry" "is" "blue" "-")
((((triple11) -> (rule3 % int5)) ((((((((triple11) -> (rule3 % int5))) -> (rule2 % int4)) triple11) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Harry is not blue.
("Harry" "is" "blue" "-")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
int4
Harry is cold.
("Harry" "is" "cold" "+")
int5
Harry is blue.
False
9
inv-proof
[(((((triple11) -> rule3) ((((((((triple11) -> rule3)) -> rule2) triple11) -> rule1)) -> rule4)) -> rule5))]
("Harry" "is" "blue" "+")
((((triple11) -> (rule3 % int5)) ((((((((triple11) -> (rule3 % int5))) -> (rule2 % int4)) triple11) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Harry is not blue.
("Harry" "is" "blue" "-")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
int4
Harry is cold.
("Harry" "is" "cold" "+")
int5
Charlie is not quiet.
Unknown
inv-rconc
[@1: Charlie is quiet.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Charlie" "is" "quiet" "-")
Charlie is kind.
Unknown
rconc
[@2: Charlie is kind.[CWA. Example of deepest failure = (rule4 <- rule1 <- FAIL)]]
("Charlie" "is" "kind" "+")
Anne is not cold.
Unknown
inv-rconc
[@1: Anne is cold.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Anne" "is" "cold" "-")
Charlie is furry.
Unknown
rconc
[@2: Charlie is furry.[CWA. Example of deepest failure = (rule2 <- rule3 <- FAIL)]]
("Charlie" "is" "furry" "+")
Charlie is not cold.
Unknown
inv-rconc
[@1: Charlie is cold.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Charlie" "is" "cold" "-")
Harry is red.
Unknown
random
[@0: Harry is red.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "red" "+")
Charlie is not big.
Unknown
inv-random
[@0: Charlie is big.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "big" "-")
Anne is red.
Unknown
random
[@0: Anne is red.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "red" "+")
Anne is not big.
Unknown
inv-random
[@0: Anne is big.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "big" "-")
Gary is red.
Unknown
random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "+")
@0: Anne is blue.[(triple1)] Anne is kind.[(triple3 OR ((triple4) -> rule4))] Anne is not furry.[(triple2)] Anne is quiet.[(triple4)] Charlie is not blue.[(triple5)] Charlie is red.[(triple6)] Gary is big.[(triple7)] Gary is cold.[(triple8 OR ((triple7) -> rule3))] Gary is furry.[(triple9 OR ((triple8) -> rule2) OR ((((triple7) -> rule3)) -> rule2))] Gary is quiet.[(triple10 OR ((triple9 triple7) -> rule1) OR ((((triple8) -> rule2) triple7) -> rule1) OR ((((((triple7) -> rule3)) -> rule2) triple7) -> rule1))] Harry is big.[(triple11)] @1: Gary is kind.[(((triple10) -> rule4) OR ((((triple9 triple7) -> rule1)) -> rule4) OR ((((((triple8) -> rule2) triple7) -> rule1)) -> rule4) OR ((((((((triple7) -> rule3)) -> rule2) triple7) -> rule1)) -> rule4))] Harry is cold.[(((triple11) -> rule3))] @2: Gary is not blue.[(((triple8 ((triple10) -> rule4)) -> rule5) OR ((((triple7) -> rule3) ((triple10) -> rule4)) -> rule5) OR ((triple8 ((((triple9 triple7) -> rule1)) -> rule4)) -> rule5) OR ((((triple7) -> rule3) ((((triple9 triple7) -> rule1)) -> rule4)) -> rule5) OR ((triple8 ((((((triple8) -> rule2) triple7) -> rule1)) -> rule4)) -> rule5) OR ((((triple7) -> rule3) ((((((triple8) -> rule2) triple7) -> rule1)) -> rule4)) -> rule5) OR ((triple8 ((((((((triple7) -> rule3)) -> rule2) triple7) -> rule1)) -> rule4)) -> rule5) OR ((((triple7) -> rule3) ((((((((triple7) -> rule3)) -> rule2) triple7) -> rule1)) -> rule4)) -> rule5))] Harry is furry.[(((((triple11) -> rule3)) -> rule2))] @3: Harry is quiet.[(((((((triple11) -> rule3)) -> rule2) triple11) -> rule1))] @4: Harry is kind.[(((((((((triple11) -> rule3)) -> rule2) triple11) -> rule1)) -> rule4))] @5: Harry is not blue.[(((((triple11) -> rule3) ((((((((triple11) -> rule3)) -> rule2) triple11) -> rule1)) -> rule4)) -> rule5))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is kind.
("Anne" "is" "kind" "+")
triple3
((triple4) -> (rule4 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is not furry.
("Anne" "is" "furry" "-")
triple2
Anne is quiet.
("Anne" "is" "quiet" "+")
triple4
Charlie is not blue.
("Charlie" "is" "blue" "-")
triple5
Charlie is red.
("Charlie" "is" "red" "+")
triple6
Gary is big.
("Gary" "is" "big" "+")
triple7
Gary is cold.
("Gary" "is" "cold" "+")
triple8
((triple7) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
triple9
((triple8) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((((triple7) -> (rule3 % int2))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
triple10
((triple9 triple7) -> (rule1 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple8) -> (rule2 % int2)) triple7) -> (rule1 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((((((triple7) -> (rule3 % int3))) -> (rule2 % int2)) triple7) -> (rule1 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
triple11
Gary is kind.
("Gary" "is" "kind" "+")
((triple10) -> (rule4 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((((triple9 triple7) -> (rule1 % int2))) -> (rule4 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
((((((triple8) -> (rule2 % int3)) triple7) -> (rule1 % int2))) -> (rule4 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((((((((triple7) -> (rule3 % int4))) -> (rule2 % int3)) triple7) -> (rule1 % int2))) -> (rule4 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Harry is cold.
("Harry" "is" "cold" "+")
((triple11) -> (rule3 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Gary is not blue.
("Gary" "is" "blue" "-")
((triple8 ((triple10) -> (rule4 % int2))) -> (rule5 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
((((triple7) -> (rule3 % int3)) ((triple10) -> (rule4 % int2))) -> (rule5 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
((triple8 ((((triple9 triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
((((triple7) -> (rule3 % int4)) ((((triple9 triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
((triple8 ((((((triple8) -> (rule2 % int4)) triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
((((triple7) -> (rule3 % int5)) ((((((triple8) -> (rule2 % int4)) triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
Gary is cold.
("Gary" "is" "cold" "+")
int5
((triple8 ((((((((triple7) -> (rule3 % int5))) -> (rule2 % int4)) triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
Gary is cold.
("Gary" "is" "cold" "+")
int5
((((triple7) -> (rule3 % int5)) ((((((((triple7) -> (rule3 % int5))) -> (rule2 % int4)) triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
Gary is cold.
("Gary" "is" "cold" "+")
int5
Harry is furry.
("Harry" "is" "furry" "+")
((((triple11) -> (rule3 % int2))) -> (rule2 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
((((((triple11) -> (rule3 % int3))) -> (rule2 % int2)) triple11) -> (rule1 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
((((((((triple11) -> (rule3 % int4))) -> (rule2 % int3)) triple11) -> (rule1 % int2))) -> (rule4 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is not blue.
("Harry" "is" "blue" "-")
((((triple11) -> (rule3 % int5)) ((((((((triple11) -> (rule3 % int5))) -> (rule2 % int4)) triple11) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Harry is not blue.
("Harry" "is" "blue" "-")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
int4
Harry is cold.
("Harry" "is" "cold" "+")
int5