Dave is big. Dave is kind. Dave is nice. Dave is not quiet. Dave is smart. Erin is big. Erin is furry. Erin is kind. Erin is nice. Erin is not quiet. Erin is red. Erin is smart. If something is furry and nice then it is smart. If Dave is kind and Dave is red then Dave is quiet. Big things are furry.
Dave is big.
("Dave" "is" "big" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is not quiet.
("Dave" "is" "quiet" "-")
Dave is smart.
("Dave" "is" "smart" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is not quiet.
("Erin" "is" "quiet" "-")
Erin is red.
("Erin" "is" "red" "+")
Erin is smart.
("Erin" "is" "smart" "+")
If something is furry and nice then it is smart.
((("something" "is" "furry" "+") ("something" "is" "nice" "+")) -> ("something" "is" "smart" "+"))
If Dave is kind and Dave is red then Dave is quiet.
((("Dave" "is" "kind" "+") ("Dave" "is" "red" "+")) -> ("Dave" "is" "quiet" "+"))
Big things are furry.
((("something" "is" "big" "+")) -> ("something" "is" "furry" "+"))
Dave is kind.
True
1
proof
[(triple2)]
("Dave" "is" "kind" "+")
triple2
Dave is not smart.
False
1
inv-proof
[(triple5 OR ((((triple1) -> rule3) triple3) -> rule1))]
("Dave" "is" "smart" "-")
triple5
((((triple1) -> (rule3 % int2)) triple3) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is furry.
True
2
proof
[(((triple1) -> rule3))]
("Dave" "is" "furry" "+")
((triple1) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is not furry.
False
2
inv-proof
[(((triple1) -> rule3))]
("Dave" "is" "furry" "-")
((triple1) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
@0: Dave is big.[(triple1)] Dave is kind.[(triple2)] Dave is nice.[(triple3)] Dave is not quiet.[(triple4)] Dave is smart.[(triple5 OR ((((triple1) -> rule3) triple3) -> rule1))] Erin is big.[(triple6)] Erin is furry.[(triple7 OR ((triple6) -> rule3))] Erin is kind.[(triple8)] Erin is nice.[(triple9)] Erin is not quiet.[(triple10)] Erin is red.[(triple11)] Erin is smart.[(triple12 OR ((triple7 triple9) -> rule1) OR ((((triple6) -> rule3) triple9) -> rule1))] @1: Dave is furry.[(((triple1) -> rule3))]
Dave is big.
("Dave" "is" "big" "+")
triple1
Dave is kind.
("Dave" "is" "kind" "+")
triple2
Dave is nice.
("Dave" "is" "nice" "+")
triple3
Dave is not quiet.
("Dave" "is" "quiet" "-")
triple4
Dave is smart.
("Dave" "is" "smart" "+")
triple5
((((triple1) -> (rule3 % int2)) triple3) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
triple6
Erin is furry.
("Erin" "is" "furry" "+")
triple7
((triple6) -> (rule3 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
triple8
Erin is nice.
("Erin" "is" "nice" "+")
triple9
Erin is not quiet.
("Erin" "is" "quiet" "-")
triple10
Erin is red.
("Erin" "is" "red" "+")
triple11
Erin is smart.
("Erin" "is" "smart" "+")
triple12
((triple7 triple9) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
((((triple6) -> (rule3 % int2)) triple9) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
((triple1) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1