Bob is green. Bob is red. Bob is rough. Bob is round. Bob is smart. Bob is white. Bob is young. If Bob is round then Bob is red. All round people are white. If someone is white and not young then they are red. If someone is green and not round then they are not red. If Bob is not round then Bob is rough. If someone is rough and young then they are smart. If someone is white and not red then they are rough. If Bob is not red then Bob is smart.
Bob is green.
("Bob" "is" "green" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
If Bob is round then Bob is red.
((("Bob" "is" "round" "+")) -> ("Bob" "is" "red" "+"))
All round people are white.
((("someone" "is" "round" "+")) -> ("someone" "is" "white" "+"))
If someone is white and not young then they are red.
((("someone" "is" "white" "+") ("someone" "is" "young" "~")) -> ("someone" "is" "red" "+"))
If someone is green and not round then they are not red.
((("someone" "is" "green" "+") ("someone" "is" "round" "~")) -> ("someone" "is" "red" "-"))
If Bob is not round then Bob is rough.
((("Bob" "is" "round" "~")) -> ("Bob" "is" "rough" "+"))
If someone is rough and young then they are smart.
((("someone" "is" "rough" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "smart" "+"))
If someone is white and not red then they are rough.
((("someone" "is" "white" "+") ("someone" "is" "red" "~")) -> ("someone" "is" "rough" "+"))
If Bob is not red then Bob is smart.
((("Bob" "is" "red" "~")) -> ("Bob" "is" "smart" "+"))
Bob is round.
True
1
proof
[(triple4)]
("Bob" "is" "round" "+")
triple4
Bob is not red.
False
1
inv-proof
[(triple2 OR ((triple4) -> rule1))]
("Bob" "is" "red" "-")
triple2
((triple4) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
@0: Bob is green.[(triple1)] Bob is red.[(triple2 OR ((triple4) -> rule1))] Bob is rough.[(triple3)] Bob is round.[(triple4)] Bob is smart.[(triple5 OR ((triple3 triple7) -> rule6))] Bob is white.[(triple6 OR ((triple4) -> rule2))] Bob is young.[(triple7)]
Bob is green.
("Bob" "is" "green" "+")
triple1
Bob is red.
("Bob" "is" "red" "+")
triple2
((triple4) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
triple3
Bob is round.
("Bob" "is" "round" "+")
triple4
Bob is smart.
("Bob" "is" "smart" "+")
triple5
((triple3 triple7) -> (rule6 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
triple6
((triple4) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
triple7