Fiona is blue. Fiona is furry. Fiona is quiet. Fiona is red. Fiona is rough. Fiona is white. Fiona is not young. All young things are blue. All red things are not young. If Fiona is blue then Fiona is not young. If something is furry and quiet then it is red. If something is quiet and young then it is furry. If something is young and rough then it is quiet. If Fiona is furry then Fiona is white. If Fiona is red and Fiona is not furry then Fiona is white.
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Fiona is not young.
("Fiona" "is" "young" "-")
All young things are blue.
((("something" "is" "young" "+")) -> ("something" "is" "blue" "+"))
All red things are not young.
((("something" "is" "red" "+")) -> ("something" "is" "young" "-"))
If Fiona is blue then Fiona is not young.
((("Fiona" "is" "blue" "+")) -> ("Fiona" "is" "young" "-"))
If something is furry and quiet then it is red.
((("something" "is" "furry" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "red" "+"))
If something is quiet and young then it is furry.
((("something" "is" "quiet" "+") ("something" "is" "young" "+")) -> ("something" "is" "furry" "+"))
If something is young and rough then it is quiet.
((("something" "is" "young" "+") ("something" "is" "rough" "+")) -> ("something" "is" "quiet" "+"))
If Fiona is furry then Fiona is white.
((("Fiona" "is" "furry" "+")) -> ("Fiona" "is" "white" "+"))
If Fiona is red and Fiona is not furry then Fiona is white.
((("Fiona" "is" "red" "+") ("Fiona" "is" "furry" "~")) -> ("Fiona" "is" "white" "+"))
Fiona is red.
True
1
proof
[(triple4 OR ((triple2 triple3) -> rule4))]
("Fiona" "is" "red" "+")
triple4
((triple2 triple3) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is not red.
False
1
inv-proof
[(triple4 OR ((triple2 triple3) -> rule4))]
("Fiona" "is" "red" "-")
triple4
((triple2 triple3) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
@0: Fiona is blue.[(triple1)] Fiona is furry.[(triple2)] Fiona is not young.[(triple7 OR ((triple1) -> rule3) OR ((triple4) -> rule2) OR ((((triple2 triple3) -> rule4)) -> rule2))] Fiona is quiet.[(triple3)] Fiona is red.[(triple4 OR ((triple2 triple3) -> rule4))] Fiona is rough.[(triple5)] Fiona is white.[(triple6 OR ((triple2) -> rule7))]
Fiona is blue.
("Fiona" "is" "blue" "+")
triple1
Fiona is furry.
("Fiona" "is" "furry" "+")
triple2
Fiona is not young.
("Fiona" "is" "young" "-")
triple7
((triple1) -> (rule3 % int1))
Fiona is not young.
("Fiona" "is" "young" "-")
int1
((triple4) -> (rule2 % int1))
Fiona is not young.
("Fiona" "is" "young" "-")
int1
((((triple2 triple3) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is not young.
("Fiona" "is" "young" "-")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple3
Fiona is red.
("Fiona" "is" "red" "+")
triple4
((triple2 triple3) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
triple5
Fiona is white.
("Fiona" "is" "white" "+")
triple6
((triple2) -> (rule7 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1