Anne is big. Anne is kind. Anne is quiet. Anne is rough. Anne is white. Anne is young. Charlie is rough. Charlie is white. Charlie is young. Dave is big. Dave is blue. Dave is kind. Dave is quiet. Dave is rough. Dave is white. Dave is young. If Charlie is young then Charlie is big. Blue, white things are kind. Rough, blue things are kind. Kind things are young. Blue, young things are white. Big things are blue.
Anne is big.
("Anne" "is" "big" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is white.
("Anne" "is" "white" "+")
Anne is young.
("Anne" "is" "young" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is white.
("Dave" "is" "white" "+")
Dave is young.
("Dave" "is" "young" "+")
If Charlie is young then Charlie is big.
((("Charlie" "is" "young" "+")) -> ("Charlie" "is" "big" "+"))
Blue, white things are kind.
((("something" "is" "blue" "+") ("something" "is" "white" "+")) -> ("something" "is" "kind" "+"))
Rough, blue things are kind.
((("something" "is" "rough" "+") ("something" "is" "blue" "+")) -> ("something" "is" "kind" "+"))
Kind things are young.
((("something" "is" "kind" "+")) -> ("something" "is" "young" "+"))
Blue, young things are white.
((("something" "is" "blue" "+") ("something" "is" "young" "+")) -> ("something" "is" "white" "+"))
Big things are blue.
((("something" "is" "big" "+")) -> ("something" "is" "blue" "+"))
Dave is kind.
True
1
proof
[(triple12 OR ((triple11 triple15) -> rule2) OR ((triple14 triple11) -> rule3) OR ((triple11 ((triple11 triple16) -> rule5)) -> rule2) OR ((triple14 ((triple10) -> rule6)) -> rule3) OR ((((triple10) -> rule6) triple15) -> rule2) OR ((((triple10) -> rule6) ((triple11 triple16) -> rule5)) -> rule2) OR ((triple11 ((((triple10) -> rule6) triple16) -> rule5)) -> rule2) OR ((((triple10) -> rule6) ((((triple10) -> rule6) triple16) -> rule5)) -> rule2))]
("Dave" "is" "kind" "+")
triple12
((triple11 triple15) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((triple14 triple11) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((triple11 ((triple11 triple16) -> (rule5 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
((triple14 ((triple10) -> (rule6 % int2))) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple10) -> (rule6 % int2)) triple15) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple10) -> (rule6 % int3)) ((triple11 triple16) -> (rule5 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((triple11 ((((triple10) -> (rule6 % int3)) triple16) -> (rule5 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((triple10) -> (rule6 % int3)) ((((triple10) -> (rule6 % int3)) triple16) -> (rule5 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is not white.
False
1
inv-proof
[(triple15 OR ((triple11 triple16) -> rule5) OR ((triple11 ((triple12) -> rule4)) -> rule5) OR ((((triple10) -> rule6) triple16) -> rule5) OR ((((triple10) -> rule6) ((triple12) -> rule4)) -> rule5) OR ((triple11 ((((triple14 triple11) -> rule3)) -> rule4)) -> rule5) OR ((((triple10) -> rule6) ((((triple14 triple11) -> rule3)) -> rule4)) -> rule5) OR ((triple11 ((((triple14 ((triple10) -> rule6)) -> rule3)) -> rule4)) -> rule5) OR ((((triple10) -> rule6) ((((triple14 ((triple10) -> rule6)) -> rule3)) -> rule4)) -> rule5))]
("Dave" "is" "white" "-")
triple15
((triple11 triple16) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
((triple11 ((triple12) -> (rule4 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((triple10) -> (rule6 % int2)) triple16) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple10) -> (rule6 % int3)) ((triple12) -> (rule4 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((triple11 ((((triple14 triple11) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
((((triple10) -> (rule6 % int4)) ((((triple14 triple11) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is blue.
("Dave" "is" "blue" "+")
int4
((triple11 ((((triple14 ((triple10) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is blue.
("Dave" "is" "blue" "+")
int4
((((triple10) -> (rule6 % int4)) ((((triple14 ((triple10) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is blue.
("Dave" "is" "blue" "+")
int4
Charlie is big.
True
2
proof
[(((triple9) -> rule1))]
("Charlie" "is" "big" "+")
((triple9) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Anne is not blue.
False
2
inv-proof
[(((triple1) -> rule6))]
("Anne" "is" "blue" "-")
((triple1) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Charlie is blue.
True
3
proof
[(((((triple9) -> rule1)) -> rule6))]
("Charlie" "is" "blue" "+")
((((triple9) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is not blue.
False
3
inv-proof
[(((((triple9) -> rule1)) -> rule6))]
("Charlie" "is" "blue" "-")
((((triple9) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
@0: Anne is big.[(triple1)] Anne is kind.[(triple2 OR ((triple4 ((triple1) -> rule6)) -> rule3) OR ((((triple1) -> rule6) triple5) -> rule2) OR ((((triple1) -> rule6) ((((triple1) -> rule6) triple6) -> rule5)) -> rule2))] Anne is quiet.[(triple3)] Anne is rough.[(triple4)] Anne is white.[(triple5 OR ((((triple1) -> rule6) triple6) -> rule5) OR ((((triple1) -> rule6) ((triple2) -> rule4)) -> rule5) OR ((((triple1) -> rule6) ((((triple4 ((triple1) -> rule6)) -> rule3)) -> rule4)) -> rule5))] Anne is young.[(triple6 OR ((triple2) -> rule4) OR ((((triple4 ((triple1) -> rule6)) -> rule3)) -> rule4) OR ((((((triple1) -> rule6) triple5) -> rule2)) -> rule4))] Charlie is rough.[(triple7)] Charlie is white.[(triple8 OR ((((((triple9) -> rule1)) -> rule6) triple9) -> rule5))] Charlie is young.[(triple9)] Dave is big.[(triple10)] Dave is blue.[(triple11 OR ((triple10) -> rule6))] Dave is kind.[(triple12 OR ((triple11 triple15) -> rule2) OR ((triple14 triple11) -> rule3) OR ((triple11 ((triple11 triple16) -> rule5)) -> rule2) OR ((triple14 ((triple10) -> rule6)) -> rule3) OR ((((triple10) -> rule6) triple15) -> rule2) OR ((((triple10) -> rule6) ((triple11 triple16) -> rule5)) -> rule2) OR ((triple11 ((((triple10) -> rule6) triple16) -> rule5)) -> rule2) OR ((((triple10) -> rule6) ((((triple10) -> rule6) triple16) -> rule5)) -> rule2))] Dave is quiet.[(triple13)] Dave is rough.[(triple14)] Dave is white.[(triple15 OR ((triple11 triple16) -> rule5) OR ((triple11 ((triple12) -> rule4)) -> rule5) OR ((((triple10) -> rule6) triple16) -> rule5) OR ((((triple10) -> rule6) ((triple12) -> rule4)) -> rule5) OR ((triple11 ((((triple14 triple11) -> rule3)) -> rule4)) -> rule5) OR ((((triple10) -> rule6) ((((triple14 triple11) -> rule3)) -> rule4)) -> rule5) OR ((triple11 ((((triple14 ((triple10) -> rule6)) -> rule3)) -> rule4)) -> rule5) OR ((((triple10) -> rule6) ((((triple14 ((triple10) -> rule6)) -> rule3)) -> rule4)) -> rule5))] Dave is young.[(triple16 OR ((triple12) -> rule4) OR ((((triple11 triple15) -> rule2)) -> rule4) OR ((((triple14 triple11) -> rule3)) -> rule4) OR ((((triple14 ((triple10) -> rule6)) -> rule3)) -> rule4) OR ((((((triple10) -> rule6) triple15) -> rule2)) -> rule4))] @1: Anne is blue.[(((triple1) -> rule6))] Charlie is big.[(((triple9) -> rule1))] @2: Charlie is blue.[(((((triple9) -> rule1)) -> rule6))] @3: Charlie is kind.[(((triple7 ((((triple9) -> rule1)) -> rule6)) -> rule3) OR ((((((triple9) -> rule1)) -> rule6) triple8) -> rule2) OR ((((((triple9) -> rule1)) -> rule6) ((((((triple9) -> rule1)) -> rule6) triple9) -> rule5)) -> rule2))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is kind.
("Anne" "is" "kind" "+")
triple2
((triple4 ((triple1) -> (rule6 % int2))) -> (rule3 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple1) -> (rule6 % int2)) triple5) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple1) -> (rule6 % int3)) ((((triple1) -> (rule6 % int3)) triple6) -> (rule5 % int2))) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
triple3
Anne is rough.
("Anne" "is" "rough" "+")
triple4
Anne is white.
("Anne" "is" "white" "+")
triple5
((((triple1) -> (rule6 % int2)) triple6) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple1) -> (rule6 % int3)) ((triple2) -> (rule4 % int2))) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
((((triple1) -> (rule6 % int4)) ((((triple4 ((triple1) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
Anne is young.
("Anne" "is" "young" "+")
triple6
((triple2) -> (rule4 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
((((triple4 ((triple1) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
((((((triple1) -> (rule6 % int3)) triple5) -> (rule2 % int2))) -> (rule4 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
triple7
Charlie is white.
("Charlie" "is" "white" "+")
triple8
((((((triple9) -> (rule1 % int3))) -> (rule6 % int2)) triple9) -> (rule5 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
triple9
Dave is big.
("Dave" "is" "big" "+")
triple10
Dave is blue.
("Dave" "is" "blue" "+")
triple11
((triple10) -> (rule6 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
triple12
((triple11 triple15) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((triple14 triple11) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((triple11 ((triple11 triple16) -> (rule5 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
((triple14 ((triple10) -> (rule6 % int2))) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple10) -> (rule6 % int2)) triple15) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple10) -> (rule6 % int3)) ((triple11 triple16) -> (rule5 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((triple11 ((((triple10) -> (rule6 % int3)) triple16) -> (rule5 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((triple10) -> (rule6 % int3)) ((((triple10) -> (rule6 % int3)) triple16) -> (rule5 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
triple13
Dave is rough.
("Dave" "is" "rough" "+")
triple14
Dave is white.
("Dave" "is" "white" "+")
triple15
((triple11 triple16) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
((triple11 ((triple12) -> (rule4 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((triple10) -> (rule6 % int2)) triple16) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple10) -> (rule6 % int3)) ((triple12) -> (rule4 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((triple11 ((((triple14 triple11) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
((((triple10) -> (rule6 % int4)) ((((triple14 triple11) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is blue.
("Dave" "is" "blue" "+")
int4
((triple11 ((((triple14 ((triple10) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is blue.
("Dave" "is" "blue" "+")
int4
((((triple10) -> (rule6 % int4)) ((((triple14 ((triple10) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is blue.
("Dave" "is" "blue" "+")
int4
Dave is young.
("Dave" "is" "young" "+")
triple16
((triple12) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((((triple11 triple15) -> (rule2 % int2))) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
((((triple14 triple11) -> (rule3 % int2))) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
((((triple14 ((triple10) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((((triple10) -> (rule6 % int3)) triple15) -> (rule2 % int2))) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
((triple1) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
((triple9) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
((((triple9) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple7 ((((triple9) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
((((((triple9) -> (rule1 % int3))) -> (rule6 % int2)) triple8) -> (rule2 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
((((((triple9) -> (rule1 % int4))) -> (rule6 % int3)) ((((((triple9) -> (rule1 % int4))) -> (rule6 % int3)) triple9) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4