Charlie is big. Charlie is cold. Charlie is green. Charlie is nice. Charlie is red. Charlie is round. Charlie is young. Dave is big. Dave is green. Dave is nice. Dave is red. Dave is young. Round people are cold. If someone is cold then they are big. If someone is nice then they are round.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is young.
("Dave" "is" "young" "+")
Round people are cold.
((("someone" "is" "round" "+")) -> ("someone" "is" "cold" "+"))
If someone is cold then they are big.
((("someone" "is" "cold" "+")) -> ("someone" "is" "big" "+"))
If someone is nice then they are round.
((("someone" "is" "nice" "+")) -> ("someone" "is" "round" "+"))
Charlie is red.
True
1
proof
[(triple5)]
("Charlie" "is" "red" "+")
triple5
Charlie is not round.
False
1
inv-proof
[(triple6 OR ((triple4) -> rule3))]
("Charlie" "is" "round" "-")
triple6
((triple4) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Dave is round.
True
2
proof
[(((triple10) -> rule3))]
("Dave" "is" "round" "+")
((triple10) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is not round.
False
2
inv-proof
[(((triple10) -> rule3))]
("Dave" "is" "round" "-")
((triple10) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is cold.
True
3
proof
[(((((triple10) -> rule3)) -> rule1))]
("Dave" "is" "cold" "+")
((((triple10) -> (rule3 % int2))) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is not cold.
False
3
inv-proof
[(((((triple10) -> rule3)) -> rule1))]
("Dave" "is" "cold" "-")
((((triple10) -> (rule3 % int2))) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
@0: Charlie is big.[(triple1 OR ((triple2) -> rule2) OR ((((triple6) -> rule1)) -> rule2) OR ((((((triple4) -> rule3)) -> rule1)) -> rule2))] Charlie is cold.[(triple2 OR ((triple6) -> rule1) OR ((((triple4) -> rule3)) -> rule1))] Charlie is green.[(triple3)] Charlie is nice.[(triple4)] Charlie is red.[(triple5)] Charlie is round.[(triple6 OR ((triple4) -> rule3))] Charlie is young.[(triple7)] Dave is big.[(triple8 OR ((((((triple10) -> rule3)) -> rule1)) -> rule2))] Dave is green.[(triple9)] Dave is nice.[(triple10)] Dave is red.[(triple11)] Dave is young.[(triple12)] @1: Dave is round.[(((triple10) -> rule3))] @2: Dave is cold.[(((((triple10) -> rule3)) -> rule1))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
((triple2) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((((triple6) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
((((((triple4) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
triple2
((triple6) -> (rule1 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
((((triple4) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
triple3
Charlie is nice.
("Charlie" "is" "nice" "+")
triple4
Charlie is red.
("Charlie" "is" "red" "+")
triple5
Charlie is round.
("Charlie" "is" "round" "+")
triple6
((triple4) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
triple7
Dave is big.
("Dave" "is" "big" "+")
triple8
((((((triple10) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
triple9
Dave is nice.
("Dave" "is" "nice" "+")
triple10
Dave is red.
("Dave" "is" "red" "+")
triple11
Dave is young.
("Dave" "is" "young" "+")
triple12
Dave is round.
("Dave" "is" "round" "+")
((triple10) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
((((triple10) -> (rule3 % int2))) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2