Dave is big. Dave is blue. Dave is furry. Dave is green. Dave is nice. Dave is red. Dave is round. If Dave is green and Dave is red then Dave is nice. If someone is furry and green then they are big. All round people are furry. All big, furry people are blue. If someone is red and blue then they are furry. If someone is green then they are round.
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 red.
("Dave" "is" "red" "+")
Dave is round.
("Dave" "is" "round" "+")
If Dave is green and Dave is red then Dave is nice.
((("Dave" "is" "green" "+") ("Dave" "is" "red" "+")) -> ("Dave" "is" "nice" "+"))
If someone is furry and green then they are big.
((("someone" "is" "furry" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "big" "+"))
All round people are furry.
((("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
All big, furry people are blue.
((("someone" "is" "big" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "blue" "+"))
If someone is red and blue then they are furry.
((("someone" "is" "red" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
If someone is green then they are round.
((("someone" "is" "green" "+")) -> ("someone" "is" "round" "+"))
Dave is green.
True
1
proof
[(triple4)]
("Dave" "is" "green" "+")
triple4
Dave is not nice.
False
1
inv-proof
[(triple5 OR ((triple4 triple6) -> rule1))]
("Dave" "is" "nice" "-")
triple5
((triple4 triple6) -> (rule1 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
@0: Dave is big.[(triple1 OR ((triple3 triple4) -> rule2) OR ((((triple7) -> rule3) triple4) -> rule2) OR ((((triple6 triple2) -> rule5) triple4) -> rule2) OR ((((((triple4) -> rule6)) -> rule3) triple4) -> rule2))] Dave is blue.[(triple2 OR ((triple1 triple3) -> rule4) OR ((triple1 ((triple7) -> rule3)) -> rule4) OR ((((triple3 triple4) -> rule2) triple3) -> rule4) OR ((((triple3 triple4) -> rule2) ((triple7) -> rule3)) -> rule4) OR ((triple1 ((((triple4) -> rule6)) -> rule3)) -> rule4) OR ((((((triple7) -> rule3) triple4) -> rule2) triple3) -> rule4) OR ((((triple3 triple4) -> rule2) ((((triple4) -> rule6)) -> rule3)) -> rule4) OR ((((((triple7) -> rule3) triple4) -> rule2) ((triple7) -> rule3)) -> rule4) OR ((((((triple7) -> rule3) triple4) -> rule2) ((((triple4) -> rule6)) -> rule3)) -> rule4) OR ((((((((triple4) -> rule6)) -> rule3) triple4) -> rule2) triple3) -> rule4) OR ((((((((triple4) -> rule6)) -> rule3) triple4) -> rule2) ((triple7) -> rule3)) -> rule4) OR ((((((((triple4) -> rule6)) -> rule3) triple4) -> rule2) ((((triple4) -> rule6)) -> rule3)) -> rule4))] Dave is furry.[(triple3 OR ((triple7) -> rule3) OR ((triple6 triple2) -> rule5) OR ((((triple4) -> rule6)) -> rule3))] Dave is green.[(triple4)] Dave is nice.[(triple5 OR ((triple4 triple6) -> rule1))] Dave is red.[(triple6)] Dave is round.[(triple7 OR ((triple4) -> rule6))]
Dave is big.
("Dave" "is" "big" "+")
triple1
((triple3 triple4) -> (rule2 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
((((triple7) -> (rule3 % int2)) triple4) -> (rule2 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((((triple6 triple2) -> (rule5 % int2)) triple4) -> (rule2 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((((((triple4) -> (rule6 % int3))) -> (rule3 % int2)) triple4) -> (rule2 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is blue.
("Dave" "is" "blue" "+")
triple2
((triple1 triple3) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((triple1 ((triple7) -> (rule3 % int2))) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((((triple3 triple4) -> (rule2 % int2)) triple3) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
((((triple3 triple4) -> (rule2 % int3)) ((triple7) -> (rule3 % int2))) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
((triple1 ((((triple4) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
((((((triple7) -> (rule3 % int3)) triple4) -> (rule2 % int2)) triple3) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
((((triple3 triple4) -> (rule2 % int4)) ((((triple4) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is big.
("Dave" "is" "big" "+")
int4
((((((triple7) -> (rule3 % int3)) triple4) -> (rule2 % int2)) ((triple7) -> (rule3 % int3))) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
((((((triple7) -> (rule3 % int4)) triple4) -> (rule2 % int3)) ((((triple4) -> (rule6 % int2))) -> (rule3 % int4))) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
((((((((triple4) -> (rule6 % int4))) -> (rule3 % int3)) triple4) -> (rule2 % int2)) triple3) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
((((((((triple4) -> (rule6 % int4))) -> (rule3 % int3)) triple4) -> (rule2 % int2)) ((triple7) -> (rule3 % int3))) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
((((((((triple4) -> (rule6 % int4))) -> (rule3 % int3)) triple4) -> (rule2 % int2)) ((((triple4) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
Dave is furry.
("Dave" "is" "furry" "+")
triple3
((triple7) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple6 triple2) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((((triple4) -> (rule6 % int2))) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
triple4
Dave is nice.
("Dave" "is" "nice" "+")
triple5
((triple4 triple6) -> (rule1 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
triple6
Dave is round.
("Dave" "is" "round" "+")
triple7
((triple4) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1