Fiona is cold. Fiona is nice. Fiona is quiet. Fiona is red. Fiona is rough. Fiona is smart. Fiona is white. If Fiona is white and Fiona is not nice then Fiona is rough. If something is nice and not quiet then it is rough. All rough, smart things are white. Rough, white things are red. If something is smart then it is red. Quiet, nice things are red. If something is smart and not rough then it is cold. If something is nice and red then it is cold.
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is white.
("Fiona" "is" "white" "+")
If Fiona is white and Fiona is not nice then Fiona is rough.
((("Fiona" "is" "white" "+") ("Fiona" "is" "nice" "~")) -> ("Fiona" "is" "rough" "+"))
If something is nice and not quiet then it is rough.
((("something" "is" "nice" "+") ("something" "is" "quiet" "~")) -> ("something" "is" "rough" "+"))
All rough, smart things are white.
((("something" "is" "rough" "+") ("something" "is" "smart" "+")) -> ("something" "is" "white" "+"))
Rough, white things are red.
((("something" "is" "rough" "+") ("something" "is" "white" "+")) -> ("something" "is" "red" "+"))
If something is smart then it is red.
((("something" "is" "smart" "+")) -> ("something" "is" "red" "+"))
Quiet, nice things are red.
((("something" "is" "quiet" "+") ("something" "is" "nice" "+")) -> ("something" "is" "red" "+"))
If something is smart and not rough then it is cold.
((("something" "is" "smart" "+") ("something" "is" "rough" "~")) -> ("something" "is" "cold" "+"))
If something is nice and red then it is cold.
((("something" "is" "nice" "+") ("something" "is" "red" "+")) -> ("something" "is" "cold" "+"))
Fiona is nice.
True
1
proof
[(triple2)]
("Fiona" "is" "nice" "+")
triple2
Fiona is not cold.
False
1
inv-proof
[(triple1 OR ((triple2 triple4) -> rule8) OR ((triple2 ((triple6) -> rule5)) -> rule8) OR ((triple2 ((triple3 triple2) -> rule6)) -> rule8) OR ((triple2 ((triple5 triple7) -> rule4)) -> rule8) OR ((triple2 ((triple5 ((triple5 triple6) -> rule3)) -> rule4)) -> rule8))]
("Fiona" "is" "cold" "-")
triple1
((triple2 triple4) -> (rule8 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((triple2 ((triple6) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((triple2 ((triple3 triple2) -> (rule6 % int2))) -> (rule8 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((triple2 ((triple5 triple7) -> (rule4 % int2))) -> (rule8 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((triple2 ((triple5 ((triple5 triple6) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
@0: Fiona is cold.[(triple1 OR ((triple2 triple4) -> rule8) OR ((triple2 ((triple6) -> rule5)) -> rule8) OR ((triple2 ((triple3 triple2) -> rule6)) -> rule8) OR ((triple2 ((triple5 triple7) -> rule4)) -> rule8) OR ((triple2 ((triple5 ((triple5 triple6) -> rule3)) -> rule4)) -> rule8))] Fiona is nice.[(triple2)] Fiona is quiet.[(triple3)] Fiona is red.[(triple4 OR ((triple6) -> rule5) OR ((triple3 triple2) -> rule6) OR ((triple5 triple7) -> rule4) OR ((triple5 ((triple5 triple6) -> rule3)) -> rule4))] Fiona is rough.[(triple5)] Fiona is smart.[(triple6)] Fiona is white.[(triple7 OR ((triple5 triple6) -> rule3))]
Fiona is cold.
("Fiona" "is" "cold" "+")
triple1
((triple2 triple4) -> (rule8 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((triple2 ((triple6) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((triple2 ((triple3 triple2) -> (rule6 % int2))) -> (rule8 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((triple2 ((triple5 triple7) -> (rule4 % int2))) -> (rule8 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((triple2 ((triple5 ((triple5 triple6) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
triple2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple3
Fiona is red.
("Fiona" "is" "red" "+")
triple4
((triple6) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((triple3 triple2) -> (rule6 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((triple5 triple7) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((triple5 ((triple5 triple6) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
triple5
Fiona is smart.
("Fiona" "is" "smart" "+")
triple6
Fiona is white.
("Fiona" "is" "white" "+")
triple7
((triple5 triple6) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1