Dave is big. Dave is not cold. Dave is kind. Dave is not quiet. Dave is red. Dave is rough. Dave is smart. Gary is big. Gary is cold. Gary is kind. Gary is quiet. Gary is red. Gary is rough. Gary is smart. All cold things are kind. If something is quiet and not kind then it is not smart. If something is quiet and not kind then it is smart. All cold, big things are rough. All red things are rough. Quiet things are big. If something is smart then it is big. If Dave is quiet and Dave is not big then Dave is not rough.
Dave is big.
("Dave" "is" "big" "+")
Dave is not cold.
("Dave" "is" "cold" "-")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is not quiet.
("Dave" "is" "quiet" "-")
Dave is red.
("Dave" "is" "red" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is smart.
("Gary" "is" "smart" "+")
All cold things are kind.
((("something" "is" "cold" "+")) -> ("something" "is" "kind" "+"))
If something is quiet and not kind then it is not smart.
((("something" "is" "quiet" "+") ("something" "is" "kind" "~")) -> ("something" "is" "smart" "-"))
If something is quiet and not kind then it is smart.
((("something" "is" "quiet" "+") ("something" "is" "kind" "~")) -> ("something" "is" "smart" "+"))
All cold, big things are rough.
((("something" "is" "cold" "+") ("something" "is" "big" "+")) -> ("something" "is" "rough" "+"))
All red things are rough.
((("something" "is" "red" "+")) -> ("something" "is" "rough" "+"))
Quiet things are big.
((("something" "is" "quiet" "+")) -> ("something" "is" "big" "+"))
If something is smart then it is big.
((("something" "is" "smart" "+")) -> ("something" "is" "big" "+"))
If Dave is quiet and Dave is not big then Dave is not rough.
((("Dave" "is" "quiet" "+") ("Dave" "is" "big" "~")) -> ("Dave" "is" "rough" "-"))
Gary is red.
True
1
proof
[(triple12)]
("Gary" "is" "red" "+")
triple12
Gary is not quiet.
False
1
inv-proof
[(triple11)]
("Gary" "is" "quiet" "-")
triple11
@0: Dave is big.[(triple1 OR ((triple7) -> rule7))] Dave is kind.[(triple3)] Dave is not cold.[(triple2)] Dave is not quiet.[(triple4)] Dave is red.[(triple5)] Dave is rough.[(triple6 OR ((triple5) -> rule5))] Dave is smart.[(triple7)] Gary is big.[(triple8 OR ((triple11) -> rule6) OR ((triple14) -> rule7))] Gary is cold.[(triple9)] Gary is kind.[(triple10 OR ((triple9) -> rule1))] Gary is quiet.[(triple11)] Gary is red.[(triple12)] Gary is rough.[(triple13 OR ((triple12) -> rule5) OR ((triple9 triple8) -> rule4) OR ((triple9 ((triple11) -> rule6)) -> rule4) OR ((triple9 ((triple14) -> rule7)) -> rule4))] Gary is smart.[(triple14)]
Dave is big.
("Dave" "is" "big" "+")
triple1
((triple7) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
triple3
Dave is not cold.
("Dave" "is" "cold" "-")
triple2
Dave is not quiet.
("Dave" "is" "quiet" "-")
triple4
Dave is red.
("Dave" "is" "red" "+")
triple5
Dave is rough.
("Dave" "is" "rough" "+")
triple6
((triple5) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
triple7
Gary is big.
("Gary" "is" "big" "+")
triple8
((triple11) -> (rule6 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((triple14) -> (rule7 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
triple9
Gary is kind.
("Gary" "is" "kind" "+")
triple10
((triple9) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
triple11
Gary is red.
("Gary" "is" "red" "+")
triple12
Gary is rough.
("Gary" "is" "rough" "+")
triple13
((triple12) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((triple9 triple8) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((triple9 ((triple11) -> (rule6 % int2))) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((triple9 ((triple14) -> (rule7 % int2))) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
triple14