Fiona is blue. Fiona is furry. Fiona is not red. If someone is furry and blue then they are not big. If someone is furry then they are not white. If Fiona is blue and Fiona is not big then Fiona is nice.
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is not red.
("Fiona" "is" "red" "-")
If someone is furry and blue then they are not big.
((("someone" "is" "furry" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "big" "-"))
If someone is furry then they are not white.
((("someone" "is" "furry" "+")) -> ("someone" "is" "white" "-"))
If Fiona is blue and Fiona is not big then Fiona is nice.
((("Fiona" "is" "blue" "+") ("Fiona" "is" "big" "~")) -> ("Fiona" "is" "nice" "+"))
Fiona is blue.
True
1
proof
[(triple1)]
("Fiona" "is" "blue" "+")
triple1
Fiona is not blue.
False
1
inv-proof
[(triple1)]
("Fiona" "is" "blue" "-")
triple1
Fiona is not white.
True
2
proof
[(((triple2) -> rule2))]
("Fiona" "is" "white" "-")
((triple2) -> (rule2 % int1))
Fiona is not white.
("Fiona" "is" "white" "-")
int1
Fiona is white.
False
2
inv-proof
[(((triple2) -> rule2))]
("Fiona" "is" "white" "+")
((triple2) -> (rule2 % int1))
Fiona is not white.
("Fiona" "is" "white" "-")
int1
Fiona is nice.
True
5
proof
[(((triple1 ((triple2 triple1) -> rule1)) -> rule3))]
("Fiona" "is" "nice" "+")
((triple1 ((triple2 triple1) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is not big.
("Fiona" "is" "big" "-")
int2
Fiona is not nice.
False
5
inv-proof
[(((triple1 ((triple2 triple1) -> rule1)) -> rule3))]
("Fiona" "is" "nice" "-")
((triple1 ((triple2 triple1) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is not big.
("Fiona" "is" "big" "-")
int2
@0: Fiona is blue.[(triple1)] Fiona is furry.[(triple2)] Fiona is not red.[(triple3)] @1: Fiona is not big.[(((triple2 triple1) -> rule1))] Fiona is not white.[(((triple2) -> rule2))] @2: Fiona is nice.[(((triple1 ((triple2 triple1) -> rule1)) -> rule3))]
Fiona is blue.
("Fiona" "is" "blue" "+")
triple1
Fiona is furry.
("Fiona" "is" "furry" "+")
triple2
Fiona is not red.
("Fiona" "is" "red" "-")
triple3
Fiona is not big.
("Fiona" "is" "big" "-")
((triple2 triple1) -> (rule1 % int1))
Fiona is not big.
("Fiona" "is" "big" "-")
int1
Fiona is not white.
("Fiona" "is" "white" "-")
((triple2) -> (rule2 % int1))
Fiona is not white.
("Fiona" "is" "white" "-")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple1 ((triple2 triple1) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is not big.
("Fiona" "is" "big" "-")
int2