Dave is blue. Dave is cold. Dave is kind. Dave is red. Dave is not rough. Dave is smart. Dave is not young. If something is young then it is blue. If Dave is kind then Dave is blue. Blue, red things are smart. If something is cold then it is smart. If something is kind and cold then it is not rough. If something is blue and not cold then it is not rough. If something is smart and not kind then it is young. If Dave is blue then Dave is smart.
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is not rough.
("Dave" "is" "rough" "-")
Dave is smart.
("Dave" "is" "smart" "+")
Dave is not young.
("Dave" "is" "young" "-")
If something is young then it is blue.
((("something" "is" "young" "+")) -> ("something" "is" "blue" "+"))
If Dave is kind then Dave is blue.
((("Dave" "is" "kind" "+")) -> ("Dave" "is" "blue" "+"))
Blue, red things are smart.
((("something" "is" "blue" "+") ("something" "is" "red" "+")) -> ("something" "is" "smart" "+"))
If something is cold then it is smart.
((("something" "is" "cold" "+")) -> ("something" "is" "smart" "+"))
If something is kind and cold then it is not rough.
((("something" "is" "kind" "+") ("something" "is" "cold" "+")) -> ("something" "is" "rough" "-"))
If something is blue and not cold then it is not rough.
((("something" "is" "blue" "+") ("something" "is" "cold" "~")) -> ("something" "is" "rough" "-"))
If something is smart and not kind then it is young.
((("something" "is" "smart" "+") ("something" "is" "kind" "~")) -> ("something" "is" "young" "+"))
If Dave is blue then Dave is smart.
((("Dave" "is" "blue" "+")) -> ("Dave" "is" "smart" "+"))
Dave is kind.
True
1
proof
[(triple3)]
("Dave" "is" "kind" "+")
triple3
Dave is not cold.
False
1
inv-proof
[(triple2)]
("Dave" "is" "cold" "-")
triple2
@0: Dave is blue.[(triple1 OR ((triple3) -> rule2))] Dave is cold.[(triple2)] Dave is kind.[(triple3)] Dave is not rough.[(triple5 OR ((triple3 triple2) -> rule5))] Dave is not young.[(triple7)] Dave is red.[(triple4)] Dave is smart.[(triple6 OR ((triple1) -> rule8) OR ((triple2) -> rule4) OR ((triple1 triple4) -> rule3) OR ((((triple3) -> rule2)) -> rule8) OR ((((triple3) -> rule2) triple4) -> rule3))]
Dave is blue.
("Dave" "is" "blue" "+")
triple1
((triple3) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
triple2
Dave is kind.
("Dave" "is" "kind" "+")
triple3
Dave is not rough.
("Dave" "is" "rough" "-")
triple5
((triple3 triple2) -> (rule5 % int1))
Dave is not rough.
("Dave" "is" "rough" "-")
int1
Dave is not young.
("Dave" "is" "young" "-")
triple7
Dave is red.
("Dave" "is" "red" "+")
triple4
Dave is smart.
("Dave" "is" "smart" "+")
triple6
((triple1) -> (rule8 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
((triple2) -> (rule4 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
((triple1 triple4) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
((((triple3) -> (rule2 % int2))) -> (rule8 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple3) -> (rule2 % int2)) triple4) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2