Bob is cold. Bob is furry. Bob is kind. Bob is quiet. Bob is red. Charlie is furry. Charlie is kind. Charlie is quiet. Charlie is red. Charlie is rough. Charlie is smart. Erin is smart. Gary is cold. Gary is furry. Gary is red. Gary is rough. If Charlie is furry then Charlie is kind. If Erin is smart then Erin is kind. If something is red then it is kind. If something is furry and smart then it is kind. If something is red then it is furry. Furry things are rough. If something is kind then it is red. All rough things are cold. If Gary is rough and Gary is not cold then Gary is not quiet.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is rough.
("Gary" "is" "rough" "+")
If Charlie is furry then Charlie is kind.
((("Charlie" "is" "furry" "+")) -> ("Charlie" "is" "kind" "+"))
If Erin is smart then Erin is kind.
((("Erin" "is" "smart" "+")) -> ("Erin" "is" "kind" "+"))
If something is red then it is kind.
((("something" "is" "red" "+")) -> ("something" "is" "kind" "+"))
If something is furry and smart then it is kind.
((("something" "is" "furry" "+") ("something" "is" "smart" "+")) -> ("something" "is" "kind" "+"))
If something is red then it is furry.
((("something" "is" "red" "+")) -> ("something" "is" "furry" "+"))
Furry things are rough.
((("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
If something is kind then it is red.
((("something" "is" "kind" "+")) -> ("something" "is" "red" "+"))
All rough things are cold.
((("something" "is" "rough" "+")) -> ("something" "is" "cold" "+"))
If Gary is rough and Gary is not cold then Gary is not quiet.
((("Gary" "is" "rough" "+") ("Gary" "is" "cold" "~")) -> ("Gary" "is" "quiet" "-"))
Bob is cold.
True
1
proof
[(triple1 OR ((((triple2) -> rule6)) -> rule8) OR ((((((triple5) -> rule5)) -> rule6)) -> rule8) OR ((((((((triple3) -> rule7)) -> rule5)) -> rule6)) -> rule8))]
("Bob" "is" "cold" "+")
triple1
((((triple2) -> (rule6 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
((((((triple5) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
((((((((triple3) -> (rule7 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
int4
Charlie is not red.
False
1
inv-proof
[(triple9 OR ((triple7) -> rule7) OR ((((triple6) -> rule1)) -> rule7) OR ((((triple6 triple11) -> rule4)) -> rule7))]
("Charlie" "is" "red" "-")
triple9
((triple7) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((((triple6) -> (rule1 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((((triple6 triple11) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Bob is rough.
True
2
proof
[(((triple2) -> rule6) OR ((((triple5) -> rule5)) -> rule6) OR ((((((triple3) -> rule7)) -> rule5)) -> rule6))]
("Bob" "is" "rough" "+")
((triple2) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((((triple5) -> (rule5 % int2))) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
((((((triple3) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Gary is not kind.
False
2
inv-proof
[(((triple15) -> rule3))]
("Gary" "is" "kind" "-")
((triple15) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Erin is red.
True
3
proof
[(((((triple12) -> rule2)) -> rule7))]
("Erin" "is" "red" "+")
((((triple12) -> (rule2 % int2))) -> (rule7 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is not red.
False
3
inv-proof
[(((((triple12) -> rule2)) -> rule7))]
("Erin" "is" "red" "-")
((((triple12) -> (rule2 % int2))) -> (rule7 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is furry.
True
4
proof
[(((((((triple12) -> rule2)) -> rule7)) -> rule5))]
("Erin" "is" "furry" "+")
((((((triple12) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is not furry.
False
4
inv-proof
[(((((((triple12) -> rule2)) -> rule7)) -> rule5))]
("Erin" "is" "furry" "-")
((((((triple12) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is rough.
True
5
proof
[(((((((((triple12) -> rule2)) -> rule7)) -> rule5)) -> rule6))]
("Erin" "is" "rough" "+")
((((((((triple12) -> (rule2 % int4))) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
int4
Erin is not rough.
False
5
inv-proof
[(((((((((triple12) -> rule2)) -> rule7)) -> rule5)) -> rule6))]
("Erin" "is" "rough" "-")
((((((((triple12) -> (rule2 % int4))) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
int4
Erin is cold.
True
6
proof
[(((((((((((triple12) -> rule2)) -> rule7)) -> rule5)) -> rule6)) -> rule8))]
("Erin" "is" "cold" "+")
((((((((((triple12) -> (rule2 % int5))) -> (rule7 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is kind.
("Erin" "is" "kind" "+")
int5
Erin is not cold.
False
6
inv-proof
[(((((((((((triple12) -> rule2)) -> rule7)) -> rule5)) -> rule6)) -> rule8))]
("Erin" "is" "cold" "-")
((((((((((triple12) -> (rule2 % int5))) -> (rule7 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is kind.
("Erin" "is" "kind" "+")
int5
Gary is not quiet.
Unknown
inv-random
[@0: Gary is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "quiet" "-")
Bob is smart.
Unknown
random
[@0: Bob is smart.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "smart" "+")
Erin is not quiet.
Unknown
inv-random
[@0: Erin is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "quiet" "-")
Gary is smart.
Unknown
random
[@0: Gary is smart.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "smart" "+")
@0: Bob is cold.[(triple1 OR ((((triple2) -> rule6)) -> rule8) OR ((((((triple5) -> rule5)) -> rule6)) -> rule8) OR ((((((((triple3) -> rule7)) -> rule5)) -> rule6)) -> rule8))] Bob is furry.[(triple2 OR ((triple5) -> rule5) OR ((((triple3) -> rule7)) -> rule5))] Bob is kind.[(triple3 OR ((triple5) -> rule3))] Bob is quiet.[(triple4)] Bob is red.[(triple5 OR ((triple3) -> rule7))] Charlie is furry.[(triple6 OR ((triple9) -> rule5) OR ((((triple7) -> rule7)) -> rule5))] Charlie is kind.[(triple7 OR ((triple6) -> rule1) OR ((triple9) -> rule3) OR ((triple6 triple11) -> rule4) OR ((((triple9) -> rule5)) -> rule1) OR ((((triple9) -> rule5) triple11) -> rule4))] Charlie is quiet.[(triple8)] Charlie is red.[(triple9 OR ((triple7) -> rule7) OR ((((triple6) -> rule1)) -> rule7) OR ((((triple6 triple11) -> rule4)) -> rule7))] Charlie is rough.[(triple10 OR ((triple6) -> rule6) OR ((((triple9) -> rule5)) -> rule6) OR ((((((triple7) -> rule7)) -> rule5)) -> rule6))] Charlie is smart.[(triple11)] Erin is smart.[(triple12)] Gary is cold.[(triple13 OR ((triple16) -> rule8) OR ((((triple14) -> rule6)) -> rule8) OR ((((((triple15) -> rule5)) -> rule6)) -> rule8))] Gary is furry.[(triple14 OR ((triple15) -> rule5))] Gary is red.[(triple15)] Gary is rough.[(triple16 OR ((triple14) -> rule6) OR ((((triple15) -> rule5)) -> rule6))] @1: Bob is rough.[(((triple2) -> rule6) OR ((((triple5) -> rule5)) -> rule6) OR ((((((triple3) -> rule7)) -> rule5)) -> rule6))] Charlie is cold.[(((triple10) -> rule8) OR ((((triple6) -> rule6)) -> rule8) OR ((((((triple9) -> rule5)) -> rule6)) -> rule8) OR ((((((((triple7) -> rule7)) -> rule5)) -> rule6)) -> rule8))] Erin is kind.[(((triple12) -> rule2))] Gary is kind.[(((triple15) -> rule3))] @2: Erin is red.[(((((triple12) -> rule2)) -> rule7))] @3: Erin is furry.[(((((((triple12) -> rule2)) -> rule7)) -> rule5))] @4: Erin is rough.[(((((((((triple12) -> rule2)) -> rule7)) -> rule5)) -> rule6))] @5: Erin is cold.[(((((((((((triple12) -> rule2)) -> rule7)) -> rule5)) -> rule6)) -> rule8))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
((((triple2) -> (rule6 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
((((((triple5) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
((((((((triple3) -> (rule7 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
int4
Bob is furry.
("Bob" "is" "furry" "+")
triple2
((triple5) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((((triple3) -> (rule7 % int2))) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
triple3
((triple5) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
Bob is red.
("Bob" "is" "red" "+")
triple5
((triple3) -> (rule7 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple6
((triple9) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((triple7) -> (rule7 % int2))) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
triple7
((triple6) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((triple9) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((triple6 triple11) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((((triple9) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((((triple9) -> (rule5 % int2)) triple11) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple8
Charlie is red.
("Charlie" "is" "red" "+")
triple9
((triple7) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((((triple6) -> (rule1 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((((triple6 triple11) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
triple10
((triple6) -> (rule6 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((((triple9) -> (rule5 % int2))) -> (rule6 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((((((triple7) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is smart.
("Charlie" "is" "smart" "+")
triple11
Erin is smart.
("Erin" "is" "smart" "+")
triple12
Gary is cold.
("Gary" "is" "cold" "+")
triple13
((triple16) -> (rule8 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
((((triple14) -> (rule6 % int2))) -> (rule8 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((((((triple15) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
triple14
((triple15) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
triple15
Gary is rough.
("Gary" "is" "rough" "+")
triple16
((triple14) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((((triple15) -> (rule5 % int2))) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
((triple2) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((((triple5) -> (rule5 % int2))) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
((((((triple3) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple10) -> (rule8 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
((((triple6) -> (rule6 % int2))) -> (rule8 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((((((triple9) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
((((((((triple7) -> (rule7 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Erin is kind.
("Erin" "is" "kind" "+")
((triple12) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
((triple15) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
((((triple12) -> (rule2 % int2))) -> (rule7 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
((((((triple12) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is rough.
("Erin" "is" "rough" "+")
((((((((triple12) -> (rule2 % int4))) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
int4
Erin is cold.
("Erin" "is" "cold" "+")
((((((((((triple12) -> (rule2 % int5))) -> (rule7 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is kind.
("Erin" "is" "kind" "+")
int5