Dave is cold. Dave is quiet. Dave is smart. Blue, big things are quiet. Smart things are nice. Quiet, blue things are white. If Dave is quiet and Dave is white then Dave is cold. If something is cold and white then it is smart. Nice, quiet things are blue. If something is white and cold then it is nice. White things are smart.
Dave is cold.
("Dave" "is" "cold" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Blue, big things are quiet.
((("something" "is" "blue" "+") ("something" "is" "big" "+")) -> ("something" "is" "quiet" "+"))
Smart things are nice.
((("something" "is" "smart" "+")) -> ("something" "is" "nice" "+"))
Quiet, blue things are white.
((("something" "is" "quiet" "+") ("something" "is" "blue" "+")) -> ("something" "is" "white" "+"))
If Dave is quiet and Dave is white then Dave is cold.
((("Dave" "is" "quiet" "+") ("Dave" "is" "white" "+")) -> ("Dave" "is" "cold" "+"))
If something is cold and white then it is smart.
((("something" "is" "cold" "+") ("something" "is" "white" "+")) -> ("something" "is" "smart" "+"))
Nice, quiet things are blue.
((("something" "is" "nice" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "blue" "+"))
If something is white and cold then it is nice.
((("something" "is" "white" "+") ("something" "is" "cold" "+")) -> ("something" "is" "nice" "+"))
White things are smart.
((("something" "is" "white" "+")) -> ("something" "is" "smart" "+"))
Dave is smart.
True
1
proof
[(triple3)]
("Dave" "is" "smart" "+")
triple3
Dave is not quiet.
False
1
inv-proof
[(triple2)]
("Dave" "is" "quiet" "-")
triple2
Dave is nice.
True
2
proof
[(((triple3) -> rule2))]
("Dave" "is" "nice" "+")
((triple3) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is not nice.
False
2
inv-proof
[(((triple3) -> rule2))]
("Dave" "is" "nice" "-")
((triple3) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is blue.
True
4
proof
[(((((triple3) -> rule2) triple2) -> rule6))]
("Dave" "is" "blue" "+")
((((triple3) -> (rule2 % int2)) triple2) -> (rule6 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is not blue.
False
4
inv-proof
[(((((triple3) -> rule2) triple2) -> rule6))]
("Dave" "is" "blue" "-")
((((triple3) -> (rule2 % int2)) triple2) -> (rule6 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is white.
True
6
proof
[(((triple2 ((((triple3) -> rule2) triple2) -> rule6)) -> rule3))]
("Dave" "is" "white" "+")
((triple2 ((((triple3) -> (rule2 % int3)) triple2) -> (rule6 % int2))) -> (rule3 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is not white.
False
6
inv-proof
[(((triple2 ((((triple3) -> rule2) triple2) -> rule6)) -> rule3))]
("Dave" "is" "white" "-")
((triple2 ((((triple3) -> (rule2 % int3)) triple2) -> (rule6 % int2))) -> (rule3 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
@0: Dave is cold.[(triple1 OR ((triple2 ((triple2 ((((triple3) -> rule2) triple2) -> rule6)) -> rule3)) -> rule4))] Dave is quiet.[(triple2)] Dave is smart.[(triple3)] @1: Dave is nice.[(((triple3) -> rule2))] @2: Dave is blue.[(((((triple3) -> rule2) triple2) -> rule6))] @3: Dave is white.[(((triple2 ((((triple3) -> rule2) triple2) -> rule6)) -> rule3))]
Dave is cold.
("Dave" "is" "cold" "+")
triple1
((triple2 ((triple2 ((((triple3) -> (rule2 % int4)) triple2) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
int4
Dave is quiet.
("Dave" "is" "quiet" "+")
triple2
Dave is smart.
("Dave" "is" "smart" "+")
triple3
Dave is nice.
("Dave" "is" "nice" "+")
((triple3) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
((((triple3) -> (rule2 % int2)) triple2) -> (rule6 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
((triple2 ((((triple3) -> (rule2 % int3)) triple2) -> (rule6 % int2))) -> (rule3 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3