Charlie is big. Charlie is nice. Charlie is quiet. Charlie is red. Dave is big. Dave is blue. Dave is cold. Dave is nice. Dave is quiet. Dave is red. Dave is white. Fiona is big. Fiona is cold. Fiona is red. Fiona is white. All white, quiet things are cold. Cold things are blue. Nice things are cold. Cold things are nice. If something is quiet and big then it is white. If Charlie is big and Charlie is blue then Charlie is cold. All white, nice things are big. All cold things are white.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is white.
("Dave" "is" "white" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is white.
("Fiona" "is" "white" "+")
All white, quiet things are cold.
((("something" "is" "white" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "cold" "+"))
Cold things are blue.
((("something" "is" "cold" "+")) -> ("something" "is" "blue" "+"))
Nice things are cold.
((("something" "is" "nice" "+")) -> ("something" "is" "cold" "+"))
Cold things are nice.
((("something" "is" "cold" "+")) -> ("something" "is" "nice" "+"))
If something is quiet and big then it is white.
((("something" "is" "quiet" "+") ("something" "is" "big" "+")) -> ("something" "is" "white" "+"))
If Charlie is big and Charlie is blue then Charlie is cold.
((("Charlie" "is" "big" "+") ("Charlie" "is" "blue" "+")) -> ("Charlie" "is" "cold" "+"))
All white, nice things are big.
((("something" "is" "white" "+") ("something" "is" "nice" "+")) -> ("something" "is" "big" "+"))
All cold things are white.
((("something" "is" "cold" "+")) -> ("something" "is" "white" "+"))
Dave is white.
True
1
proof
[(triple11 OR ((triple7) -> rule8) OR ((triple9 triple5) -> rule5) OR ((((triple8) -> rule3)) -> rule8))]
("Dave" "is" "white" "+")
triple11
((triple7) -> (rule8 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
((triple9 triple5) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
((((triple8) -> (rule3 % int2))) -> (rule8 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Charlie is not nice.
False
1
inv-proof
[(triple2 OR ((((((triple3 triple1) -> rule5) triple3) -> rule1)) -> rule4))]
("Charlie" "is" "nice" "-")
triple2
((((((triple3 triple1) -> (rule5 % int3)) triple3) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Fiona is nice.
True
2
proof
[(((triple13) -> rule4))]
("Fiona" "is" "nice" "+")
((triple13) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is not nice.
False
2
inv-proof
[(((triple13) -> rule4))]
("Fiona" "is" "nice" "-")
((triple13) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Charlie is blue.
True
3
proof
[(((((triple2) -> rule3)) -> rule2) OR ((((((triple3 triple1) -> rule5) triple3) -> rule1)) -> rule2))]
("Charlie" "is" "blue" "+")
((((triple2) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
((((((triple3 triple1) -> (rule5 % int3)) triple3) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is not blue.
False
3
inv-proof
[(((((triple2) -> rule3)) -> rule2) OR ((((((triple3 triple1) -> rule5) triple3) -> rule1)) -> rule2))]
("Charlie" "is" "blue" "-")
((((triple2) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
((((((triple3 triple1) -> (rule5 % int3)) triple3) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
@0: Charlie is big.[(triple1 OR ((((((triple2) -> rule3)) -> rule8) triple2) -> rule7))] Charlie is nice.[(triple2 OR ((((((triple3 triple1) -> rule5) triple3) -> rule1)) -> rule4))] Charlie is quiet.[(triple3)] Charlie is red.[(triple4)] Dave is big.[(triple5 OR ((triple11 triple8) -> rule7) OR ((triple11 ((triple7) -> rule4)) -> rule7) OR ((((triple7) -> rule8) triple8) -> rule7) OR ((((triple7) -> rule8) ((triple7) -> rule4)) -> rule7) OR ((triple11 ((((triple11 triple9) -> rule1)) -> rule4)) -> rule7) OR ((((((triple8) -> rule3)) -> rule8) triple8) -> rule7) OR ((((triple7) -> rule8) ((((triple11 triple9) -> rule1)) -> rule4)) -> rule7) OR ((((((triple8) -> rule3)) -> rule8) ((triple7) -> rule4)) -> rule7) OR ((((((triple8) -> rule3)) -> rule8) ((((triple11 triple9) -> rule1)) -> rule4)) -> rule7))] Dave is blue.[(triple6 OR ((triple7) -> rule2) OR ((((triple8) -> rule3)) -> rule2) OR ((((triple11 triple9) -> rule1)) -> rule2) OR ((((((triple9 triple5) -> rule5) triple9) -> rule1)) -> rule2))] Dave is cold.[(triple7 OR ((triple8) -> rule3) OR ((triple11 triple9) -> rule1) OR ((((triple9 triple5) -> rule5) triple9) -> rule1))] Dave is nice.[(triple8 OR ((triple7) -> rule4) OR ((((triple11 triple9) -> rule1)) -> rule4) OR ((((((triple9 triple5) -> rule5) triple9) -> rule1)) -> rule4))] Dave is quiet.[(triple9)] Dave is red.[(triple10)] Dave is white.[(triple11 OR ((triple7) -> rule8) OR ((triple9 triple5) -> rule5) OR ((((triple8) -> rule3)) -> rule8))] Fiona is big.[(triple12 OR ((triple15 ((triple13) -> rule4)) -> rule7) OR ((((triple13) -> rule8) ((triple13) -> rule4)) -> rule7))] Fiona is cold.[(triple13)] Fiona is red.[(triple14)] Fiona is white.[(triple15 OR ((triple13) -> rule8))] @1: Charlie is cold.[(((triple2) -> rule3) OR ((((triple3 triple1) -> rule5) triple3) -> rule1))] Charlie is white.[(((triple3 triple1) -> rule5) OR ((((triple2) -> rule3)) -> rule8))] Fiona is blue.[(((triple13) -> rule2))] Fiona is nice.[(((triple13) -> rule4))] @2: Charlie is blue.[(((((triple2) -> rule3)) -> rule2) OR ((((((triple3 triple1) -> rule5) triple3) -> rule1)) -> rule2))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
((((((triple2) -> (rule3 % int3))) -> (rule8 % int2)) triple2) -> (rule7 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
triple2
((((((triple3 triple1) -> (rule5 % int3)) triple3) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple3
Charlie is red.
("Charlie" "is" "red" "+")
triple4
Dave is big.
("Dave" "is" "big" "+")
triple5
((triple11 triple8) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
((triple11 ((triple7) -> (rule4 % int2))) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
((((triple7) -> (rule8 % int2)) triple8) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
((((triple7) -> (rule8 % int3)) ((triple7) -> (rule4 % int2))) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
((triple11 ((((triple11 triple9) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
((((((triple8) -> (rule3 % int3))) -> (rule8 % int2)) triple8) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
((((triple7) -> (rule8 % int4)) ((((triple11 triple9) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
int4
((((((triple8) -> (rule3 % int4))) -> (rule8 % int3)) ((triple7) -> (rule4 % int2))) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
((((((triple8) -> (rule3 % int4))) -> (rule8 % int3)) ((((triple11 triple9) -> (rule1 % int4))) -> (rule4 % int2))) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is blue.
("Dave" "is" "blue" "+")
triple6
((triple7) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((((triple8) -> (rule3 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
((((triple11 triple9) -> (rule1 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
((((((triple9 triple5) -> (rule5 % int3)) triple9) -> (rule1 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
triple7
((triple8) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((triple11 triple9) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((((triple9 triple5) -> (rule5 % int2)) triple9) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
triple8
((triple7) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((((triple11 triple9) -> (rule1 % int2))) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
((((((triple9 triple5) -> (rule5 % int3)) triple9) -> (rule1 % int2))) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
triple9
Dave is red.
("Dave" "is" "red" "+")
triple10
Dave is white.
("Dave" "is" "white" "+")
triple11
((triple7) -> (rule8 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
((triple9 triple5) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
((((triple8) -> (rule3 % int2))) -> (rule8 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
triple12
((triple15 ((triple13) -> (rule4 % int2))) -> (rule7 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple13) -> (rule8 % int3)) ((triple13) -> (rule4 % int2))) -> (rule7 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
triple13
Fiona is red.
("Fiona" "is" "red" "+")
triple14
Fiona is white.
("Fiona" "is" "white" "+")
triple15
((triple13) -> (rule8 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple2) -> (rule3 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
((((triple3 triple1) -> (rule5 % int2)) triple3) -> (rule1 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
((triple3 triple1) -> (rule5 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
((((triple2) -> (rule3 % int2))) -> (rule8 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple13) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple13) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
((((triple2) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
((((((triple3 triple1) -> (rule5 % int3)) triple3) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3