Gary is blue. Gary is cold. Gary is nice. Gary is smart. Harry is blue. Harry is nice. Harry is red. Harry is round. Harry is smart. Harry is white. All round things are red. If something is nice then it is white. If Gary is cold and Gary is white then Gary is round.
Gary is blue.
("Gary" "is" "blue" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Harry is white.
("Harry" "is" "white" "+")
All round things are red.
((("something" "is" "round" "+")) -> ("something" "is" "red" "+"))
If something is nice then it is white.
((("something" "is" "nice" "+")) -> ("something" "is" "white" "+"))
If Gary is cold and Gary is white then Gary is round.
((("Gary" "is" "cold" "+") ("Gary" "is" "white" "+")) -> ("Gary" "is" "round" "+"))
Harry is round.
True
1
proof
[(triple8)]
("Harry" "is" "round" "+")
triple8
Harry is not smart.
False
1
inv-proof
[(triple9)]
("Harry" "is" "smart" "-")
triple9
Gary is white.
True
2
proof
[(((triple3) -> rule2))]
("Gary" "is" "white" "+")
((triple3) -> (rule2 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is not white.
False
2
inv-proof
[(((triple3) -> rule2))]
("Gary" "is" "white" "-")
((triple3) -> (rule2 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is round.
True
4
proof
[(((triple2 ((triple3) -> rule2)) -> rule3))]
("Gary" "is" "round" "+")
((triple2 ((triple3) -> (rule2 % int2))) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is not round.
False
4
inv-proof
[(((triple2 ((triple3) -> rule2)) -> rule3))]
("Gary" "is" "round" "-")
((triple2 ((triple3) -> (rule2 % int2))) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
@0: Gary is blue.[(triple1)] Gary is cold.[(triple2)] Gary is nice.[(triple3)] Gary is smart.[(triple4)] Harry is blue.[(triple5)] Harry is nice.[(triple6)] Harry is red.[(triple7 OR ((triple8) -> rule1))] Harry is round.[(triple8)] Harry is smart.[(triple9)] Harry is white.[(triple10 OR ((triple6) -> rule2))] @1: Gary is white.[(((triple3) -> rule2))] @2: Gary is round.[(((triple2 ((triple3) -> rule2)) -> rule3))] @3: Gary is red.[(((((triple2 ((triple3) -> rule2)) -> rule3)) -> rule1))]
Gary is blue.
("Gary" "is" "blue" "+")
triple1
Gary is cold.
("Gary" "is" "cold" "+")
triple2
Gary is nice.
("Gary" "is" "nice" "+")
triple3
Gary is smart.
("Gary" "is" "smart" "+")
triple4
Harry is blue.
("Harry" "is" "blue" "+")
triple5
Harry is nice.
("Harry" "is" "nice" "+")
triple6
Harry is red.
("Harry" "is" "red" "+")
triple7
((triple8) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
triple8
Harry is smart.
("Harry" "is" "smart" "+")
triple9
Harry is white.
("Harry" "is" "white" "+")
triple10
((triple6) -> (rule2 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
((triple3) -> (rule2 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
((triple2 ((triple3) -> (rule2 % int2))) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
((((triple2 ((triple3) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3