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