Dave is big. Dave is furry. Dave is quiet. Dave is rough. Erin is big. Erin is furry. Erin is nice. Erin is quiet. Erin is red. Erin is rough. Erin is smart. Fiona is big. Fiona is furry. Fiona is quiet. Fiona is rough. Fiona is smart. If someone is furry then they are nice. Nice people are furry. Smart people are nice. If Dave is rough and Dave is nice then Dave is red. If Erin is red then Erin is quiet. Red people are furry. If someone is big and red then they are smart. All nice people are furry.
Dave is big.
("Dave" "is" "big" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
If someone is furry then they are nice.
((("someone" "is" "furry" "+")) -> ("someone" "is" "nice" "+"))
Nice people are furry.
((("someone" "is" "nice" "+")) -> ("someone" "is" "furry" "+"))
Smart people are nice.
((("someone" "is" "smart" "+")) -> ("someone" "is" "nice" "+"))
If Dave is rough and Dave is nice then Dave is red.
((("Dave" "is" "rough" "+") ("Dave" "is" "nice" "+")) -> ("Dave" "is" "red" "+"))
If Erin is red then Erin is quiet.
((("Erin" "is" "red" "+")) -> ("Erin" "is" "quiet" "+"))
Red people are furry.
((("someone" "is" "red" "+")) -> ("someone" "is" "furry" "+"))
If someone is big and red then they are smart.
((("someone" "is" "big" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "smart" "+"))
All nice people are furry.
((("someone" "is" "nice" "+")) -> ("someone" "is" "furry" "+"))
Erin is quiet.
True
1
proof
[(triple8 OR ((triple9) -> rule5))]
("Erin" "is" "quiet" "+")
triple8
((triple9) -> (rule5 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is not smart.
False
1
inv-proof
[(triple11 OR ((triple5 triple9) -> rule7))]
("Erin" "is" "smart" "-")
triple11
((triple5 triple9) -> (rule7 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Fiona is nice.
True
2
proof
[(((triple13) -> rule1) OR ((triple16) -> rule3))]
("Fiona" "is" "nice" "+")
((triple13) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple16) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Dave is not nice.
False
2
inv-proof
[(((triple2) -> rule1))]
("Dave" "is" "nice" "-")
((triple2) -> (rule1 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is red.
True
4
proof
[(((triple4 ((triple2) -> rule1)) -> rule4))]
("Dave" "is" "red" "+")
((triple4 ((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is not red.
False
4
inv-proof
[(((triple4 ((triple2) -> rule1)) -> rule4))]
("Dave" "is" "red" "-")
((triple4 ((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is smart.
True
6
proof
[(((triple1 ((triple4 ((triple2) -> rule1)) -> rule4)) -> rule7))]
("Dave" "is" "smart" "+")
((triple1 ((triple4 ((triple2) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is not smart.
False
6
inv-proof
[(((triple1 ((triple4 ((triple2) -> rule1)) -> rule4)) -> rule7))]
("Dave" "is" "smart" "-")
((triple1 ((triple4 ((triple2) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
@0: Dave is big.[(triple1)] Dave is furry.[(triple2)] Dave is quiet.[(triple3)] Dave is rough.[(triple4)] Erin is big.[(triple5)] Erin is furry.[(triple6 OR ((triple7) -> rule2) OR ((triple7) -> rule8) OR ((triple9) -> rule6) OR ((((triple11) -> rule3)) -> rule2) OR ((((triple11) -> rule3)) -> rule8) OR ((((((triple5 triple9) -> rule7)) -> rule3)) -> rule2) OR ((((((triple5 triple9) -> rule7)) -> rule3)) -> rule8))] Erin is nice.[(triple7 OR ((triple11) -> rule3) OR ((triple6) -> rule1) OR ((((triple9) -> rule6)) -> rule1) OR ((((triple5 triple9) -> rule7)) -> rule3))] Erin is quiet.[(triple8 OR ((triple9) -> rule5))] Erin is red.[(triple9)] Erin is rough.[(triple10)] Erin is smart.[(triple11 OR ((triple5 triple9) -> rule7))] Fiona is big.[(triple12)] Fiona is furry.[(triple13 OR ((((triple16) -> rule3)) -> rule2) OR ((((triple16) -> rule3)) -> rule8))] Fiona is quiet.[(triple14)] Fiona is rough.[(triple15)] Fiona is smart.[(triple16)] @1: Dave is nice.[(((triple2) -> rule1))] Fiona is nice.[(((triple13) -> rule1) OR ((triple16) -> rule3))] @2: Dave is red.[(((triple4 ((triple2) -> rule1)) -> rule4))] @3: Dave is smart.[(((triple1 ((triple4 ((triple2) -> rule1)) -> rule4)) -> rule7))]
Dave is big.
("Dave" "is" "big" "+")
triple1
Dave is furry.
("Dave" "is" "furry" "+")
triple2
Dave is quiet.
("Dave" "is" "quiet" "+")
triple3
Dave is rough.
("Dave" "is" "rough" "+")
triple4
Erin is big.
("Erin" "is" "big" "+")
triple5
Erin is furry.
("Erin" "is" "furry" "+")
triple6
((triple7) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((triple7) -> (rule8 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((triple9) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((((triple11) -> (rule3 % int2))) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
((((triple11) -> (rule3 % int2))) -> (rule8 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
((((((triple5 triple9) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
((((((triple5 triple9) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
triple7
((triple11) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((triple6) -> (rule1 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((((triple9) -> (rule6 % int2))) -> (rule1 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
((((triple5 triple9) -> (rule7 % int2))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
triple8
((triple9) -> (rule5 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
triple9
Erin is rough.
("Erin" "is" "rough" "+")
triple10
Erin is smart.
("Erin" "is" "smart" "+")
triple11
((triple5 triple9) -> (rule7 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
triple12
Fiona is furry.
("Fiona" "is" "furry" "+")
triple13
((((triple16) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple16) -> (rule3 % int2))) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple14
Fiona is rough.
("Fiona" "is" "rough" "+")
triple15
Fiona is smart.
("Fiona" "is" "smart" "+")
triple16
Dave is nice.
("Dave" "is" "nice" "+")
((triple2) -> (rule1 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple13) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple16) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
((triple4 ((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
((triple1 ((triple4 ((triple2) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3