Bob is cold. Bob is nice. Bob is quiet. Bob is white. Dave is blue. Dave is cold. Dave is white. Erin is blue. Erin is cold. Erin is nice. Erin is white. Erin is young. If something is green then it is quiet. All cold things are nice. All white things are blue. If Erin is nice and Erin is white then Erin is young. All cold things are blue. Young things are cold. If Bob is green then Bob is blue. All blue, white things are green.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is white.
("Bob" "is" "white" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is white.
("Dave" "is" "white" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is white.
("Erin" "is" "white" "+")
Erin is young.
("Erin" "is" "young" "+")
If something is green then it is quiet.
((("something" "is" "green" "+")) -> ("something" "is" "quiet" "+"))
All cold things are nice.
((("something" "is" "cold" "+")) -> ("something" "is" "nice" "+"))
All white things are blue.
((("something" "is" "white" "+")) -> ("something" "is" "blue" "+"))
If Erin is nice and Erin is white then Erin is young.
((("Erin" "is" "nice" "+") ("Erin" "is" "white" "+")) -> ("Erin" "is" "young" "+"))
All cold things are blue.
((("something" "is" "cold" "+")) -> ("something" "is" "blue" "+"))
Young things are cold.
((("something" "is" "young" "+")) -> ("something" "is" "cold" "+"))
If Bob is green then Bob is blue.
((("Bob" "is" "green" "+")) -> ("Bob" "is" "blue" "+"))
All blue, white things are green.
((("something" "is" "blue" "+") ("something" "is" "white" "+")) -> ("something" "is" "green" "+"))
Bob is quiet.
True
1
proof
[(triple3 OR ((((((triple1) -> rule5) triple4) -> rule8)) -> rule1) OR ((((((triple4) -> rule3) triple4) -> rule8)) -> rule1))]
("Bob" "is" "quiet" "+")
triple3
((((((triple1) -> (rule5 % int3)) triple4) -> (rule8 % int2))) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
((((((triple4) -> (rule3 % int3)) triple4) -> (rule8 % int2))) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is not quiet.
False
1
inv-proof
[(triple3 OR ((((((triple1) -> rule5) triple4) -> rule8)) -> rule1) OR ((((((triple4) -> rule3) triple4) -> rule8)) -> rule1))]
("Bob" "is" "quiet" "-")
triple3
((((((triple1) -> (rule5 % int3)) triple4) -> (rule8 % int2))) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
((((((triple4) -> (rule3 % int3)) triple4) -> (rule8 % int2))) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Dave is green.
True
3
proof
[(((triple5 triple7) -> rule8) OR ((((triple6) -> rule5) triple7) -> rule8) OR ((((triple7) -> rule3) triple7) -> rule8))]
("Dave" "is" "green" "+")
((triple5 triple7) -> (rule8 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
((((triple6) -> (rule5 % int2)) triple7) -> (rule8 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple7) -> (rule3 % int2)) triple7) -> (rule8 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is not nice.
False
2
inv-proof
[(((triple6) -> rule2))]
("Dave" "is" "nice" "-")
((triple6) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is quiet.
True
4
proof
[(((((triple5 triple7) -> rule8)) -> rule1) OR ((((((triple6) -> rule5) triple7) -> rule8)) -> rule1) OR ((((((triple7) -> rule3) triple7) -> rule8)) -> rule1))]
("Dave" "is" "quiet" "+")
((((triple5 triple7) -> (rule8 % int2))) -> (rule1 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
((((((triple6) -> (rule5 % int3)) triple7) -> (rule8 % int2))) -> (rule1 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((((triple7) -> (rule3 % int3)) triple7) -> (rule8 % int2))) -> (rule1 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Erin is not quiet.
False
4
inv-proof
[(((((triple8 triple11) -> rule8)) -> rule1) OR ((((((triple11) -> rule3) triple11) -> rule8)) -> rule1) OR ((((((triple9) -> rule5) triple11) -> rule8)) -> rule1) OR ((((((((triple12) -> rule6)) -> rule5) triple11) -> rule8)) -> rule1) OR ((((((((((triple10 triple11) -> rule4)) -> rule6)) -> rule5) triple11) -> rule8)) -> rule1))]
("Erin" "is" "quiet" "-")
((((triple8 triple11) -> (rule8 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
((((((triple11) -> (rule3 % int3)) triple11) -> (rule8 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((((triple9) -> (rule5 % int3)) triple11) -> (rule8 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((((((triple12) -> (rule6 % int4))) -> (rule5 % int3)) triple11) -> (rule8 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
((((((((((triple10 triple11) -> (rule4 % int5))) -> (rule6 % int4))) -> (rule5 % int3)) triple11) -> (rule8 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Erin is young.
("Erin" "is" "young" "+")
int5
Dave is not young.
Unknown
inv-random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "-")
Bob is young.
Unknown
random
[@0: Bob is young.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "young" "+")
@0: Bob is cold.[(triple1)] Bob is nice.[(triple2 OR ((triple1) -> rule2))] Bob is quiet.[(triple3 OR ((((((triple1) -> rule5) triple4) -> rule8)) -> rule1) OR ((((((triple4) -> rule3) triple4) -> rule8)) -> rule1))] Bob is white.[(triple4)] Dave is blue.[(triple5 OR ((triple6) -> rule5) OR ((triple7) -> rule3))] Dave is cold.[(triple6)] Dave is white.[(triple7)] Erin is blue.[(triple8 OR ((triple11) -> rule3) OR ((triple9) -> rule5) OR ((((triple12) -> rule6)) -> rule5) OR ((((((triple10 triple11) -> rule4)) -> rule6)) -> rule5))] Erin is cold.[(triple9 OR ((triple12) -> rule6) OR ((((triple10 triple11) -> rule4)) -> rule6))] Erin is nice.[(triple10 OR ((triple9) -> rule2) OR ((((triple12) -> rule6)) -> rule2))] Erin is white.[(triple11)] Erin is young.[(triple12 OR ((triple10 triple11) -> rule4) OR ((((triple9) -> rule2) triple11) -> rule4))] @1: Bob is blue.[(((triple1) -> rule5) OR ((triple4) -> rule3))] Dave is green.[(((triple5 triple7) -> rule8) OR ((((triple6) -> rule5) triple7) -> rule8) OR ((((triple7) -> rule3) triple7) -> rule8))] Dave is nice.[(((triple6) -> rule2))] Erin is green.[(((triple8 triple11) -> rule8) OR ((((triple11) -> rule3) triple11) -> rule8) OR ((((triple9) -> rule5) triple11) -> rule8) OR ((((((triple12) -> rule6)) -> rule5) triple11) -> rule8) OR ((((((((triple10 triple11) -> rule4)) -> rule6)) -> rule5) triple11) -> rule8))] @2: Bob is green.[(((((triple1) -> rule5) triple4) -> rule8) OR ((((triple4) -> rule3) triple4) -> rule8))] Dave is quiet.[(((((triple5 triple7) -> rule8)) -> rule1) OR ((((((triple6) -> rule5) triple7) -> rule8)) -> rule1) OR ((((((triple7) -> rule3) triple7) -> rule8)) -> rule1))] Erin is quiet.[(((((triple8 triple11) -> rule8)) -> rule1) OR ((((((triple11) -> rule3) triple11) -> rule8)) -> rule1) OR ((((((triple9) -> rule5) triple11) -> rule8)) -> rule1) OR ((((((((triple12) -> rule6)) -> rule5) triple11) -> rule8)) -> rule1) OR ((((((((((triple10 triple11) -> rule4)) -> rule6)) -> rule5) triple11) -> rule8)) -> rule1))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
((triple1) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
((((((triple1) -> (rule5 % int3)) triple4) -> (rule8 % int2))) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
((((((triple4) -> (rule3 % int3)) triple4) -> (rule8 % int2))) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is white.
("Bob" "is" "white" "+")
triple4
Dave is blue.
("Dave" "is" "blue" "+")
triple5
((triple6) -> (rule5 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((triple7) -> (rule3 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
triple6
Dave is white.
("Dave" "is" "white" "+")
triple7
Erin is blue.
("Erin" "is" "blue" "+")
triple8
((triple11) -> (rule3 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((triple9) -> (rule5 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((((triple12) -> (rule6 % int2))) -> (rule5 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((((triple10 triple11) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
triple9
((triple12) -> (rule6 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((((triple10 triple11) -> (rule4 % int2))) -> (rule6 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
triple10
((triple9) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((((triple12) -> (rule6 % int2))) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
triple11
Erin is young.
("Erin" "is" "young" "+")
triple12
((triple10 triple11) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((((triple9) -> (rule2 % int2)) triple11) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
((triple1) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple4) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
((triple5 triple7) -> (rule8 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
((((triple6) -> (rule5 % int2)) triple7) -> (rule8 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple7) -> (rule3 % int2)) triple7) -> (rule8 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
((triple6) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
((triple8 triple11) -> (rule8 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
((((triple11) -> (rule3 % int2)) triple11) -> (rule8 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((triple9) -> (rule5 % int2)) triple11) -> (rule8 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((((triple12) -> (rule6 % int3))) -> (rule5 % int2)) triple11) -> (rule8 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((((((triple10 triple11) -> (rule4 % int4))) -> (rule6 % int3))) -> (rule5 % int2)) triple11) -> (rule8 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Erin is young.
("Erin" "is" "young" "+")
int4
Bob is green.
("Bob" "is" "green" "+")
((((triple1) -> (rule5 % int2)) triple4) -> (rule8 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((triple4) -> (rule3 % int2)) triple4) -> (rule8 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
((((triple5 triple7) -> (rule8 % int2))) -> (rule1 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
((((((triple6) -> (rule5 % int3)) triple7) -> (rule8 % int2))) -> (rule1 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((((triple7) -> (rule3 % int3)) triple7) -> (rule8 % int2))) -> (rule1 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Erin is quiet.
("Erin" "is" "quiet" "+")
((((triple8 triple11) -> (rule8 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
((((((triple11) -> (rule3 % int3)) triple11) -> (rule8 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((((triple9) -> (rule5 % int3)) triple11) -> (rule8 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((((((triple12) -> (rule6 % int4))) -> (rule5 % int3)) triple11) -> (rule8 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
((((((((((triple10 triple11) -> (rule4 % int5))) -> (rule6 % int4))) -> (rule5 % int3)) triple11) -> (rule8 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Erin is young.
("Erin" "is" "young" "+")
int5