Fiona is blue. Fiona is not cold. Fiona is green. Fiona is quiet. Fiona is rough. Fiona is round. Fiona is not white. Gary is blue. Gary is cold. Gary is green. Gary is not quiet. Gary is rough. Gary is round. Gary is white. If Fiona is blue and Fiona is not cold then Fiona is rough. Quiet people are round. All rough, blue people are round. If Gary is cold then Gary is green. If someone is cold and not rough then they are green. If Gary is not green then Gary is round.
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is not cold.
("Fiona" "is" "cold" "-")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is not white.
("Fiona" "is" "white" "-")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is not quiet.
("Gary" "is" "quiet" "-")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is white.
("Gary" "is" "white" "+")
If Fiona is blue and Fiona is not cold then Fiona is rough.
((("Fiona" "is" "blue" "+") ("Fiona" "is" "cold" "~")) -> ("Fiona" "is" "rough" "+"))
Quiet people are round.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "round" "+"))
All rough, blue people are round.
((("someone" "is" "rough" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "round" "+"))
If Gary is cold then Gary is green.
((("Gary" "is" "cold" "+")) -> ("Gary" "is" "green" "+"))
If someone is cold and not rough then they are green.
((("someone" "is" "cold" "+") ("someone" "is" "rough" "~")) -> ("someone" "is" "green" "+"))
If Gary is not green then Gary is round.
((("Gary" "is" "green" "~")) -> ("Gary" "is" "round" "+"))
Fiona is rough.
True
1
proof
[(triple5 OR ((triple1 triple2) -> rule1))]
("Fiona" "is" "rough" "+")
triple5
((triple1 triple2) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is not green.
False
1
inv-proof
[(triple3)]
("Fiona" "is" "green" "-")
triple3
@0: Fiona is blue.[(triple1)] Fiona is green.[(triple3)] Fiona is not cold.[(triple2)] Fiona is not white.[(triple7)] Fiona is quiet.[(triple4)] Fiona is rough.[(triple5 OR ((triple1 triple2) -> rule1))] Fiona is round.[(triple6 OR ((triple4) -> rule2) OR ((triple5 triple1) -> rule3) OR ((((triple1 triple2) -> rule1) triple1) -> rule3))] Gary is blue.[(triple8)] Gary is cold.[(triple9)] Gary is green.[(triple10 OR ((triple9) -> rule4))] Gary is not quiet.[(triple11)] Gary is rough.[(triple12)] Gary is round.[(triple13 OR ((triple12 triple8) -> rule3))] Gary is white.[(triple14)]
Fiona is blue.
("Fiona" "is" "blue" "+")
triple1
Fiona is green.
("Fiona" "is" "green" "+")
triple3
Fiona is not cold.
("Fiona" "is" "cold" "-")
triple2
Fiona is not white.
("Fiona" "is" "white" "-")
triple7
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple4
Fiona is rough.
("Fiona" "is" "rough" "+")
triple5
((triple1 triple2) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
triple6
((triple4) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple5 triple1) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((((triple1 triple2) -> (rule1 % int2)) triple1) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
triple8
Gary is cold.
("Gary" "is" "cold" "+")
triple9
Gary is green.
("Gary" "is" "green" "+")
triple10
((triple9) -> (rule4 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is not quiet.
("Gary" "is" "quiet" "-")
triple11
Gary is rough.
("Gary" "is" "rough" "+")
triple12
Gary is round.
("Gary" "is" "round" "+")
triple13
((triple12 triple8) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
triple14