Fiona is big. Fiona is blue. Fiona is furry. Fiona is green. Fiona is nice. Fiona is red. Fiona is rough. Red things are rough. Rough things are green. All rough, red things are nice. If something is red then it is nice. If Fiona is blue and Fiona is big then Fiona is red. If something is nice then it is green.
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 nice.
("Fiona" "is" "nice" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Red things are rough.
((("something" "is" "red" "+")) -> ("something" "is" "rough" "+"))
Rough things are green.
((("something" "is" "rough" "+")) -> ("something" "is" "green" "+"))
All rough, red things are nice.
((("something" "is" "rough" "+") ("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
If something is red then it is nice.
((("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
If Fiona is blue and Fiona is big then Fiona is red.
((("Fiona" "is" "blue" "+") ("Fiona" "is" "big" "+")) -> ("Fiona" "is" "red" "+"))
If something is nice then it is green.
((("something" "is" "nice" "+")) -> ("something" "is" "green" "+"))
Fiona is big.
True
1
proof
[(triple1)]
("Fiona" "is" "big" "+")
triple1
Fiona is not nice.
False
1
inv-proof
[(triple5 OR ((triple6) -> rule4) OR ((triple7 triple6) -> rule3) OR ((((triple2 triple1) -> rule5)) -> rule4) OR ((triple7 ((triple2 triple1) -> rule5)) -> rule3) OR ((((triple6) -> rule1) triple6) -> rule3) OR ((((triple6) -> rule1) ((triple2 triple1) -> rule5)) -> rule3) OR ((((((triple2 triple1) -> rule5)) -> rule1) triple6) -> rule3) OR ((((((triple2 triple1) -> rule5)) -> rule1) ((triple2 triple1) -> rule5)) -> rule3))]
("Fiona" "is" "nice" "-")
triple5
((triple6) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple7 triple6) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((((triple2 triple1) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((triple7 ((triple2 triple1) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((triple6) -> (rule1 % int2)) triple6) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple6) -> (rule1 % int3)) ((triple2 triple1) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((((triple2 triple1) -> (rule5 % int3))) -> (rule1 % int2)) triple6) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
((((((triple2 triple1) -> (rule5 % int3))) -> (rule1 % int2)) ((triple2 triple1) -> (rule5 % int3))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
@0: Fiona is big.[(triple1)] Fiona is blue.[(triple2)] Fiona is furry.[(triple3)] Fiona is green.[(triple4 OR ((triple5) -> rule6) OR ((triple7) -> rule2) OR ((((triple6) -> rule1)) -> rule2) OR ((((triple6) -> rule4)) -> rule6) OR ((((triple7 triple6) -> rule3)) -> rule6) OR ((((((triple2 triple1) -> rule5)) -> rule1)) -> rule2) OR ((((((triple2 triple1) -> rule5)) -> rule4)) -> rule6) OR ((((triple7 ((triple2 triple1) -> rule5)) -> rule3)) -> rule6) OR ((((((triple6) -> rule1) triple6) -> rule3)) -> rule6) OR ((((((triple6) -> rule1) ((triple2 triple1) -> rule5)) -> rule3)) -> rule6) OR ((((((((triple2 triple1) -> rule5)) -> rule1) triple6) -> rule3)) -> rule6) OR ((((((((triple2 triple1) -> rule5)) -> rule1) ((triple2 triple1) -> rule5)) -> rule3)) -> rule6))] Fiona is nice.[(triple5 OR ((triple6) -> rule4) OR ((triple7 triple6) -> rule3) OR ((((triple2 triple1) -> rule5)) -> rule4) OR ((triple7 ((triple2 triple1) -> rule5)) -> rule3) OR ((((triple6) -> rule1) triple6) -> rule3) OR ((((triple6) -> rule1) ((triple2 triple1) -> rule5)) -> rule3) OR ((((((triple2 triple1) -> rule5)) -> rule1) triple6) -> rule3) OR ((((((triple2 triple1) -> rule5)) -> rule1) ((triple2 triple1) -> rule5)) -> rule3))] Fiona is red.[(triple6 OR ((triple2 triple1) -> rule5))] Fiona is rough.[(triple7 OR ((triple6) -> rule1) OR ((((triple2 triple1) -> rule5)) -> rule1))]
Fiona is big.
("Fiona" "is" "big" "+")
triple1
Fiona is blue.
("Fiona" "is" "blue" "+")
triple2
Fiona is furry.
("Fiona" "is" "furry" "+")
triple3
Fiona is green.
("Fiona" "is" "green" "+")
triple4
((triple5) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
((triple7) -> (rule2 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
((((triple6) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple6) -> (rule4 % int2))) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple7 triple6) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((((triple2 triple1) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
((((((triple2 triple1) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
((((triple7 ((triple2 triple1) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
((((((triple6) -> (rule1 % int3)) triple6) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((((triple6) -> (rule1 % int4)) ((triple2 triple1) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
int4
((((((((triple2 triple1) -> (rule5 % int4))) -> (rule1 % int3)) triple6) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
((((((((triple2 triple1) -> (rule5 % int4))) -> (rule1 % int3)) ((triple2 triple1) -> (rule5 % int4))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
Fiona is nice.
("Fiona" "is" "nice" "+")
triple5
((triple6) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple7 triple6) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((((triple2 triple1) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((triple7 ((triple2 triple1) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((triple6) -> (rule1 % int2)) triple6) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple6) -> (rule1 % int3)) ((triple2 triple1) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((((triple2 triple1) -> (rule5 % int3))) -> (rule1 % int2)) triple6) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
((((((triple2 triple1) -> (rule5 % int3))) -> (rule1 % int2)) ((triple2 triple1) -> (rule5 % int3))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
triple6
((triple2 triple1) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
triple7
((triple6) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((((triple2 triple1) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2