Fiona is rough. Fiona is round. Fiona is white. If something is cold then it is round. If something is rough then it is cold. All red, round things are rough. Round, cold things are big. Cold things are red. White, red things are green. All cold things are green. Green things are cold.
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is white.
("Fiona" "is" "white" "+")
If something is cold then it is round.
((("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
If something is rough then it is cold.
((("something" "is" "rough" "+")) -> ("something" "is" "cold" "+"))
All red, round things are rough.
((("something" "is" "red" "+") ("something" "is" "round" "+")) -> ("something" "is" "rough" "+"))
Round, cold things are big.
((("something" "is" "round" "+") ("something" "is" "cold" "+")) -> ("something" "is" "big" "+"))
Cold things are red.
((("something" "is" "cold" "+")) -> ("something" "is" "red" "+"))
White, red things are green.
((("something" "is" "white" "+") ("something" "is" "red" "+")) -> ("something" "is" "green" "+"))
All cold things are green.
((("something" "is" "cold" "+")) -> ("something" "is" "green" "+"))
Green things are cold.
((("something" "is" "green" "+")) -> ("something" "is" "cold" "+"))
Fiona is round.
True
1
proof
[(triple2 OR ((((triple1) -> rule2)) -> rule1))]
("Fiona" "is" "round" "+")
triple2
((((triple1) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is not rough.
False
1
inv-proof
[(triple1)]
("Fiona" "is" "rough" "-")
triple1
Fiona is cold.
True
2
proof
[(((triple1) -> rule2))]
("Fiona" "is" "cold" "+")
((triple1) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is not cold.
False
2
inv-proof
[(((triple1) -> rule2))]
("Fiona" "is" "cold" "-")
((triple1) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
@0: Fiona is rough.[(triple1)] Fiona is round.[(triple2 OR ((((triple1) -> rule2)) -> rule1))] Fiona is white.[(triple3)] @1: Fiona is cold.[(((triple1) -> rule2))] @2: Fiona is big.[(((triple2 ((triple1) -> rule2)) -> rule4) OR ((((((triple1) -> rule2)) -> rule1) ((triple1) -> rule2)) -> rule4))] Fiona is green.[(((((triple1) -> rule2)) -> rule7) OR ((triple3 ((((triple1) -> rule2)) -> rule5)) -> rule6))] Fiona is red.[(((((triple1) -> rule2)) -> rule5))]
Fiona is rough.
("Fiona" "is" "rough" "+")
triple1
Fiona is round.
("Fiona" "is" "round" "+")
triple2
((((triple1) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
triple3
Fiona is cold.
("Fiona" "is" "cold" "+")
((triple1) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
((triple2 ((triple1) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((((triple1) -> (rule2 % int3))) -> (rule1 % int2)) ((triple1) -> (rule2 % int3))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is green.
("Fiona" "is" "green" "+")
((((triple1) -> (rule2 % int2))) -> (rule7 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((triple3 ((((triple1) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
((((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2