Fiona is blue. Fiona is cold. Fiona is kind. Fiona is nice. Fiona is rough. Fiona is smart. Fiona is young. All rough people are smart. All smart, rough people are blue. All smart people are kind. If Fiona is young then Fiona is blue. If Fiona is blue and Fiona is cold then Fiona is nice. If someone is rough and blue then they are cold. All rough people are smart. If someone is rough and young then they are nice.
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is young.
("Fiona" "is" "young" "+")
All rough people are smart.
((("someone" "is" "rough" "+")) -> ("someone" "is" "smart" "+"))
All smart, rough people are blue.
((("someone" "is" "smart" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "blue" "+"))
All smart people are kind.
((("someone" "is" "smart" "+")) -> ("someone" "is" "kind" "+"))
If Fiona is young then Fiona is blue.
((("Fiona" "is" "young" "+")) -> ("Fiona" "is" "blue" "+"))
If Fiona is blue and Fiona is cold then Fiona is nice.
((("Fiona" "is" "blue" "+") ("Fiona" "is" "cold" "+")) -> ("Fiona" "is" "nice" "+"))
If someone is rough and blue then they are cold.
((("someone" "is" "rough" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "cold" "+"))
All rough people are smart.
((("someone" "is" "rough" "+")) -> ("someone" "is" "smart" "+"))
If someone is rough and young then they are nice.
((("someone" "is" "rough" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "nice" "+"))
Fiona is cold.
True
1
proof
[(triple2 OR ((triple5 triple1) -> rule6) OR ((triple5 ((triple7) -> rule4)) -> rule6) OR ((triple5 ((triple6 triple5) -> rule2)) -> rule6) OR ((triple5 ((((triple5) -> rule1) triple5) -> rule2)) -> rule6) OR ((triple5 ((((triple5) -> rule7) triple5) -> rule2)) -> rule6))]
("Fiona" "is" "cold" "+")
triple2
((triple5 triple1) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((triple5 ((triple7) -> (rule4 % int2))) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((triple5 ((triple6 triple5) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((triple5 ((((triple5) -> (rule1 % int3)) triple5) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((triple5 ((((triple5) -> (rule7 % int3)) triple5) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is not smart.
False
1
inv-proof
[(triple6 OR ((triple5) -> rule1) OR ((triple5) -> rule7))]
("Fiona" "is" "smart" "-")
triple6
((triple5) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((triple5) -> (rule7 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
@0: Fiona is blue.[(triple1 OR ((triple7) -> rule4) OR ((triple6 triple5) -> rule2) OR ((((triple5) -> rule1) triple5) -> rule2) OR ((((triple5) -> rule7) triple5) -> rule2))] Fiona is cold.[(triple2 OR ((triple5 triple1) -> rule6) OR ((triple5 ((triple7) -> rule4)) -> rule6) OR ((triple5 ((triple6 triple5) -> rule2)) -> rule6) OR ((triple5 ((((triple5) -> rule1) triple5) -> rule2)) -> rule6) OR ((triple5 ((((triple5) -> rule7) triple5) -> rule2)) -> rule6))] Fiona is kind.[(triple3 OR ((triple6) -> rule3) OR ((((triple5) -> rule1)) -> rule3) OR ((((triple5) -> rule7)) -> rule3))] Fiona is nice.[(triple4 OR ((triple1 triple2) -> rule5) OR ((triple5 triple7) -> rule8) OR ((triple1 ((triple5 triple1) -> rule6)) -> rule5) OR ((((triple7) -> rule4) triple2) -> rule5) OR ((((triple6 triple5) -> rule2) triple2) -> rule5) OR ((((triple7) -> rule4) ((triple5 triple1) -> rule6)) -> rule5) OR ((((triple6 triple5) -> rule2) ((triple5 triple1) -> rule6)) -> rule5) OR ((triple1 ((triple5 ((triple7) -> rule4)) -> rule6)) -> rule5) OR ((triple1 ((triple5 ((triple6 triple5) -> rule2)) -> rule6)) -> rule5) OR ((((((triple5) -> rule1) triple5) -> rule2) triple2) -> rule5) OR ((((((triple5) -> rule7) triple5) -> rule2) triple2) -> rule5) OR ((((triple7) -> rule4) ((triple5 ((triple7) -> rule4)) -> rule6)) -> rule5) OR ((((triple7) -> rule4) ((triple5 ((triple6 triple5) -> rule2)) -> rule6)) -> rule5) OR ((((triple6 triple5) -> rule2) ((triple5 ((triple7) -> rule4)) -> rule6)) -> rule5) OR ((((triple6 triple5) -> rule2) ((triple5 ((triple6 triple5) -> rule2)) -> rule6)) -> rule5) OR ((((((triple5) -> rule1) triple5) -> rule2) ((triple5 triple1) -> rule6)) -> rule5) OR ((((((triple5) -> rule7) triple5) -> rule2) ((triple5 triple1) -> rule6)) -> rule5) OR ((((((triple5) -> rule1) triple5) -> rule2) ((triple5 ((triple7) -> rule4)) -> rule6)) -> rule5) OR ((((((triple5) -> rule1) triple5) -> rule2) ((triple5 ((triple6 triple5) -> rule2)) -> rule6)) -> rule5) OR ((((((triple5) -> rule7) triple5) -> rule2) ((triple5 ((triple7) -> rule4)) -> rule6)) -> rule5) OR ((((((triple5) -> rule7) triple5) -> rule2) ((triple5 ((triple6 triple5) -> rule2)) -> rule6)) -> rule5) OR ((triple1 ((triple5 ((((triple5) -> rule1) triple5) -> rule2)) -> rule6)) -> rule5) OR ((triple1 ((triple5 ((((triple5) -> rule7) triple5) -> rule2)) -> rule6)) -> rule5) OR ((((triple7) -> rule4) ((triple5 ((((triple5) -> rule1) triple5) -> rule2)) -> rule6)) -> rule5) OR ((((triple7) -> rule4) ((triple5 ((((triple5) -> rule7) triple5) -> rule2)) -> rule6)) -> rule5) OR ((((triple6 triple5) -> rule2) ((triple5 ((((triple5) -> rule1) triple5) -> rule2)) -> rule6)) -> rule5) OR ((((triple6 triple5) -> rule2) ((triple5 ((((triple5) -> rule7) triple5) -> rule2)) -> rule6)) -> rule5) OR ((((((triple5) -> rule1) triple5) -> rule2) ((triple5 ((((triple5) -> rule1) triple5) -> rule2)) -> rule6)) -> rule5) OR ((((((triple5) -> rule1) triple5) -> rule2) ((triple5 ((((triple5) -> rule7) triple5) -> rule2)) -> rule6)) -> rule5) OR ((((((triple5) -> rule7) triple5) -> rule2) ((triple5 ((((triple5) -> rule1) triple5) -> rule2)) -> rule6)) -> rule5) OR ((((((triple5) -> rule7) triple5) -> rule2) ((triple5 ((((triple5) -> rule7) triple5) -> rule2)) -> rule6)) -> rule5))] Fiona is rough.[(triple5)] Fiona is smart.[(triple6 OR ((triple5) -> rule1) OR ((triple5) -> rule7))] Fiona is young.[(triple7)]
Fiona is blue.
("Fiona" "is" "blue" "+")
triple1
((triple7) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple6 triple5) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((((triple5) -> (rule1 % int2)) triple5) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((((triple5) -> (rule7 % int2)) triple5) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
triple2
((triple5 triple1) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((triple5 ((triple7) -> (rule4 % int2))) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((triple5 ((triple6 triple5) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((triple5 ((((triple5) -> (rule1 % int3)) triple5) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((triple5 ((((triple5) -> (rule7 % int3)) triple5) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is kind.
("Fiona" "is" "kind" "+")
triple3
((triple6) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
((((triple5) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((((triple5) -> (rule7 % int2))) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
triple4
((triple1 triple2) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple5 triple7) -> (rule8 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple1 ((triple5 triple1) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple7) -> (rule4 % int2)) triple2) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple6 triple5) -> (rule2 % int2)) triple2) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple7) -> (rule4 % int3)) ((triple5 triple1) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((((triple6 triple5) -> (rule2 % int3)) ((triple5 triple1) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((triple1 ((triple5 ((triple7) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((triple1 ((triple5 ((triple6 triple5) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((((((triple5) -> (rule1 % int3)) triple5) -> (rule2 % int2)) triple2) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((((((triple5) -> (rule7 % int3)) triple5) -> (rule2 % int2)) triple2) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((((triple7) -> (rule4 % int3)) ((triple5 ((triple7) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((((triple7) -> (rule4 % int3)) ((triple5 ((triple6 triple5) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((((triple6 triple5) -> (rule2 % int3)) ((triple5 ((triple7) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((((triple6 triple5) -> (rule2 % int3)) ((triple5 ((triple6 triple5) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((((((triple5) -> (rule1 % int4)) triple5) -> (rule2 % int3)) ((triple5 triple1) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
((((((triple5) -> (rule7 % int4)) triple5) -> (rule2 % int3)) ((triple5 triple1) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
((((((triple5) -> (rule1 % int4)) triple5) -> (rule2 % int3)) ((triple5 ((triple7) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
((((((triple5) -> (rule1 % int4)) triple5) -> (rule2 % int3)) ((triple5 ((triple6 triple5) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
((((((triple5) -> (rule7 % int4)) triple5) -> (rule2 % int3)) ((triple5 ((triple7) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
((((((triple5) -> (rule7 % int4)) triple5) -> (rule2 % int3)) ((triple5 ((triple6 triple5) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
((triple1 ((triple5 ((((triple5) -> (rule1 % int4)) triple5) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
((triple1 ((triple5 ((((triple5) -> (rule7 % int4)) triple5) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
((((triple7) -> (rule4 % int4)) ((triple5 ((((triple5) -> (rule1 % int3)) triple5) -> (rule2 % int4))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
((((triple7) -> (rule4 % int4)) ((triple5 ((((triple5) -> (rule7 % int3)) triple5) -> (rule2 % int4))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
((((triple6 triple5) -> (rule2 % int4)) ((triple5 ((((triple5) -> (rule1 % int3)) triple5) -> (rule2 % int4))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
((((triple6 triple5) -> (rule2 % int4)) ((triple5 ((((triple5) -> (rule7 % int3)) triple5) -> (rule2 % int4))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
((((((triple5) -> (rule1 % int4)) triple5) -> (rule2 % int3)) ((triple5 ((((triple5) -> (rule1 % int4)) triple5) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
((((((triple5) -> (rule1 % int4)) triple5) -> (rule2 % int3)) ((triple5 ((((triple5) -> (rule7 % int4)) triple5) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
((((((triple5) -> (rule7 % int4)) triple5) -> (rule2 % int3)) ((triple5 ((((triple5) -> (rule1 % int4)) triple5) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
((((((triple5) -> (rule7 % int4)) triple5) -> (rule2 % int3)) ((triple5 ((((triple5) -> (rule7 % int4)) triple5) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
Fiona is rough.
("Fiona" "is" "rough" "+")
triple5
Fiona is smart.
("Fiona" "is" "smart" "+")
triple6
((triple5) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((triple5) -> (rule7 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
triple7