Bob is big. Bob is cold. Bob is kind. Bob is quiet. Charlie is furry. Dave is furry. Erin is big. Erin is furry. Erin is kind. Erin is quiet. Red, cold people are big. If someone is cold and furry then they are red. Furry people are cold. If someone is cold and red then they are furry. All kind, furry people are cold. If Charlie is big then Charlie is kind. If someone is quiet and green then they are big. All cold, kind people are quiet. All quiet people are red.
Bob is big.
("Bob" "is" "big" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Red, cold people are big.
((("someone" "is" "red" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "big" "+"))
If someone is cold and furry then they are red.
((("someone" "is" "cold" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
Furry people are cold.
((("someone" "is" "furry" "+")) -> ("someone" "is" "cold" "+"))
If someone is cold and red then they are furry.
((("someone" "is" "cold" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "furry" "+"))
All kind, furry people are cold.
((("someone" "is" "kind" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "cold" "+"))
If Charlie is big then Charlie is kind.
((("Charlie" "is" "big" "+")) -> ("Charlie" "is" "kind" "+"))
If someone is quiet and green then they are big.
((("someone" "is" "quiet" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "big" "+"))
All cold, kind people are quiet.
((("someone" "is" "cold" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "quiet" "+"))
All quiet people are red.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "red" "+"))
Dave is furry.
True
1
proof
[(triple6)]
("Dave" "is" "furry" "+")
triple6
Bob is not quiet.
False
1
inv-proof
[(triple4 OR ((triple2 triple3) -> rule8))]
("Bob" "is" "quiet" "-")
triple4
((triple2 triple3) -> (rule8 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is red.
True
2
proof
[(((triple4) -> rule9) OR ((((triple2 triple3) -> rule8)) -> rule9))]
("Bob" "is" "red" "+")
((triple4) -> (rule9 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((((triple2 triple3) -> (rule8 % int2))) -> (rule9 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Dave is not cold.
False
2
inv-proof
[(((triple6) -> rule3))]
("Dave" "is" "cold" "-")
((triple6) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Charlie is red.
True
4
proof
[(((((triple5) -> rule3) triple5) -> rule2))]
("Charlie" "is" "red" "+")
((((triple5) -> (rule3 % int2)) triple5) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Bob is not furry.
False
4
inv-proof
[(((triple2 ((triple4) -> rule9)) -> rule4) OR ((triple2 ((((triple2 triple3) -> rule8)) -> rule9)) -> rule4))]
("Bob" "is" "furry" "-")
((triple2 ((triple4) -> (rule9 % int2))) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
((triple2 ((((triple2 triple3) -> (rule8 % int3))) -> (rule9 % int2))) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Dave is big.
True
7
proof
[(((((((triple6) -> rule3) triple6) -> rule2) ((triple6) -> rule3)) -> rule1))]
("Dave" "is" "big" "+")
((((((triple6) -> (rule3 % int3)) triple6) -> (rule2 % int2)) ((triple6) -> (rule3 % int3))) -> (rule1 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is not big.
False
7
inv-proof
[(((((((triple6) -> rule3) triple6) -> rule2) ((triple6) -> rule3)) -> rule1))]
("Dave" "is" "big" "-")
((((((triple6) -> (rule3 % int3)) triple6) -> (rule2 % int2)) ((triple6) -> (rule3 % int3))) -> (rule1 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Charlie is kind.
True
8
proof
[(((((((((triple5) -> rule3) triple5) -> rule2) ((triple5) -> rule3)) -> rule1)) -> rule6))]
("Charlie" "is" "kind" "+")
((((((((triple5) -> (rule3 % int4)) triple5) -> (rule2 % int3)) ((triple5) -> (rule3 % int4))) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
Charlie is not kind.
False
8
inv-proof
[(((((((((triple5) -> rule3) triple5) -> rule2) ((triple5) -> rule3)) -> rule1)) -> rule6))]
("Charlie" "is" "kind" "-")
((((((((triple5) -> (rule3 % int4)) triple5) -> (rule2 % int3)) ((triple5) -> (rule3 % int4))) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
Charlie is quiet.
True
11
proof
[(((((triple5) -> rule3) ((((((((triple5) -> rule3) triple5) -> rule2) ((triple5) -> rule3)) -> rule1)) -> rule6)) -> rule8))]
("Charlie" "is" "quiet" "+")
((((triple5) -> (rule3 % int5)) ((((((((triple5) -> (rule3 % int5)) triple5) -> (rule2 % int4)) ((triple5) -> (rule3 % int5))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is cold.
("Charlie" "is" "cold" "+")
int5
Charlie is not quiet.
False
11
inv-proof
[(((((triple5) -> rule3) ((((((((triple5) -> rule3) triple5) -> rule2) ((triple5) -> rule3)) -> rule1)) -> rule6)) -> rule8))]
("Charlie" "is" "quiet" "-")
((((triple5) -> (rule3 % int5)) ((((((((triple5) -> (rule3 % int5)) triple5) -> (rule2 % int4)) ((triple5) -> (rule3 % int5))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is cold.
("Charlie" "is" "cold" "+")
int5
Dave is not quiet.
Unknown
inv-rconc
[@1: Dave is quiet.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Dave" "is" "quiet" "-")
Erin is green.
Unknown
random
[@0: Erin is green.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "green" "+")
Dave is not green.
Unknown
inv-random
[@0: Dave is green.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "green" "-")
Bob is green.
Unknown
random
[@0: Bob is green.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "green" "+")
Dave is not kind.
Unknown
inv-random
[@0: Dave is kind.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "kind" "-")
Charlie is green.
Unknown
random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "+")
@0: Bob is big.[(triple1 OR ((((triple4) -> rule9) triple2) -> rule1) OR ((((((triple2 triple3) -> rule8)) -> rule9) triple2) -> rule1))] Bob is cold.[(triple2)] Bob is kind.[(triple3)] Bob is quiet.[(triple4 OR ((triple2 triple3) -> rule8))] Charlie is furry.[(triple5)] Dave is furry.[(triple6)] Erin is big.[(triple7 OR ((((triple10) -> rule9) ((triple8) -> rule3)) -> rule1) OR ((((triple10) -> rule9) ((triple9 triple8) -> rule5)) -> rule1) OR ((((((triple8) -> rule3) triple8) -> rule2) ((triple8) -> rule3)) -> rule1) OR ((((((triple8) -> rule3) triple8) -> rule2) ((triple9 triple8) -> rule5)) -> rule1) OR ((((((triple9 triple8) -> rule5) triple8) -> rule2) ((triple8) -> rule3)) -> rule1) OR ((((((triple9 triple8) -> rule5) triple8) -> rule2) ((triple9 triple8) -> rule5)) -> rule1) OR ((((((((triple8) -> rule3) triple9) -> rule8)) -> rule9) ((triple8) -> rule3)) -> rule1) OR ((((((((triple8) -> rule3) triple9) -> rule8)) -> rule9) ((triple9 triple8) -> rule5)) -> rule1) OR ((((((((triple9 triple8) -> rule5) triple9) -> rule8)) -> rule9) ((triple8) -> rule3)) -> rule1) OR ((((((((triple9 triple8) -> rule5) triple9) -> rule8)) -> rule9) ((triple9 triple8) -> rule5)) -> rule1))] Erin is furry.[(triple8)] Erin is kind.[(triple9)] Erin is quiet.[(triple10 OR ((((triple8) -> rule3) triple9) -> rule8) OR ((((triple9 triple8) -> rule5) triple9) -> rule8))] @1: Bob is red.[(((triple4) -> rule9) OR ((((triple2 triple3) -> rule8)) -> rule9))] Charlie is cold.[(((triple5) -> rule3))] Dave is cold.[(((triple6) -> rule3))] Erin is cold.[(((triple8) -> rule3) OR ((triple9 triple8) -> rule5))] Erin is red.[(((triple10) -> rule9) OR ((((triple8) -> rule3) triple8) -> rule2) OR ((((triple9 triple8) -> rule5) triple8) -> rule2) OR ((((((triple8) -> rule3) triple9) -> rule8)) -> rule9) OR ((((((triple9 triple8) -> rule5) triple9) -> rule8)) -> rule9))] @2: Bob is furry.[(((triple2 ((triple4) -> rule9)) -> rule4) OR ((triple2 ((((triple2 triple3) -> rule8)) -> rule9)) -> rule4))] Charlie is red.[(((((triple5) -> rule3) triple5) -> rule2))] Dave is red.[(((((triple6) -> rule3) triple6) -> rule2))] @3: Charlie is big.[(((((((triple5) -> rule3) triple5) -> rule2) ((triple5) -> rule3)) -> rule1))] Dave is big.[(((((((triple6) -> rule3) triple6) -> rule2) ((triple6) -> rule3)) -> rule1))] @4: Charlie is kind.[(((((((((triple5) -> rule3) triple5) -> rule2) ((triple5) -> rule3)) -> rule1)) -> rule6))] @5: Charlie is quiet.[(((((triple5) -> rule3) ((((((((triple5) -> rule3) triple5) -> rule2) ((triple5) -> rule3)) -> rule1)) -> rule6)) -> rule8))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((((triple4) -> (rule9 % int2)) triple2) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
((((((triple2 triple3) -> (rule8 % int3))) -> (rule9 % int2)) triple2) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
triple2
Bob is kind.
("Bob" "is" "kind" "+")
triple3
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
((triple2 triple3) -> (rule8 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple5
Dave is furry.
("Dave" "is" "furry" "+")
triple6
Erin is big.
("Erin" "is" "big" "+")
triple7
((((triple10) -> (rule9 % int3)) ((triple8) -> (rule3 % int2))) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
((((triple10) -> (rule9 % int3)) ((triple9 triple8) -> (rule5 % int2))) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
((((((triple8) -> (rule3 % int3)) triple8) -> (rule2 % int2)) ((triple8) -> (rule3 % int3))) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((((triple8) -> (rule3 % int3)) triple8) -> (rule2 % int2)) ((triple9 triple8) -> (rule5 % int3))) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((((triple9 triple8) -> (rule5 % int3)) triple8) -> (rule2 % int2)) ((triple8) -> (rule3 % int3))) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((((triple9 triple8) -> (rule5 % int3)) triple8) -> (rule2 % int2)) ((triple9 triple8) -> (rule5 % int3))) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((((((triple8) -> (rule3 % int4)) triple9) -> (rule8 % int3))) -> (rule9 % int2)) ((triple8) -> (rule3 % int4))) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
((((((((triple8) -> (rule3 % int4)) triple9) -> (rule8 % int3))) -> (rule9 % int2)) ((triple9 triple8) -> (rule5 % int4))) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
((((((((triple9 triple8) -> (rule5 % int4)) triple9) -> (rule8 % int3))) -> (rule9 % int2)) ((triple8) -> (rule3 % int4))) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
((((((((triple9 triple8) -> (rule5 % int4)) triple9) -> (rule8 % int3))) -> (rule9 % int2)) ((triple9 triple8) -> (rule5 % int4))) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Erin is furry.
("Erin" "is" "furry" "+")
triple8
Erin is kind.
("Erin" "is" "kind" "+")
triple9
Erin is quiet.
("Erin" "is" "quiet" "+")
triple10
((((triple8) -> (rule3 % int2)) triple9) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((triple9 triple8) -> (rule5 % int2)) triple9) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
((triple4) -> (rule9 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((((triple2 triple3) -> (rule8 % int2))) -> (rule9 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple5) -> (rule3 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
((triple6) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
((triple8) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((triple9 triple8) -> (rule5 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
((triple10) -> (rule9 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((((triple8) -> (rule3 % int2)) triple8) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((triple9 triple8) -> (rule5 % int2)) triple8) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((((triple8) -> (rule3 % int3)) triple9) -> (rule8 % int2))) -> (rule9 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((((triple9 triple8) -> (rule5 % int3)) triple9) -> (rule8 % int2))) -> (rule9 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
((triple2 ((triple4) -> (rule9 % int2))) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
((triple2 ((((triple2 triple3) -> (rule8 % int3))) -> (rule9 % int2))) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
((((triple5) -> (rule3 % int2)) triple5) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
((((triple6) -> (rule3 % int2)) triple6) -> (rule2 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
((((((triple5) -> (rule3 % int3)) triple5) -> (rule2 % int2)) ((triple5) -> (rule3 % int3))) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Dave is big.
("Dave" "is" "big" "+")
((((((triple6) -> (rule3 % int3)) triple6) -> (rule2 % int2)) ((triple6) -> (rule3 % int3))) -> (rule1 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
((((((((triple5) -> (rule3 % int4)) triple5) -> (rule2 % int3)) ((triple5) -> (rule3 % int4))) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((((triple5) -> (rule3 % int5)) ((((((((triple5) -> (rule3 % int5)) triple5) -> (rule2 % int4)) ((triple5) -> (rule3 % int5))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is cold.
("Charlie" "is" "cold" "+")
int5