Bob is big. Bob is not green. Bob is kind. Bob is not rough. Bob is round. Bob is smart. Bob is young. Gary is big. Gary is green. Gary is not kind. Gary is rough. Gary is round. Gary is smart. Gary is young. If something is big then it is young. If Gary is rough and Gary is smart then Gary is not kind. If something is kind then it is smart. If Gary is smart and Gary is not young then Gary is rough. If something is young and not smart then it is green. If something is kind and not young then it is green. If something is young and not smart then it is round. If something is smart and not green then it is round.
Bob is big.
("Bob" "is" "big" "+")
Bob is not green.
("Bob" "is" "green" "-")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is not rough.
("Bob" "is" "rough" "-")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is young.
("Bob" "is" "young" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is not kind.
("Gary" "is" "kind" "-")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Gary is young.
("Gary" "is" "young" "+")
If something is big then it is young.
((("something" "is" "big" "+")) -> ("something" "is" "young" "+"))
If Gary is rough and Gary is smart then Gary is not kind.
((("Gary" "is" "rough" "+") ("Gary" "is" "smart" "+")) -> ("Gary" "is" "kind" "-"))
If something is kind then it is smart.
((("something" "is" "kind" "+")) -> ("something" "is" "smart" "+"))
If Gary is smart and Gary is not young then Gary is rough.
((("Gary" "is" "smart" "+") ("Gary" "is" "young" "~")) -> ("Gary" "is" "rough" "+"))
If something is young and not smart then it is green.
((("something" "is" "young" "+") ("something" "is" "smart" "~")) -> ("something" "is" "green" "+"))
If something is kind and not young then it is green.
((("something" "is" "kind" "+") ("something" "is" "young" "~")) -> ("something" "is" "green" "+"))
If something is young and not smart then it is round.
((("something" "is" "young" "+") ("something" "is" "smart" "~")) -> ("something" "is" "round" "+"))
If something is smart and not green then it is round.
((("something" "is" "smart" "+") ("something" "is" "green" "~")) -> ("something" "is" "round" "+"))
Gary is green.
True
1
proof
[(triple9)]
("Gary" "is" "green" "+")
triple9
Gary is not green.
False
1
inv-proof
[(triple9)]
("Gary" "is" "green" "-")
triple9
@0: Bob is big.[(triple1)] Bob is kind.[(triple3)] Bob is not green.[(triple2)] Bob is not rough.[(triple4)] Bob is round.[(triple5 OR ((triple6 triple2) -> rule8) OR ((((triple3) -> rule3) triple2) -> rule8))] Bob is smart.[(triple6 OR ((triple3) -> rule3))] Bob is young.[(triple7 OR ((triple1) -> rule1))] Gary is big.[(triple8)] Gary is green.[(triple9)] Gary is not kind.[(triple10 OR ((triple11 triple13) -> rule2))] Gary is rough.[(triple11)] Gary is round.[(triple12)] Gary is smart.[(triple13)] Gary is young.[(triple14 OR ((triple8) -> rule1))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is kind.
("Bob" "is" "kind" "+")
triple3
Bob is not green.
("Bob" "is" "green" "-")
triple2
Bob is not rough.
("Bob" "is" "rough" "-")
triple4
Bob is round.
("Bob" "is" "round" "+")
triple5
((triple6 triple2) -> (rule8 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((((triple3) -> (rule3 % int2)) triple2) -> (rule8 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
triple6
((triple3) -> (rule3 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
triple7
((triple1) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
triple8
Gary is green.
("Gary" "is" "green" "+")
triple9
Gary is not kind.
("Gary" "is" "kind" "-")
triple10
((triple11 triple13) -> (rule2 % int1))
Gary is not kind.
("Gary" "is" "kind" "-")
int1
Gary is rough.
("Gary" "is" "rough" "+")
triple11
Gary is round.
("Gary" "is" "round" "+")
triple12
Gary is smart.
("Gary" "is" "smart" "+")
triple13
Gary is young.
("Gary" "is" "young" "+")
triple14
((triple8) -> (rule1 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1