Charlie is cold. Charlie is quiet. Charlie is red. Charlie is rough. Charlie is round. Charlie is white. Charlie is young. Dave is red. Dave is rough. Dave is white. Dave is young. Gary is cold. Gary is rough. Gary is round. Gary is white. Gary is young. Young, cold things are round. If something is white and cold then it is red. If something is quiet and white then it is cold. If something is red then it is rough. If something is young then it is rough. All white things are quiet.
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is white.
("Dave" "is" "white" "+")
Dave is young.
("Dave" "is" "young" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is white.
("Gary" "is" "white" "+")
Gary is young.
("Gary" "is" "young" "+")
Young, cold things are round.
((("something" "is" "young" "+") ("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
If something is white and cold then it is red.
((("something" "is" "white" "+") ("something" "is" "cold" "+")) -> ("something" "is" "red" "+"))
If something is quiet and white then it is cold.
((("something" "is" "quiet" "+") ("something" "is" "white" "+")) -> ("something" "is" "cold" "+"))
If something is red then it is rough.
((("something" "is" "red" "+")) -> ("something" "is" "rough" "+"))
If something is young then it is rough.
((("something" "is" "young" "+")) -> ("something" "is" "rough" "+"))
All white things are quiet.
((("something" "is" "white" "+")) -> ("something" "is" "quiet" "+"))
Gary is white.
True
1
proof
[(triple15)]
("Gary" "is" "white" "+")
triple15
Gary is not young.
False
1
inv-proof
[(triple16)]
("Gary" "is" "young" "-")
triple16
Gary is quiet.
True
2
proof
[(((triple15) -> rule6))]
("Gary" "is" "quiet" "+")
((triple15) -> (rule6 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Dave is not quiet.
False
2
inv-proof
[(((triple10) -> rule6))]
("Dave" "is" "quiet" "-")
((triple10) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is cold.
True
4
proof
[(((((triple10) -> rule6) triple10) -> rule3))]
("Dave" "is" "cold" "+")
((((triple10) -> (rule6 % int2)) triple10) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is not cold.
False
4
inv-proof
[(((((triple10) -> rule6) triple10) -> rule3))]
("Dave" "is" "cold" "-")
((((triple10) -> (rule6 % int2)) triple10) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is round.
True
6
proof
[(((triple11 ((((triple10) -> rule6) triple10) -> rule3)) -> rule1))]
("Dave" "is" "round" "+")
((triple11 ((((triple10) -> (rule6 % int3)) triple10) -> (rule3 % int2))) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Dave is not round.
False
6
inv-proof
[(((triple11 ((((triple10) -> rule6) triple10) -> rule3)) -> rule1))]
("Dave" "is" "round" "-")
((triple11 ((((triple10) -> (rule6 % int3)) triple10) -> (rule3 % int2))) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
@0: Charlie is cold.[(triple1 OR ((triple2 triple6) -> rule3) OR ((((triple6) -> rule6) triple6) -> rule3))] Charlie is quiet.[(triple2 OR ((triple6) -> rule6))] Charlie is red.[(triple3 OR ((triple6 triple1) -> rule2) OR ((triple6 ((triple2 triple6) -> rule3)) -> rule2) OR ((triple6 ((((triple6) -> rule6) triple6) -> rule3)) -> rule2))] Charlie is rough.[(triple4 OR ((triple3) -> rule4) OR ((triple7) -> rule5) OR ((((triple6 triple1) -> rule2)) -> rule4) OR ((((triple6 ((triple2 triple6) -> rule3)) -> rule2)) -> rule4) OR ((((triple6 ((((triple6) -> rule6) triple6) -> rule3)) -> rule2)) -> rule4))] Charlie is round.[(triple5 OR ((triple7 triple1) -> rule1) OR ((triple7 ((triple2 triple6) -> rule3)) -> rule1) OR ((triple7 ((((triple6) -> rule6) triple6) -> rule3)) -> rule1))] Charlie is white.[(triple6)] Charlie is young.[(triple7)] Dave is red.[(triple8 OR ((triple10 ((((triple10) -> rule6) triple10) -> rule3)) -> rule2))] Dave is rough.[(triple9 OR ((triple11) -> rule5) OR ((triple8) -> rule4) OR ((((triple10 ((((triple10) -> rule6) triple10) -> rule3)) -> rule2)) -> rule4))] Dave is white.[(triple10)] Dave is young.[(triple11)] Gary is cold.[(triple12 OR ((((triple15) -> rule6) triple15) -> rule3))] Gary is rough.[(triple13 OR ((triple16) -> rule5) OR ((((triple15 triple12) -> rule2)) -> rule4) OR ((((triple15 ((((triple15) -> rule6) triple15) -> rule3)) -> rule2)) -> rule4))] Gary is round.[(triple14 OR ((triple16 triple12) -> rule1) OR ((triple16 ((((triple15) -> rule6) triple15) -> rule3)) -> rule1))] Gary is white.[(triple15)] Gary is young.[(triple16)] @1: Dave is quiet.[(((triple10) -> rule6))] Gary is quiet.[(((triple15) -> rule6))] Gary is red.[(((triple15 triple12) -> rule2) OR ((triple15 ((((triple15) -> rule6) triple15) -> rule3)) -> rule2))] @2: Dave is cold.[(((((triple10) -> rule6) triple10) -> rule3))] @3: Dave is round.[(((triple11 ((((triple10) -> rule6) triple10) -> rule3)) -> rule1))]
Charlie is cold.
("Charlie" "is" "cold" "+")
triple1
((triple2 triple6) -> (rule3 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
((((triple6) -> (rule6 % int2)) triple6) -> (rule3 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple2
((triple6) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
triple3
((triple6 triple1) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple6 ((triple2 triple6) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
((triple6 ((((triple6) -> (rule6 % int3)) triple6) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
triple4
((triple3) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((triple7) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((((triple6 triple1) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((((triple6 ((triple2 triple6) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
((((triple6 ((((triple6) -> (rule6 % int4)) triple6) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
Charlie is round.
("Charlie" "is" "round" "+")
triple5
((triple7 triple1) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((triple7 ((triple2 triple6) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
((triple7 ((((triple6) -> (rule6 % int3)) triple6) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
triple6
Charlie is young.
("Charlie" "is" "young" "+")
triple7
Dave is red.
("Dave" "is" "red" "+")
triple8
((triple10 ((((triple10) -> (rule6 % int3)) triple10) -> (rule3 % int2))) -> (rule2 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
triple9
((triple11) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((triple8) -> (rule4 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((((triple10 ((((triple10) -> (rule6 % int4)) triple10) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
int4
Dave is white.
("Dave" "is" "white" "+")
triple10
Dave is young.
("Dave" "is" "young" "+")
triple11
Gary is cold.
("Gary" "is" "cold" "+")
triple12
((((triple15) -> (rule6 % int2)) triple15) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
triple13
((triple16) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((((triple15 triple12) -> (rule2 % int2))) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
((((triple15 ((((triple15) -> (rule6 % int4)) triple15) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
int4
Gary is round.
("Gary" "is" "round" "+")
triple14
((triple16 triple12) -> (rule1 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
((triple16 ((((triple15) -> (rule6 % int3)) triple15) -> (rule3 % int2))) -> (rule1 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
triple15
Gary is young.
("Gary" "is" "young" "+")
triple16
Dave is quiet.
("Dave" "is" "quiet" "+")
((triple10) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
((triple15) -> (rule6 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
((triple15 triple12) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((triple15 ((((triple15) -> (rule6 % int3)) triple15) -> (rule3 % int2))) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
((((triple10) -> (rule6 % int2)) triple10) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
((triple11 ((((triple10) -> (rule6 % int3)) triple10) -> (rule3 % int2))) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3