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