Fiona is cold. Fiona is furry. Fiona is green. Fiona is kind. Fiona is red. Fiona is rough. Fiona is young. If Fiona is young then Fiona is furry. If Fiona is rough and Fiona is not red then Fiona is green. If Fiona is cold and Fiona is kind then Fiona is young. Rough, green things are furry. If something is red and furry then it is green. If something is furry and not young then it is not green.
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is young.
("Fiona" "is" "young" "+")
If Fiona is young then Fiona is furry.
((("Fiona" "is" "young" "+")) -> ("Fiona" "is" "furry" "+"))
If Fiona is rough and Fiona is not red then Fiona is green.
((("Fiona" "is" "rough" "+") ("Fiona" "is" "red" "~")) -> ("Fiona" "is" "green" "+"))
If Fiona is cold and Fiona is kind then Fiona is young.
((("Fiona" "is" "cold" "+") ("Fiona" "is" "kind" "+")) -> ("Fiona" "is" "young" "+"))
Rough, green things are furry.
((("something" "is" "rough" "+") ("something" "is" "green" "+")) -> ("something" "is" "furry" "+"))
If something is red and furry then it is green.
((("something" "is" "red" "+") ("something" "is" "furry" "+")) -> ("something" "is" "green" "+"))
If something is furry and not young then it is not green.
((("something" "is" "furry" "+") ("something" "is" "young" "~")) -> ("something" "is" "green" "-"))
Fiona is cold.
True
1
proof
[(triple1)]
("Fiona" "is" "cold" "+")
triple1
Fiona is not young.
False
1
inv-proof
[(triple7 OR ((triple1 triple4) -> rule3))]
("Fiona" "is" "young" "-")
triple7
((triple1 triple4) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
@0: Fiona is cold.[(triple1)] Fiona is furry.[(triple2 OR ((triple7) -> rule1) OR ((triple6 triple3) -> rule4) OR ((((triple1 triple4) -> rule3)) -> rule1))] Fiona is green.[(triple3 OR ((triple5 triple2) -> rule5) OR ((triple5 ((triple7) -> rule1)) -> rule5) OR ((triple5 ((((triple1 triple4) -> rule3)) -> rule1)) -> rule5))] Fiona is kind.[(triple4)] Fiona is red.[(triple5)] Fiona is rough.[(triple6)] Fiona is young.[(triple7 OR ((triple1 triple4) -> rule3))]
Fiona is cold.
("Fiona" "is" "cold" "+")
triple1
Fiona is furry.
("Fiona" "is" "furry" "+")
triple2
((triple7) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple6 triple3) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple1 triple4) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
triple3
((triple5 triple2) -> (rule5 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
((triple5 ((triple7) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((triple5 ((((triple1 triple4) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is kind.
("Fiona" "is" "kind" "+")
triple4
Fiona is red.
("Fiona" "is" "red" "+")
triple5
Fiona is rough.
("Fiona" "is" "rough" "+")
triple6
Fiona is young.
("Fiona" "is" "young" "+")
triple7
((triple1 triple4) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1