Dave is green. Dave is nice. Dave is red. Dave is rough. Dave is smart. Dave is white. Dave is not young. Young things are nice. If something is white and not nice then it is not smart. All smart things are green. If something is white and not nice then it is green. All white things are green. If something is green and not smart then it is not red. Smart, young things are not rough. If something is red and not white then it is rough.
Dave is green.
("Dave" "is" "green" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Dave is white.
("Dave" "is" "white" "+")
Dave is not young.
("Dave" "is" "young" "-")
Young things are nice.
((("something" "is" "young" "+")) -> ("something" "is" "nice" "+"))
If something is white and not nice then it is not smart.
((("something" "is" "white" "+") ("something" "is" "nice" "~")) -> ("something" "is" "smart" "-"))
All smart things are green.
((("something" "is" "smart" "+")) -> ("something" "is" "green" "+"))
If something is white and not nice then it is green.
((("something" "is" "white" "+") ("something" "is" "nice" "~")) -> ("something" "is" "green" "+"))
All white things are green.
((("something" "is" "white" "+")) -> ("something" "is" "green" "+"))
If something is green and not smart then it is not red.
((("something" "is" "green" "+") ("something" "is" "smart" "~")) -> ("something" "is" "red" "-"))
Smart, young things are not rough.
((("something" "is" "smart" "+") ("something" "is" "young" "+")) -> ("something" "is" "rough" "-"))
If something is red and not white then it is rough.
((("something" "is" "red" "+") ("something" "is" "white" "~")) -> ("something" "is" "rough" "+"))
Dave is smart.
True
1
proof
[(triple5)]
("Dave" "is" "smart" "+")
triple5
Dave is not nice.
False
1
inv-proof
[(triple2)]
("Dave" "is" "nice" "-")
triple2
@0: Dave is green.[(triple1 OR ((triple5) -> rule3) OR ((triple6) -> rule5))] Dave is nice.[(triple2)] Dave is not young.[(triple7)] Dave is red.[(triple3)] Dave is rough.[(triple4)] Dave is smart.[(triple5)] Dave is white.[(triple6)]
Dave is green.
("Dave" "is" "green" "+")
triple1
((triple5) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
((triple6) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
triple2
Dave is not young.
("Dave" "is" "young" "-")
triple7
Dave is red.
("Dave" "is" "red" "+")
triple3
Dave is rough.
("Dave" "is" "rough" "+")
triple4
Dave is smart.
("Dave" "is" "smart" "+")
triple5
Dave is white.
("Dave" "is" "white" "+")
triple6