Erin is kind. Erin is rough. Erin is round. Fiona is big. Fiona is cold. Fiona is furry. Fiona is quiet. Fiona is rough. Fiona is round. Gary is cold. Gary is kind. Gary is quiet. Round people are quiet. All cold, quiet people are furry. If someone is round and quiet then they are cold. If someone is cold then they are big. If Erin is round then Erin is rough. Rough people are kind. If Fiona is big and Fiona is cold then Fiona is round. All cold, rough people are big.
Erin is kind.
("Erin" "is" "kind" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is round.
("Erin" "is" "round" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Round people are quiet.
((("someone" "is" "round" "+")) -> ("someone" "is" "quiet" "+"))
All cold, quiet people are furry.
((("someone" "is" "cold" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "furry" "+"))
If someone is round and quiet then they are cold.
((("someone" "is" "round" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "cold" "+"))
If someone is cold then they are big.
((("someone" "is" "cold" "+")) -> ("someone" "is" "big" "+"))
If Erin is round then Erin is rough.
((("Erin" "is" "round" "+")) -> ("Erin" "is" "rough" "+"))
Rough people are kind.
((("someone" "is" "rough" "+")) -> ("someone" "is" "kind" "+"))
If Fiona is big and Fiona is cold then Fiona is round.
((("Fiona" "is" "big" "+") ("Fiona" "is" "cold" "+")) -> ("Fiona" "is" "round" "+"))
All cold, rough people are big.
((("someone" "is" "cold" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "big" "+"))
Fiona is big.
True
1
proof
[(triple4 OR ((triple5) -> rule4) OR ((triple5 triple8) -> rule8) OR ((((triple9 triple7) -> rule3)) -> rule4) OR ((((triple9 triple7) -> rule3) triple8) -> rule8) OR ((((triple9 ((triple9) -> rule1)) -> rule3)) -> rule4) OR ((((triple9 ((triple9) -> rule1)) -> rule3) triple8) -> rule8))]
("Fiona" "is" "big" "+")
triple4
((triple5) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((triple5 triple8) -> (rule8 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((((triple9 triple7) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple9 triple7) -> (rule3 % int2)) triple8) -> (rule8 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple9 ((triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
((((triple9 ((triple9) -> (rule1 % int3))) -> (rule3 % int2)) triple8) -> (rule8 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Gary is not kind.
False
1
inv-proof
[(triple11)]
("Gary" "is" "kind" "-")
triple11
Fiona is kind.
True
2
proof
[(((triple8) -> rule6))]
("Fiona" "is" "kind" "+")
((triple8) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Erin is not quiet.
False
2
inv-proof
[(((triple3) -> rule1))]
("Erin" "is" "quiet" "-")
((triple3) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is cold.
True
4
proof
[(((triple3 ((triple3) -> rule1)) -> rule3))]
("Erin" "is" "cold" "+")
((triple3 ((triple3) -> (rule1 % int2))) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is not cold.
False
4
inv-proof
[(((triple3 ((triple3) -> rule1)) -> rule3))]
("Erin" "is" "cold" "-")
((triple3 ((triple3) -> (rule1 % int2))) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Gary is not rough.
Unknown
inv-random
[@0: Gary is rough.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "rough" "-")
Gary is round.
Unknown
random
[@0: Gary is round.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "round" "+")
@0: Erin is kind.[(triple1 OR ((triple2) -> rule6) OR ((((triple3) -> rule5)) -> rule6))] Erin is rough.[(triple2 OR ((triple3) -> rule5))] Erin is round.[(triple3)] Fiona is big.[(triple4 OR ((triple5) -> rule4) OR ((triple5 triple8) -> rule8) OR ((((triple9 triple7) -> rule3)) -> rule4) OR ((((triple9 triple7) -> rule3) triple8) -> rule8) OR ((((triple9 ((triple9) -> rule1)) -> rule3)) -> rule4) OR ((((triple9 ((triple9) -> rule1)) -> rule3) triple8) -> rule8))] Fiona is cold.[(triple5 OR ((triple9 triple7) -> rule3) OR ((triple9 ((triple9) -> rule1)) -> rule3))] Fiona is furry.[(triple6 OR ((triple5 triple7) -> rule2) OR ((triple5 ((triple9) -> rule1)) -> rule2) OR ((((triple9 triple7) -> rule3) triple7) -> rule2) OR ((((triple9 triple7) -> rule3) ((triple9) -> rule1)) -> rule2) OR ((triple5 ((((triple4 triple5) -> rule7)) -> rule1)) -> rule2) OR ((((triple9 ((triple9) -> rule1)) -> rule3) triple7) -> rule2) OR ((((triple9 triple7) -> rule3) ((((triple4 triple5) -> rule7)) -> rule1)) -> rule2) OR ((((triple9 ((triple9) -> rule1)) -> rule3) ((triple9) -> rule1)) -> rule2) OR ((((triple9 ((triple9) -> rule1)) -> rule3) ((((triple4 triple5) -> rule7)) -> rule1)) -> rule2) OR ((triple5 ((((((triple5) -> rule4) triple5) -> rule7)) -> rule1)) -> rule2) OR ((triple5 ((((((triple5 triple8) -> rule8) triple5) -> rule7)) -> rule1)) -> rule2) OR ((((triple9 triple7) -> rule3) ((((((triple5) -> rule4) triple5) -> rule7)) -> rule1)) -> rule2) OR ((((triple9 triple7) -> rule3) ((((((triple5 triple8) -> rule8) triple5) -> rule7)) -> rule1)) -> rule2) OR ((((triple9 ((triple9) -> rule1)) -> rule3) ((((((triple5) -> rule4) triple5) -> rule7)) -> rule1)) -> rule2) OR ((((triple9 ((triple9) -> rule1)) -> rule3) ((((((triple5 triple8) -> rule8) triple5) -> rule7)) -> rule1)) -> rule2))] Fiona is quiet.[(triple7 OR ((triple9) -> rule1) OR ((((triple4 triple5) -> rule7)) -> rule1) OR ((((((triple5) -> rule4) triple5) -> rule7)) -> rule1) OR ((((((triple5 triple8) -> rule8) triple5) -> rule7)) -> rule1))] Fiona is rough.[(triple8)] Fiona is round.[(triple9 OR ((triple4 triple5) -> rule7) OR ((((triple5) -> rule4) triple5) -> rule7) OR ((((triple5 triple8) -> rule8) triple5) -> rule7))] Gary is cold.[(triple10)] Gary is kind.[(triple11)] Gary is quiet.[(triple12)] @1: Erin is quiet.[(((triple3) -> rule1))] Fiona is kind.[(((triple8) -> rule6))] Gary is big.[(((triple10) -> rule4))] Gary is furry.[(((triple10 triple12) -> rule2))] @2: Erin is cold.[(((triple3 ((triple3) -> rule1)) -> rule3))] @3: Erin is big.[(((((triple3 ((triple3) -> rule1)) -> rule3)) -> rule4) OR ((((triple3 ((triple3) -> rule1)) -> rule3) triple2) -> rule8) OR ((((triple3 ((triple3) -> rule1)) -> rule3) ((triple3) -> rule5)) -> rule8))] Erin is furry.[(((((triple3 ((triple3) -> rule1)) -> rule3) ((triple3) -> rule1)) -> rule2))]
Erin is kind.
("Erin" "is" "kind" "+")
triple1
((triple2) -> (rule6 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((((triple3) -> (rule5 % int2))) -> (rule6 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
triple2
((triple3) -> (rule5 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
triple3
Fiona is big.
("Fiona" "is" "big" "+")
triple4
((triple5) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((triple5 triple8) -> (rule8 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((((triple9 triple7) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple9 triple7) -> (rule3 % int2)) triple8) -> (rule8 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple9 ((triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
((((triple9 ((triple9) -> (rule1 % int3))) -> (rule3 % int2)) triple8) -> (rule8 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
triple5
((triple9 triple7) -> (rule3 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((triple9 ((triple9) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
triple6
((triple5 triple7) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple5 ((triple9) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((triple9 triple7) -> (rule3 % int2)) triple7) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple9 triple7) -> (rule3 % int3)) ((triple9) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((triple5 ((((triple4 triple5) -> (rule7 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
((((triple9 ((triple9) -> (rule1 % int3))) -> (rule3 % int2)) triple7) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
((((triple9 triple7) -> (rule3 % int4)) ((((triple4 triple5) -> (rule7 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
int4
((((triple9 ((triple9) -> (rule1 % int3))) -> (rule3 % int2)) ((triple9) -> (rule1 % int3))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
((((triple9 ((triple9) -> (rule1 % int4))) -> (rule3 % int3)) ((((triple4 triple5) -> (rule7 % int2))) -> (rule1 % int4))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
((triple5 ((((((triple5) -> (rule4 % int4)) triple5) -> (rule7 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is big.
("Fiona" "is" "big" "+")
int4
((triple5 ((((((triple5 triple8) -> (rule8 % int4)) triple5) -> (rule7 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is big.
("Fiona" "is" "big" "+")
int4
((((triple9 triple7) -> (rule3 % int5)) ((((((triple5) -> (rule4 % int4)) triple5) -> (rule7 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is big.
("Fiona" "is" "big" "+")
int4
Fiona is cold.
("Fiona" "is" "cold" "+")
int5
((((triple9 triple7) -> (rule3 % int5)) ((((((triple5 triple8) -> (rule8 % int4)) triple5) -> (rule7 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is big.
("Fiona" "is" "big" "+")
int4
Fiona is cold.
("Fiona" "is" "cold" "+")
int5
((((triple9 ((triple9) -> (rule1 % int5))) -> (rule3 % int4)) ((((((triple5) -> (rule4 % int3)) triple5) -> (rule7 % int2))) -> (rule1 % int5))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
int4
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int5
((((triple9 ((triple9) -> (rule1 % int5))) -> (rule3 % int4)) ((((((triple5 triple8) -> (rule8 % int3)) triple5) -> (rule7 % int2))) -> (rule1 % int5))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
int4
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int5
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple7
((triple9) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((((triple4 triple5) -> (rule7 % int2))) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((((((triple5) -> (rule4 % int3)) triple5) -> (rule7 % int2))) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
((((((triple5 triple8) -> (rule8 % int3)) triple5) -> (rule7 % int2))) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
triple8
Fiona is round.
("Fiona" "is" "round" "+")
triple9
((triple4 triple5) -> (rule7 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((((triple5) -> (rule4 % int2)) triple5) -> (rule7 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((((triple5 triple8) -> (rule8 % int2)) triple5) -> (rule7 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
triple10
Gary is kind.
("Gary" "is" "kind" "+")
triple11
Gary is quiet.
("Gary" "is" "quiet" "+")
triple12
Erin is quiet.
("Erin" "is" "quiet" "+")
((triple3) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple8) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
((triple10) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
((triple10 triple12) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
((triple3 ((triple3) -> (rule1 % int2))) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
((((triple3 ((triple3) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3
((((triple3 ((triple3) -> (rule1 % int3))) -> (rule3 % int2)) triple2) -> (rule8 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3
((((triple3 ((triple3) -> (rule1 % int4))) -> (rule3 % int3)) ((triple3) -> (rule5 % int2))) -> (rule8 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Erin is quiet.
("Erin" "is" "quiet" "+")
int4
Erin is furry.
("Erin" "is" "furry" "+")
((((triple3 ((triple3) -> (rule1 % int3))) -> (rule3 % int2)) ((triple3) -> (rule1 % int3))) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3