Charlie is cold. Charlie is white. Dave is blue. Dave is cold. Dave is quiet. Dave is rough. Erin is blue. Erin is cold. Erin is rough. Erin is white. Fiona is rough. Fiona is round. Round people are blue. If someone is cold then they are young. All blue people are round. If someone is white and quiet then they are cold. All round people are quiet. All white, young people are round. All round, blue people are white. Cold, white people are quiet.
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is white.
("Erin" "is" "white" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Round people are blue.
((("someone" "is" "round" "+")) -> ("someone" "is" "blue" "+"))
If someone is cold then they are young.
((("someone" "is" "cold" "+")) -> ("someone" "is" "young" "+"))
All blue people are round.
((("someone" "is" "blue" "+")) -> ("someone" "is" "round" "+"))
If someone is white and quiet then they are cold.
((("someone" "is" "white" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "cold" "+"))
All round people are quiet.
((("someone" "is" "round" "+")) -> ("someone" "is" "quiet" "+"))
All white, young people are round.
((("someone" "is" "white" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "round" "+"))
All round, blue people are white.
((("someone" "is" "round" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "white" "+"))
Cold, white people are quiet.
((("someone" "is" "cold" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "quiet" "+"))
Dave is quiet.
True
1
proof
[(triple5 OR ((((triple3) -> rule3)) -> rule5) OR ((triple4 ((((triple3) -> rule3) triple3) -> rule7)) -> rule8))]
("Dave" "is" "quiet" "+")
triple5
((((triple3) -> (rule3 % int2))) -> (rule5 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((triple4 ((((triple3) -> (rule3 % int3)) triple3) -> (rule7 % int2))) -> (rule8 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Charlie is not white.
False
1
inv-proof
[(triple2)]
("Charlie" "is" "white" "-")
triple2
Charlie is quiet.
True
3
proof
[(((triple1 triple2) -> rule8) OR ((((triple2 ((triple1) -> rule2)) -> rule6)) -> rule5))]
("Charlie" "is" "quiet" "+")
((triple1 triple2) -> (rule8 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((((triple2 ((triple1) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Fiona is not blue.
False
2
inv-proof
[(((triple12) -> rule1))]
("Fiona" "is" "blue" "-")
((triple12) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Dave is white.
True
4
proof
[(((((triple3) -> rule3) triple3) -> rule7))]
("Dave" "is" "white" "+")
((((triple3) -> (rule3 % int2)) triple3) -> (rule7 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Charlie is not round.
False
4
inv-proof
[(((triple2 ((triple1) -> rule2)) -> rule6))]
("Charlie" "is" "round" "-")
((triple2 ((triple1) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is blue.
True
5
proof
[(((((triple2 ((triple1) -> rule2)) -> rule6)) -> rule1))]
("Charlie" "is" "blue" "+")
((((triple2 ((triple1) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Fiona is not cold.
False
7
inv-proof
[(((((triple12 ((triple12) -> rule1)) -> rule7) ((triple12) -> rule5)) -> rule4))]
("Fiona" "is" "cold" "-")
((((triple12 ((triple12) -> (rule1 % int4))) -> (rule7 % int3)) ((triple12) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
@0: Charlie is cold.[(triple1)] Charlie is white.[(triple2)] Dave is blue.[(triple3)] Dave is cold.[(triple4 OR ((((((triple3) -> rule3) triple3) -> rule7) triple5) -> rule4) OR ((((((triple3) -> rule3) triple3) -> rule7) ((((triple3) -> rule3)) -> rule5)) -> rule4))] Dave is quiet.[(triple5 OR ((((triple3) -> rule3)) -> rule5) OR ((triple4 ((((triple3) -> rule3) triple3) -> rule7)) -> rule8))] Dave is rough.[(triple6)] Erin is blue.[(triple7 OR ((((triple10 ((triple8) -> rule2)) -> rule6)) -> rule1))] Erin is cold.[(triple8 OR ((triple10 ((((triple7) -> rule3)) -> rule5)) -> rule4) OR ((((((triple7) -> rule3) triple7) -> rule7) ((((triple7) -> rule3)) -> rule5)) -> rule4))] Erin is rough.[(triple9)] Erin is white.[(triple10 OR ((((triple7) -> rule3) triple7) -> rule7))] Fiona is rough.[(triple11)] Fiona is round.[(triple12)] @1: Charlie is quiet.[(((triple1 triple2) -> rule8) OR ((((triple2 ((triple1) -> rule2)) -> rule6)) -> rule5))] Charlie is young.[(((triple1) -> rule2))] Dave is round.[(((triple3) -> rule3))] Dave is young.[(((triple4) -> rule2) OR ((((((((triple3) -> rule3) triple3) -> rule7) triple5) -> rule4)) -> rule2) OR ((((((((triple3) -> rule3) triple3) -> rule7) ((((triple3) -> rule3)) -> rule5)) -> rule4)) -> rule2))] Erin is quiet.[(((triple8 triple10) -> rule8) OR ((((triple7) -> rule3)) -> rule5) OR ((((triple10 ((triple8) -> rule2)) -> rule6)) -> rule5) OR ((triple8 ((((triple7) -> rule3) triple7) -> rule7)) -> rule8))] Erin is round.[(((triple7) -> rule3) OR ((triple10 ((triple8) -> rule2)) -> rule6))] Erin is young.[(((triple8) -> rule2) OR ((((triple10 ((((triple7) -> rule3)) -> rule5)) -> rule4)) -> rule2) OR ((((((((triple7) -> rule3) triple7) -> rule7) ((((triple7) -> rule3)) -> rule5)) -> rule4)) -> rule2))] Fiona is blue.[(((triple12) -> rule1))] Fiona is quiet.[(((triple12) -> rule5))] @2: Charlie is round.[(((triple2 ((triple1) -> rule2)) -> rule6))] Dave is white.[(((((triple3) -> rule3) triple3) -> rule7))] Fiona is white.[(((triple12 ((triple12) -> rule1)) -> rule7))] @3: Charlie is blue.[(((((triple2 ((triple1) -> rule2)) -> rule6)) -> rule1))] Fiona is cold.[(((((triple12 ((triple12) -> rule1)) -> rule7) ((triple12) -> rule5)) -> rule4))] @4: Fiona is young.[(((((((triple12 ((triple12) -> rule1)) -> rule7) ((triple12) -> rule5)) -> rule4)) -> rule2))]
Charlie is cold.
("Charlie" "is" "cold" "+")
triple1
Charlie is white.
("Charlie" "is" "white" "+")
triple2
Dave is blue.
("Dave" "is" "blue" "+")
triple3
Dave is cold.
("Dave" "is" "cold" "+")
triple4
((((((triple3) -> (rule3 % int3)) triple3) -> (rule7 % int2)) triple5) -> (rule4 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
((((((triple3) -> (rule3 % int4)) triple3) -> (rule7 % int3)) ((((triple3) -> (rule3 % int4))) -> (rule5 % int2))) -> (rule4 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
Dave is quiet.
("Dave" "is" "quiet" "+")
triple5
((((triple3) -> (rule3 % int2))) -> (rule5 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((triple4 ((((triple3) -> (rule3 % int3)) triple3) -> (rule7 % int2))) -> (rule8 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
triple6
Erin is blue.
("Erin" "is" "blue" "+")
triple7
((((triple10 ((triple8) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
triple8
((triple10 ((((triple7) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
((((((triple7) -> (rule3 % int4)) triple7) -> (rule7 % int3)) ((((triple7) -> (rule3 % int4))) -> (rule5 % int2))) -> (rule4 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
Erin is rough.
("Erin" "is" "rough" "+")
triple9
Erin is white.
("Erin" "is" "white" "+")
triple10
((((triple7) -> (rule3 % int2)) triple7) -> (rule7 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
triple11
Fiona is round.
("Fiona" "is" "round" "+")
triple12
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((triple1 triple2) -> (rule8 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((((triple2 ((triple1) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
((triple1) -> (rule2 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
((triple3) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
((triple4) -> (rule2 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((((((((triple3) -> (rule3 % int4)) triple3) -> (rule7 % int3)) triple5) -> (rule4 % int2))) -> (rule2 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
((((((((triple3) -> (rule3 % int5)) triple3) -> (rule7 % int4)) ((((triple3) -> (rule3 % int5))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
int4
Dave is round.
("Dave" "is" "round" "+")
int5
Erin is quiet.
("Erin" "is" "quiet" "+")
((triple8 triple10) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
((((triple7) -> (rule3 % int2))) -> (rule5 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
((((triple10 ((triple8) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
((triple8 ((((triple7) -> (rule3 % int3)) triple7) -> (rule7 % int2))) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
((triple7) -> (rule3 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
((triple10 ((triple8) -> (rule2 % int2))) -> (rule6 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
((triple8) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((((triple10 ((((triple7) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
((((((((triple7) -> (rule3 % int5)) triple7) -> (rule7 % int4)) ((((triple7) -> (rule3 % int5))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
int4
Erin is round.
("Erin" "is" "round" "+")
int5
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple12) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple12) -> (rule5 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
((triple2 ((triple1) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
((((triple3) -> (rule3 % int2)) triple3) -> (rule7 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
((triple12 ((triple12) -> (rule1 % int2))) -> (rule7 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
((((triple2 ((triple1) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
((((triple12 ((triple12) -> (rule1 % int4))) -> (rule7 % int3)) ((triple12) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is young.
("Fiona" "is" "young" "+")
((((((triple12 ((triple12) -> (rule1 % int5))) -> (rule7 % int4)) ((triple12) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
int5