Fiona is big. Fiona is blue. Fiona is furry. Fiona is green. Fiona is quiet. Fiona is red. Fiona is young. If someone is big and blue then they are furry. If someone is red then they are blue. All red people are big.
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is young.
("Fiona" "is" "young" "+")
If someone is big and blue then they are furry.
((("someone" "is" "big" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
If someone is red then they are blue.
((("someone" "is" "red" "+")) -> ("someone" "is" "blue" "+"))
All red people are big.
((("someone" "is" "red" "+")) -> ("someone" "is" "big" "+"))
Fiona is furry.
True
1
proof
[(triple3 OR ((triple1 triple2) -> rule1) OR ((triple1 ((triple6) -> rule2)) -> rule1) OR ((((triple6) -> rule3) triple2) -> rule1) OR ((((triple6) -> rule3) ((triple6) -> rule2)) -> rule1))]
("Fiona" "is" "furry" "+")
triple3
((triple1 triple2) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple1 ((triple6) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple6) -> (rule3 % int2)) triple2) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((((triple6) -> (rule3 % int3)) ((triple6) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is not young.
False
1
inv-proof
[(triple7)]
("Fiona" "is" "young" "-")
triple7
@0: Fiona is big.[(triple1 OR ((triple6) -> rule3))] Fiona is blue.[(triple2 OR ((triple6) -> rule2))] Fiona is furry.[(triple3 OR ((triple1 triple2) -> rule1) OR ((triple1 ((triple6) -> rule2)) -> rule1) OR ((((triple6) -> rule3) triple2) -> rule1) OR ((((triple6) -> rule3) ((triple6) -> rule2)) -> rule1))] Fiona is green.[(triple4)] Fiona is quiet.[(triple5)] Fiona is red.[(triple6)] Fiona is young.[(triple7)]
Fiona is big.
("Fiona" "is" "big" "+")
triple1
((triple6) -> (rule3 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
triple2
((triple6) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
triple3
((triple1 triple2) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple1 ((triple6) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple6) -> (rule3 % int2)) triple2) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((((triple6) -> (rule3 % int3)) ((triple6) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is green.
("Fiona" "is" "green" "+")
triple4
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple5
Fiona is red.
("Fiona" "is" "red" "+")
triple6
Fiona is young.
("Fiona" "is" "young" "+")
triple7