Charlie is blue. Charlie is cold. Charlie is kind. Charlie is quiet. Charlie is red. Charlie is rough. Charlie is white. All blue things are cold. If something is rough and quiet then it is cold. Quiet, white things are red. All kind, cold things are rough. White things are quiet. If Charlie is quiet and Charlie is red then Charlie is kind.
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
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 white.
("Charlie" "is" "white" "+")
All blue things are cold.
((("something" "is" "blue" "+")) -> ("something" "is" "cold" "+"))
If something is rough and quiet then it is cold.
((("something" "is" "rough" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "cold" "+"))
Quiet, white things are red.
((("something" "is" "quiet" "+") ("something" "is" "white" "+")) -> ("something" "is" "red" "+"))
All kind, cold things are rough.
((("something" "is" "kind" "+") ("something" "is" "cold" "+")) -> ("something" "is" "rough" "+"))
White things are quiet.
((("something" "is" "white" "+")) -> ("something" "is" "quiet" "+"))
If Charlie is quiet and Charlie is red then Charlie is kind.
((("Charlie" "is" "quiet" "+") ("Charlie" "is" "red" "+")) -> ("Charlie" "is" "kind" "+"))
Charlie is kind.
True
1
proof
[(triple3 OR ((triple4 triple5) -> rule6) OR ((triple4 ((triple4 triple7) -> rule3)) -> rule6) OR ((((triple7) -> rule5) triple5) -> rule6) OR ((((triple7) -> rule5) ((triple4 triple7) -> rule3)) -> rule6) OR ((triple4 ((((triple7) -> rule5) triple7) -> rule3)) -> rule6) OR ((((triple7) -> rule5) ((((triple7) -> rule5) triple7) -> rule3)) -> rule6))]
("Charlie" "is" "kind" "+")
triple3
((triple4 triple5) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((triple4 ((triple4 triple7) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((((triple7) -> (rule5 % int2)) triple5) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((triple7) -> (rule5 % int3)) ((triple4 triple7) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
((triple4 ((((triple7) -> (rule5 % int3)) triple7) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
((((triple7) -> (rule5 % int3)) ((((triple7) -> (rule5 % int3)) triple7) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is not rough.
False
1
inv-proof
[(triple6 OR ((triple3 triple2) -> rule4) OR ((triple3 ((triple1) -> rule1)) -> rule4) OR ((((triple4 triple5) -> rule6) triple2) -> rule4) OR ((((triple4 triple5) -> rule6) ((triple1) -> rule1)) -> rule4) OR ((((triple4 ((triple4 triple7) -> rule3)) -> rule6) triple2) -> rule4) OR ((((((triple7) -> rule5) triple5) -> rule6) triple2) -> rule4) OR ((((triple4 ((triple4 triple7) -> rule3)) -> rule6) ((triple1) -> rule1)) -> rule4) OR ((((((triple7) -> rule5) triple5) -> rule6) ((triple1) -> rule1)) -> rule4) OR ((((((triple7) -> rule5) ((triple4 triple7) -> rule3)) -> rule6) triple2) -> rule4) OR ((((((triple7) -> rule5) ((triple4 triple7) -> rule3)) -> rule6) ((triple1) -> rule1)) -> rule4) OR ((((triple4 ((((triple7) -> rule5) triple7) -> rule3)) -> rule6) triple2) -> rule4) OR ((((triple4 ((((triple7) -> rule5) triple7) -> rule3)) -> rule6) ((triple1) -> rule1)) -> rule4) OR ((((((triple7) -> rule5) ((((triple7) -> rule5) triple7) -> rule3)) -> rule6) triple2) -> rule4) OR ((((((triple7) -> rule5) ((((triple7) -> rule5) triple7) -> rule3)) -> rule6) ((triple1) -> rule1)) -> rule4))]
("Charlie" "is" "rough" "-")
triple6
((triple3 triple2) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((triple3 ((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
((((triple4 triple5) -> (rule6 % int2)) triple2) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((((triple4 triple5) -> (rule6 % int3)) ((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
((((triple4 ((triple4 triple7) -> (rule3 % int3))) -> (rule6 % int2)) triple2) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((((triple7) -> (rule5 % int3)) triple5) -> (rule6 % int2)) triple2) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
((((triple4 ((triple4 triple7) -> (rule3 % int4))) -> (rule6 % int3)) ((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
((((((triple7) -> (rule5 % int4)) triple5) -> (rule6 % int3)) ((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
((((((triple7) -> (rule5 % int4)) ((triple4 triple7) -> (rule3 % int3))) -> (rule6 % int2)) triple2) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
((((((triple7) -> (rule5 % int5)) ((triple4 triple7) -> (rule3 % int4))) -> (rule6 % int3)) ((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int5
((((triple4 ((((triple7) -> (rule5 % int4)) triple7) -> (rule3 % int3))) -> (rule6 % int2)) triple2) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
((((triple4 ((((triple7) -> (rule5 % int5)) triple7) -> (rule3 % int4))) -> (rule6 % int3)) ((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int5
((((((triple7) -> (rule5 % int4)) ((((triple7) -> (rule5 % int4)) triple7) -> (rule3 % int3))) -> (rule6 % int2)) triple2) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
((((((triple7) -> (rule5 % int5)) ((((triple7) -> (rule5 % int5)) triple7) -> (rule3 % int4))) -> (rule6 % int3)) ((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int5
@0: Charlie is blue.[(triple1)] Charlie is cold.[(triple2 OR ((triple1) -> rule1) OR ((triple6 triple4) -> rule2) OR ((triple6 ((triple7) -> rule5)) -> rule2))] Charlie is kind.[(triple3 OR ((triple4 triple5) -> rule6) OR ((triple4 ((triple4 triple7) -> rule3)) -> rule6) OR ((((triple7) -> rule5) triple5) -> rule6) OR ((((triple7) -> rule5) ((triple4 triple7) -> rule3)) -> rule6) OR ((triple4 ((((triple7) -> rule5) triple7) -> rule3)) -> rule6) OR ((((triple7) -> rule5) ((((triple7) -> rule5) triple7) -> rule3)) -> rule6))] Charlie is quiet.[(triple4 OR ((triple7) -> rule5))] Charlie is red.[(triple5 OR ((triple4 triple7) -> rule3) OR ((((triple7) -> rule5) triple7) -> rule3))] Charlie is rough.[(triple6 OR ((triple3 triple2) -> rule4) OR ((triple3 ((triple1) -> rule1)) -> rule4) OR ((((triple4 triple5) -> rule6) triple2) -> rule4) OR ((((triple4 triple5) -> rule6) ((triple1) -> rule1)) -> rule4) OR ((((triple4 ((triple4 triple7) -> rule3)) -> rule6) triple2) -> rule4) OR ((((((triple7) -> rule5) triple5) -> rule6) triple2) -> rule4) OR ((((triple4 ((triple4 triple7) -> rule3)) -> rule6) ((triple1) -> rule1)) -> rule4) OR ((((((triple7) -> rule5) triple5) -> rule6) ((triple1) -> rule1)) -> rule4) OR ((((((triple7) -> rule5) ((triple4 triple7) -> rule3)) -> rule6) triple2) -> rule4) OR ((((((triple7) -> rule5) ((triple4 triple7) -> rule3)) -> rule6) ((triple1) -> rule1)) -> rule4) OR ((((triple4 ((((triple7) -> rule5) triple7) -> rule3)) -> rule6) triple2) -> rule4) OR ((((triple4 ((((triple7) -> rule5) triple7) -> rule3)) -> rule6) ((triple1) -> rule1)) -> rule4) OR ((((((triple7) -> rule5) ((((triple7) -> rule5) triple7) -> rule3)) -> rule6) triple2) -> rule4) OR ((((((triple7) -> rule5) ((((triple7) -> rule5) triple7) -> rule3)) -> rule6) ((triple1) -> rule1)) -> rule4))] Charlie is white.[(triple7)]
Charlie is blue.
("Charlie" "is" "blue" "+")
triple1
Charlie is cold.
("Charlie" "is" "cold" "+")
triple2
((triple1) -> (rule1 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
((triple6 triple4) -> (rule2 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
((triple6 ((triple7) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
triple3
((triple4 triple5) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((triple4 ((triple4 triple7) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((((triple7) -> (rule5 % int2)) triple5) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((triple7) -> (rule5 % int3)) ((triple4 triple7) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
((triple4 ((((triple7) -> (rule5 % int3)) triple7) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
((((triple7) -> (rule5 % int3)) ((((triple7) -> (rule5 % int3)) triple7) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple4
((triple7) -> (rule5 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
triple5
((triple4 triple7) -> (rule3 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((((triple7) -> (rule5 % int2)) triple7) -> (rule3 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
triple6
((triple3 triple2) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((triple3 ((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
((((triple4 triple5) -> (rule6 % int2)) triple2) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((((triple4 triple5) -> (rule6 % int3)) ((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
((((triple4 ((triple4 triple7) -> (rule3 % int3))) -> (rule6 % int2)) triple2) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((((triple7) -> (rule5 % int3)) triple5) -> (rule6 % int2)) triple2) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
((((triple4 ((triple4 triple7) -> (rule3 % int4))) -> (rule6 % int3)) ((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
((((((triple7) -> (rule5 % int4)) triple5) -> (rule6 % int3)) ((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
((((((triple7) -> (rule5 % int4)) ((triple4 triple7) -> (rule3 % int3))) -> (rule6 % int2)) triple2) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
((((((triple7) -> (rule5 % int5)) ((triple4 triple7) -> (rule3 % int4))) -> (rule6 % int3)) ((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int5
((((triple4 ((((triple7) -> (rule5 % int4)) triple7) -> (rule3 % int3))) -> (rule6 % int2)) triple2) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
((((triple4 ((((triple7) -> (rule5 % int5)) triple7) -> (rule3 % int4))) -> (rule6 % int3)) ((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int5
((((((triple7) -> (rule5 % int4)) ((((triple7) -> (rule5 % int4)) triple7) -> (rule3 % int3))) -> (rule6 % int2)) triple2) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
((((((triple7) -> (rule5 % int5)) ((((triple7) -> (rule5 % int5)) triple7) -> (rule3 % int4))) -> (rule6 % int3)) ((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int5
Charlie is white.
("Charlie" "is" "white" "+")
triple7