Bob is big. Bob is green. Bob is quiet. Bob is white. Bob is young. Dave is cold. Dave is green. Dave is quiet. Dave is young. Erin is big. Erin is cold. Erin is green. Erin is quiet. Erin is rough. Erin is white. Erin is young. If someone is young then they are quiet. Big, cold people are rough. All young people are cold. If someone is green then they are young. If someone is cold and rough then they are green. Big, green people are cold.
Bob is big.
("Bob" "is" "big" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is young.
("Dave" "is" "young" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is white.
("Erin" "is" "white" "+")
Erin is young.
("Erin" "is" "young" "+")
If someone is young then they are quiet.
((("someone" "is" "young" "+")) -> ("someone" "is" "quiet" "+"))
Big, cold people are rough.
((("someone" "is" "big" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "rough" "+"))
All young people are cold.
((("someone" "is" "young" "+")) -> ("someone" "is" "cold" "+"))
If someone is green then they are young.
((("someone" "is" "green" "+")) -> ("someone" "is" "young" "+"))
If someone is cold and rough then they are green.
((("someone" "is" "cold" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "green" "+"))
Big, green people are cold.
((("someone" "is" "big" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "cold" "+"))
Dave is cold.
True
1
proof
[(triple6 OR ((triple9) -> rule3) OR ((((triple7) -> rule4)) -> rule3))]
("Dave" "is" "cold" "+")
triple6
((triple9) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((((triple7) -> (rule4 % int2))) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Bob is not big.
False
1
inv-proof
[(triple1)]
("Bob" "is" "big" "-")
triple1
Bob is cold.
True
2
proof
[(((triple5) -> rule3) OR ((triple1 triple2) -> rule6) OR ((((triple2) -> rule4)) -> rule3))]
("Bob" "is" "cold" "+")
((triple5) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((triple1 triple2) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple2) -> (rule4 % int2))) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is not cold.
False
2
inv-proof
[(((triple5) -> rule3) OR ((triple1 triple2) -> rule6) OR ((((triple2) -> rule4)) -> rule3))]
("Bob" "is" "cold" "-")
((triple5) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((triple1 triple2) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple2) -> (rule4 % int2))) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is rough.
True
4
proof
[(((triple1 ((triple5) -> rule3)) -> rule2) OR ((triple1 ((triple1 triple2) -> rule6)) -> rule2) OR ((triple1 ((((triple2) -> rule4)) -> rule3)) -> rule2))]
("Bob" "is" "rough" "+")
((triple1 ((triple5) -> (rule3 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((triple1 ((triple1 triple2) -> (rule6 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((triple1 ((((triple2) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is not rough.
False
4
inv-proof
[(((triple1 ((triple5) -> rule3)) -> rule2) OR ((triple1 ((triple1 triple2) -> rule6)) -> rule2) OR ((triple1 ((((triple2) -> rule4)) -> rule3)) -> rule2))]
("Bob" "is" "rough" "-")
((triple1 ((triple5) -> (rule3 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((triple1 ((triple1 triple2) -> (rule6 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((triple1 ((((triple2) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Dave is not rough.
Unknown
inv-rconc
[@1: Dave is rough.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Dave" "is" "rough" "-")
Dave is white.
Unknown
random
[@0: Dave is white.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "white" "+")
@0: Bob is big.[(triple1)] Bob is green.[(triple2 OR ((((triple5) -> rule3) ((triple1 ((triple5) -> rule3)) -> rule2)) -> rule5))] Bob is quiet.[(triple3 OR ((triple5) -> rule1) OR ((((triple2) -> rule4)) -> rule1))] Bob is white.[(triple4)] Bob is young.[(triple5 OR ((triple2) -> rule4))] Dave is cold.[(triple6 OR ((triple9) -> rule3) OR ((((triple7) -> rule4)) -> rule3))] Dave is green.[(triple7)] Dave is quiet.[(triple8 OR ((triple9) -> rule1) OR ((((triple7) -> rule4)) -> rule1))] Dave is young.[(triple9 OR ((triple7) -> rule4))] Erin is big.[(triple10)] Erin is cold.[(triple11 OR ((triple16) -> rule3) OR ((triple10 triple12) -> rule6) OR ((((triple12) -> rule4)) -> rule3))] Erin is green.[(triple12 OR ((triple11 triple14) -> rule5) OR ((triple11 ((triple10 triple11) -> rule2)) -> rule5) OR ((((triple16) -> rule3) triple14) -> rule5) OR ((((triple16) -> rule3) ((triple10 triple11) -> rule2)) -> rule5) OR ((triple11 ((triple10 ((triple16) -> rule3)) -> rule2)) -> rule5) OR ((((triple16) -> rule3) ((triple10 ((triple16) -> rule3)) -> rule2)) -> rule5))] Erin is quiet.[(triple13 OR ((triple16) -> rule1) OR ((((triple12) -> rule4)) -> rule1) OR ((((((triple11 triple14) -> rule5)) -> rule4)) -> rule1) OR ((((((triple11 ((triple10 triple11) -> rule2)) -> rule5)) -> rule4)) -> rule1))] Erin is rough.[(triple14 OR ((triple10 triple11) -> rule2) OR ((triple10 ((triple16) -> rule3)) -> rule2) OR ((triple10 ((triple10 triple12) -> rule6)) -> rule2) OR ((triple10 ((((triple12) -> rule4)) -> rule3)) -> rule2))] Erin is white.[(triple15)] Erin is young.[(triple16 OR ((triple12) -> rule4) OR ((((triple11 triple14) -> rule5)) -> rule4) OR ((((triple11 ((triple10 triple11) -> rule2)) -> rule5)) -> rule4))] @1: Bob is cold.[(((triple5) -> rule3) OR ((triple1 triple2) -> rule6) OR ((((triple2) -> rule4)) -> rule3))] @2: Bob is rough.[(((triple1 ((triple5) -> rule3)) -> rule2) OR ((triple1 ((triple1 triple2) -> rule6)) -> rule2) OR ((triple1 ((((triple2) -> rule4)) -> rule3)) -> rule2))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is green.
("Bob" "is" "green" "+")
triple2
((((triple5) -> (rule3 % int3)) ((triple1 ((triple5) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
((triple5) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((((triple2) -> (rule4 % int2))) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
triple4
Bob is young.
("Bob" "is" "young" "+")
triple5
((triple2) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
triple6
((triple9) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((((triple7) -> (rule4 % int2))) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
triple7
Dave is quiet.
("Dave" "is" "quiet" "+")
triple8
((triple9) -> (rule1 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((((triple7) -> (rule4 % int2))) -> (rule1 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
triple9
((triple7) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
triple10
Erin is cold.
("Erin" "is" "cold" "+")
triple11
((triple16) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((triple10 triple12) -> (rule6 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((((triple12) -> (rule4 % int2))) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
triple12
((triple11 triple14) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
((triple11 ((triple10 triple11) -> (rule2 % int2))) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
((((triple16) -> (rule3 % int2)) triple14) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((triple16) -> (rule3 % int3)) ((triple10 triple11) -> (rule2 % int2))) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((triple11 ((triple10 ((triple16) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((triple16) -> (rule3 % int3)) ((triple10 ((triple16) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Erin is quiet.
("Erin" "is" "quiet" "+")
triple13
((triple16) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
((((triple12) -> (rule4 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((((triple11 triple14) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
((((((triple11 ((triple10 triple11) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
Erin is rough.
("Erin" "is" "rough" "+")
int4
Erin is rough.
("Erin" "is" "rough" "+")
triple14
((triple10 triple11) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
((triple10 ((triple16) -> (rule3 % int2))) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((triple10 ((triple10 triple12) -> (rule6 % int2))) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((triple10 ((((triple12) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
triple15
Erin is young.
("Erin" "is" "young" "+")
triple16
((triple12) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((((triple11 triple14) -> (rule5 % int2))) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
((((triple11 ((triple10 triple11) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
((triple5) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((triple1 triple2) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple2) -> (rule4 % int2))) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
((triple1 ((triple5) -> (rule3 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((triple1 ((triple1 triple2) -> (rule6 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((triple1 ((((triple2) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3