Dave is big. Dave is blue. Dave is red. All kind, blue things are round. If something is red then it is round. If Dave is big and Dave is red then Dave is blue. If Dave is big and Dave is round then Dave is not rough. If Dave is kind and Dave is blue then Dave is red. If Dave is red then Dave is kind. If something is kind and not blue then it is not rough. If something is rough then it is quiet.
Dave is big.
("Dave" "is" "big" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is red.
("Dave" "is" "red" "+")
All kind, blue things are round.
((("something" "is" "kind" "+") ("something" "is" "blue" "+")) -> ("something" "is" "round" "+"))
If something is red then it is round.
((("something" "is" "red" "+")) -> ("something" "is" "round" "+"))
If Dave is big and Dave is red then Dave is blue.
((("Dave" "is" "big" "+") ("Dave" "is" "red" "+")) -> ("Dave" "is" "blue" "+"))
If Dave is big and Dave is round then Dave is not rough.
((("Dave" "is" "big" "+") ("Dave" "is" "round" "+")) -> ("Dave" "is" "rough" "-"))
If Dave is kind and Dave is blue then Dave is red.
((("Dave" "is" "kind" "+") ("Dave" "is" "blue" "+")) -> ("Dave" "is" "red" "+"))
If Dave is red then Dave is kind.
((("Dave" "is" "red" "+")) -> ("Dave" "is" "kind" "+"))
If something is kind and not blue then it is not rough.
((("something" "is" "kind" "+") ("something" "is" "blue" "~")) -> ("something" "is" "rough" "-"))
If something is rough then it is quiet.
((("something" "is" "rough" "+")) -> ("something" "is" "quiet" "+"))
Dave is red.
True
1
proof
[(triple3)]
("Dave" "is" "red" "+")
triple3
Dave is not big.
False
1
inv-proof
[(triple1)]
("Dave" "is" "big" "-")
triple1
Dave is kind.
True
2
proof
[(((triple3) -> rule6))]
("Dave" "is" "kind" "+")
((triple3) -> (rule6 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is not kind.
False
2
inv-proof
[(((triple3) -> rule6))]
("Dave" "is" "kind" "-")
((triple3) -> (rule6 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
@0: Dave is big.[(triple1)] Dave is blue.[(triple2 OR ((triple1 triple3) -> rule3))] Dave is red.[(triple3)] @1: Dave is kind.[(((triple3) -> rule6))] Dave is round.[(((triple3) -> rule2) OR ((((triple3) -> rule6) triple2) -> rule1) OR ((((triple3) -> rule6) ((triple1 triple3) -> rule3)) -> rule1))] @2: Dave is not rough.[(((triple1 ((triple3) -> rule2)) -> rule4) OR ((triple1 ((((triple3) -> rule6) triple2) -> rule1)) -> rule4) OR ((triple1 ((((triple3) -> rule6) ((triple1 triple3) -> rule3)) -> rule1)) -> rule4))]
Dave is big.
("Dave" "is" "big" "+")
triple1
Dave is blue.
("Dave" "is" "blue" "+")
triple2
((triple1 triple3) -> (rule3 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
triple3
Dave is kind.
("Dave" "is" "kind" "+")
((triple3) -> (rule6 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
((triple3) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((((triple3) -> (rule6 % int2)) triple2) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
((((triple3) -> (rule6 % int3)) ((triple1 triple3) -> (rule3 % int2))) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is not rough.
("Dave" "is" "rough" "-")
((triple1 ((triple3) -> (rule2 % int2))) -> (rule4 % int1))
Dave is not rough.
("Dave" "is" "rough" "-")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((triple1 ((((triple3) -> (rule6 % int3)) triple2) -> (rule1 % int2))) -> (rule4 % int1))
Dave is not rough.
("Dave" "is" "rough" "-")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
((triple1 ((((triple3) -> (rule6 % int4)) ((triple1 triple3) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Dave is not rough.
("Dave" "is" "rough" "-")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
int4