Dave is big. Dave is blue. Dave is furry. Dave is green. Dave is nice. Dave is quiet. Fiona is blue. Fiona is furry. Fiona is green. Fiona is nice. Fiona is quiet. Fiona is round. Gary is furry. Gary is green. Gary is quiet. Big people are round. If someone is round then they are nice. All big people are round. Nice, big people are round. Furry, green people are big. If someone is big then they are furry.
Dave is big.
("Dave" "is" "big" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Big people are round.
((("someone" "is" "big" "+")) -> ("someone" "is" "round" "+"))
If someone is round then they are nice.
((("someone" "is" "round" "+")) -> ("someone" "is" "nice" "+"))
All big people are round.
((("someone" "is" "big" "+")) -> ("someone" "is" "round" "+"))
Nice, big people are round.
((("someone" "is" "nice" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "round" "+"))
Furry, green people are big.
((("someone" "is" "furry" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "big" "+"))
If someone is big then they are furry.
((("someone" "is" "big" "+")) -> ("someone" "is" "furry" "+"))
Dave is quiet.
True
1
proof
[(triple6)]
("Dave" "is" "quiet" "+")
triple6
Dave is not green.
False
1
inv-proof
[(triple4)]
("Dave" "is" "green" "-")
triple4
Dave is round.
True
2
proof
[(((triple1) -> rule1) OR ((triple1) -> rule3) OR ((triple5 triple1) -> rule4) OR ((((triple3 triple4) -> rule5)) -> rule1) OR ((((triple3 triple4) -> rule5)) -> rule3) OR ((triple5 ((triple3 triple4) -> rule5)) -> rule4))]
("Dave" "is" "round" "+")
((triple1) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((triple1) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((triple5 triple1) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((((triple3 triple4) -> (rule5 % int2))) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
((((triple3 triple4) -> (rule5 % int2))) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
((triple5 ((triple3 triple4) -> (rule5 % int2))) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Gary is not big.
False
3
inv-proof
[(((triple13 triple14) -> rule5))]
("Gary" "is" "big" "-")
((triple13 triple14) -> (rule5 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is round.
True
4
proof
[(((((triple13 triple14) -> rule5)) -> rule1) OR ((((triple13 triple14) -> rule5)) -> rule3))]
("Gary" "is" "round" "+")
((((triple13 triple14) -> (rule5 % int2))) -> (rule1 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((triple13 triple14) -> (rule5 % int2))) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is not round.
False
4
inv-proof
[(((((triple13 triple14) -> rule5)) -> rule1) OR ((((triple13 triple14) -> rule5)) -> rule3))]
("Gary" "is" "round" "-")
((((triple13 triple14) -> (rule5 % int2))) -> (rule1 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((triple13 triple14) -> (rule5 % int2))) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is nice.
True
5
proof
[(((((((triple13 triple14) -> rule5)) -> rule1)) -> rule2) OR ((((((triple13 triple14) -> rule5)) -> rule3)) -> rule2))]
("Gary" "is" "nice" "+")
((((((triple13 triple14) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
((((((triple13 triple14) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is not nice.
False
5
inv-proof
[(((((((triple13 triple14) -> rule5)) -> rule1)) -> rule2) OR ((((((triple13 triple14) -> rule5)) -> rule3)) -> rule2))]
("Gary" "is" "nice" "-")
((((((triple13 triple14) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
((((((triple13 triple14) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
@0: Dave is big.[(triple1 OR ((triple3 triple4) -> rule5))] Dave is blue.[(triple2)] Dave is furry.[(triple3 OR ((triple1) -> rule6))] Dave is green.[(triple4)] Dave is nice.[(triple5 OR ((((triple1) -> rule1)) -> rule2) OR ((((triple1) -> rule3)) -> rule2) OR ((((((triple3 triple4) -> rule5)) -> rule1)) -> rule2) OR ((((((triple3 triple4) -> rule5)) -> rule3)) -> rule2))] Dave is quiet.[(triple6)] Fiona is blue.[(triple7)] Fiona is furry.[(triple8)] Fiona is green.[(triple9)] Fiona is nice.[(triple10 OR ((triple12) -> rule2) OR ((((((triple8 triple9) -> rule5)) -> rule1)) -> rule2) OR ((((((triple8 triple9) -> rule5)) -> rule3)) -> rule2))] Fiona is quiet.[(triple11)] Fiona is round.[(triple12 OR ((((triple8 triple9) -> rule5)) -> rule1) OR ((((triple8 triple9) -> rule5)) -> rule3) OR ((triple10 ((triple8 triple9) -> rule5)) -> rule4))] Gary is furry.[(triple13)] Gary is green.[(triple14)] Gary is quiet.[(triple15)] @1: Dave is round.[(((triple1) -> rule1) OR ((triple1) -> rule3) OR ((triple5 triple1) -> rule4) OR ((((triple3 triple4) -> rule5)) -> rule1) OR ((((triple3 triple4) -> rule5)) -> rule3) OR ((triple5 ((triple3 triple4) -> rule5)) -> rule4))] Fiona is big.[(((triple8 triple9) -> rule5))] Gary is big.[(((triple13 triple14) -> rule5))] @2: Gary is round.[(((((triple13 triple14) -> rule5)) -> rule1) OR ((((triple13 triple14) -> rule5)) -> rule3))] @3: Gary is nice.[(((((((triple13 triple14) -> rule5)) -> rule1)) -> rule2) OR ((((((triple13 triple14) -> rule5)) -> rule3)) -> rule2))]
Dave is big.
("Dave" "is" "big" "+")
triple1
((triple3 triple4) -> (rule5 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
triple2
Dave is furry.
("Dave" "is" "furry" "+")
triple3
((triple1) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
triple4
Dave is nice.
("Dave" "is" "nice" "+")
triple5
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((((triple1) -> (rule3 % int2))) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((((((triple3 triple4) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
((((((triple3 triple4) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
triple6
Fiona is blue.
("Fiona" "is" "blue" "+")
triple7
Fiona is furry.
("Fiona" "is" "furry" "+")
triple8
Fiona is green.
("Fiona" "is" "green" "+")
triple9
Fiona is nice.
("Fiona" "is" "nice" "+")
triple10
((triple12) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((((((triple8 triple9) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
((((((triple8 triple9) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple11
Fiona is round.
("Fiona" "is" "round" "+")
triple12
((((triple8 triple9) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((((triple8 triple9) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((triple10 ((triple8 triple9) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
triple13
Gary is green.
("Gary" "is" "green" "+")
triple14
Gary is quiet.
("Gary" "is" "quiet" "+")
triple15
Dave is round.
("Dave" "is" "round" "+")
((triple1) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((triple1) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((triple5 triple1) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((((triple3 triple4) -> (rule5 % int2))) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
((((triple3 triple4) -> (rule5 % int2))) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
((triple5 ((triple3 triple4) -> (rule5 % int2))) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
((triple8 triple9) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
((triple13 triple14) -> (rule5 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
((((triple13 triple14) -> (rule5 % int2))) -> (rule1 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((triple13 triple14) -> (rule5 % int2))) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
((((((triple13 triple14) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
((((((triple13 triple14) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3