Anne is cold. Anne is quiet. Anne is rough. Anne is round. Anne is smart. Fiona is cold. Fiona is nice. Fiona is quiet. Fiona is rough. Fiona is round. Fiona is smart. Fiona is white. If something is round then it is smart. All white things are cold. Nice things are smart. Cold things are rough. All nice, smart things are cold. Round things are cold. If something is round then it is nice. Quiet things are white.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is white.
("Fiona" "is" "white" "+")
If something is round then it is smart.
((("something" "is" "round" "+")) -> ("something" "is" "smart" "+"))
All white things are cold.
((("something" "is" "white" "+")) -> ("something" "is" "cold" "+"))
Nice things are smart.
((("something" "is" "nice" "+")) -> ("something" "is" "smart" "+"))
Cold things are rough.
((("something" "is" "cold" "+")) -> ("something" "is" "rough" "+"))
All nice, smart things are cold.
((("something" "is" "nice" "+") ("something" "is" "smart" "+")) -> ("something" "is" "cold" "+"))
Round things are cold.
((("something" "is" "round" "+")) -> ("something" "is" "cold" "+"))
If something is round then it is nice.
((("something" "is" "round" "+")) -> ("something" "is" "nice" "+"))
Quiet things are white.
((("something" "is" "quiet" "+")) -> ("something" "is" "white" "+"))
Fiona is quiet.
True
1
proof
[(triple8)]
("Fiona" "is" "quiet" "+")
triple8
Fiona is not white.
False
1
inv-proof
[(triple12 OR ((triple8) -> rule8))]
("Fiona" "is" "white" "-")
triple12
((triple8) -> (rule8 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Anne is nice.
True
2
proof
[(((triple4) -> rule7))]
("Anne" "is" "nice" "+")
((triple4) -> (rule7 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is not white.
False
2
inv-proof
[(((triple2) -> rule8))]
("Anne" "is" "white" "-")
((triple2) -> (rule8 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
@0: Anne is cold.[(triple1 OR ((triple4) -> rule6) OR ((((triple2) -> rule8)) -> rule2) OR ((((triple4) -> rule7) triple5) -> rule5) OR ((((triple4) -> rule7) ((triple4) -> rule1)) -> rule5) OR ((((triple4) -> rule7) ((((triple4) -> rule7)) -> rule3)) -> rule5))] Anne is quiet.[(triple2)] Anne is rough.[(triple3 OR ((triple1) -> rule4) OR ((((triple4) -> rule6)) -> rule4) OR ((((((triple2) -> rule8)) -> rule2)) -> rule4) OR ((((((triple4) -> rule7) triple5) -> rule5)) -> rule4) OR ((((((triple4) -> rule7) ((triple4) -> rule1)) -> rule5)) -> rule4) OR ((((((triple4) -> rule7) ((((triple4) -> rule7)) -> rule3)) -> rule5)) -> rule4))] Anne is round.[(triple4)] Anne is smart.[(triple5 OR ((triple4) -> rule1) OR ((((triple4) -> rule7)) -> rule3))] Fiona is cold.[(triple6 OR ((triple10) -> rule6) OR ((triple12) -> rule2) OR ((triple7 triple11) -> rule5) OR ((((triple8) -> rule8)) -> rule2) OR ((triple7 ((triple10) -> rule1)) -> rule5) OR ((triple7 ((triple7) -> rule3)) -> rule5) OR ((((triple10) -> rule7) triple11) -> rule5) OR ((((triple10) -> rule7) ((triple10) -> rule1)) -> rule5) OR ((((triple10) -> rule7) ((triple7) -> rule3)) -> rule5) OR ((triple7 ((((triple10) -> rule7)) -> rule3)) -> rule5) OR ((((triple10) -> rule7) ((((triple10) -> rule7)) -> rule3)) -> rule5))] Fiona is nice.[(triple7 OR ((triple10) -> rule7))] Fiona is quiet.[(triple8)] Fiona is rough.[(triple9 OR ((triple6) -> rule4) OR ((((triple10) -> rule6)) -> rule4) OR ((((triple12) -> rule2)) -> rule4) OR ((((triple7 triple11) -> rule5)) -> rule4) OR ((((((triple8) -> rule8)) -> rule2)) -> rule4) OR ((((triple7 ((triple10) -> rule1)) -> rule5)) -> rule4) OR ((((triple7 ((triple7) -> rule3)) -> rule5)) -> rule4) OR ((((((triple10) -> rule7) triple11) -> rule5)) -> rule4) OR ((((((triple10) -> rule7) ((triple10) -> rule1)) -> rule5)) -> rule4) OR ((((((triple10) -> rule7) ((triple7) -> rule3)) -> rule5)) -> rule4) OR ((((triple7 ((((triple10) -> rule7)) -> rule3)) -> rule5)) -> rule4) OR ((((((triple10) -> rule7) ((((triple10) -> rule7)) -> rule3)) -> rule5)) -> rule4))] Fiona is round.[(triple10)] Fiona is smart.[(triple11 OR ((triple10) -> rule1) OR ((triple7) -> rule3) OR ((((triple10) -> rule7)) -> rule3))] Fiona is white.[(triple12 OR ((triple8) -> rule8))] @1: Anne is nice.[(((triple4) -> rule7))] Anne is white.[(((triple2) -> rule8))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
((triple4) -> (rule6 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
((((triple2) -> (rule8 % int2))) -> (rule2 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
((((triple4) -> (rule7 % int2)) triple5) -> (rule5 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
((((triple4) -> (rule7 % int3)) ((triple4) -> (rule1 % int2))) -> (rule5 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
((((triple4) -> (rule7 % int3)) ((((triple4) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
triple2
Anne is rough.
("Anne" "is" "rough" "+")
triple3
((triple1) -> (rule4 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((((triple4) -> (rule6 % int2))) -> (rule4 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
((((((triple2) -> (rule8 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
((((((triple4) -> (rule7 % int3)) triple5) -> (rule5 % int2))) -> (rule4 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
((((((triple4) -> (rule7 % int4)) ((triple4) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
((((((triple4) -> (rule7 % int4)) ((((triple4) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
Anne is round.
("Anne" "is" "round" "+")
triple4
Anne is smart.
("Anne" "is" "smart" "+")
triple5
((triple4) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
((((triple4) -> (rule7 % int2))) -> (rule3 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
triple6
((triple10) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((triple12) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((triple7 triple11) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((((triple8) -> (rule8 % int2))) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
((triple7 ((triple10) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((triple7 ((triple7) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((((triple10) -> (rule7 % int2)) triple11) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple10) -> (rule7 % int3)) ((triple10) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((triple10) -> (rule7 % int3)) ((triple7) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((triple7 ((((triple10) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((triple10) -> (rule7 % int3)) ((((triple10) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
triple7
((triple10) -> (rule7 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple8
Fiona is rough.
("Fiona" "is" "rough" "+")
triple9
((triple6) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((((triple10) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple12) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple7 triple11) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((((triple8) -> (rule8 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
((((triple7 ((triple10) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((((triple7 ((triple7) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((((((triple10) -> (rule7 % int3)) triple11) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((((triple10) -> (rule7 % int4)) ((triple10) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
((((((triple10) -> (rule7 % int4)) ((triple7) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
((((triple7 ((((triple10) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
((((((triple10) -> (rule7 % int4)) ((((triple10) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is round.
("Fiona" "is" "round" "+")
triple10
Fiona is smart.
("Fiona" "is" "smart" "+")
triple11
((triple10) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((triple7) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((((triple10) -> (rule7 % int2))) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
triple12
((triple8) -> (rule8 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
((triple4) -> (rule7 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
((triple2) -> (rule8 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1