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