Erin is big. Erin is blue. Erin is cold. Erin is green. Erin is nice. Erin is red. Erin is round. Green things are nice. If Erin is big then Erin is cold. Big things are red. All blue things are round. Cold, round things are big. Nice things are cold. All nice things are green. If Erin is red then Erin is big.
Erin is big.
("Erin" "is" "big" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is round.
("Erin" "is" "round" "+")
Green things are nice.
((("something" "is" "green" "+")) -> ("something" "is" "nice" "+"))
If Erin is big then Erin is cold.
((("Erin" "is" "big" "+")) -> ("Erin" "is" "cold" "+"))
Big things are red.
((("something" "is" "big" "+")) -> ("something" "is" "red" "+"))
All blue things are round.
((("something" "is" "blue" "+")) -> ("something" "is" "round" "+"))
Cold, round things are big.
((("something" "is" "cold" "+") ("something" "is" "round" "+")) -> ("something" "is" "big" "+"))
Nice things are cold.
((("something" "is" "nice" "+")) -> ("something" "is" "cold" "+"))
All nice things are green.
((("something" "is" "nice" "+")) -> ("something" "is" "green" "+"))
If Erin is red then Erin is big.
((("Erin" "is" "red" "+")) -> ("Erin" "is" "big" "+"))
Erin is nice.
True
1
proof
[(triple5 OR ((triple4) -> rule1))]
("Erin" "is" "nice" "+")
triple5
((triple4) -> (rule1 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is not nice.
False
1
inv-proof
[(triple5 OR ((triple4) -> rule1))]
("Erin" "is" "nice" "-")
triple5
((triple4) -> (rule1 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
@0: Erin is big.[(triple1 OR ((triple6) -> rule8) OR ((triple3 triple7) -> rule5) OR ((triple3 ((triple2) -> rule4)) -> rule5) OR ((((triple5) -> rule6) triple7) -> rule5) OR ((((triple5) -> rule6) ((triple2) -> rule4)) -> rule5) OR ((((((triple4) -> rule1)) -> rule6) triple7) -> rule5) OR ((((((triple4) -> rule1)) -> rule6) ((triple2) -> rule4)) -> rule5))] Erin is blue.[(triple2)] Erin is cold.[(triple3 OR ((triple1) -> rule2) OR ((triple5) -> rule6) OR ((((triple4) -> rule1)) -> rule6) OR ((((triple6) -> rule8)) -> rule2))] Erin is green.[(triple4 OR ((triple5) -> rule7))] Erin is nice.[(triple5 OR ((triple4) -> rule1))] Erin is red.[(triple6 OR ((triple1) -> rule3) OR ((((triple3 triple7) -> rule5)) -> rule3) OR ((((triple3 ((triple2) -> rule4)) -> rule5)) -> rule3) OR ((((((triple5) -> rule6) triple7) -> rule5)) -> rule3) OR ((((((triple5) -> rule6) ((triple2) -> rule4)) -> rule5)) -> rule3) OR ((((((((triple4) -> rule1)) -> rule6) triple7) -> rule5)) -> rule3) OR ((((((((triple4) -> rule1)) -> rule6) ((triple2) -> rule4)) -> rule5)) -> rule3))] Erin is round.[(triple7 OR ((triple2) -> rule4))]
Erin is big.
("Erin" "is" "big" "+")
triple1
((triple6) -> (rule8 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((triple3 triple7) -> (rule5 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((triple3 ((triple2) -> (rule4 % int2))) -> (rule5 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
((((triple5) -> (rule6 % int2)) triple7) -> (rule5 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((triple5) -> (rule6 % int3)) ((triple2) -> (rule4 % int2))) -> (rule5 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((((triple4) -> (rule1 % int3))) -> (rule6 % int2)) triple7) -> (rule5 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
((((((triple4) -> (rule1 % int4))) -> (rule6 % int3)) ((triple2) -> (rule4 % int2))) -> (rule5 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
int4
Erin is blue.
("Erin" "is" "blue" "+")
triple2
Erin is cold.
("Erin" "is" "cold" "+")
triple3
((triple1) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((triple5) -> (rule6 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((((triple4) -> (rule1 % int2))) -> (rule6 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
((((triple6) -> (rule8 % int2))) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
triple4
((triple5) -> (rule7 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
triple5
((triple4) -> (rule1 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
triple6
((triple1) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((((triple3 triple7) -> (rule5 % int2))) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
((((triple3 ((triple2) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
((((((triple5) -> (rule6 % int3)) triple7) -> (rule5 % int2))) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((((triple5) -> (rule6 % int4)) ((triple2) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
((((((((triple4) -> (rule1 % int4))) -> (rule6 % int3)) triple7) -> (rule5 % int2))) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
int4
((((((((triple4) -> (rule1 % int5))) -> (rule6 % int4)) ((triple2) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Erin is nice.
("Erin" "is" "nice" "+")
int5
Erin is round.
("Erin" "is" "round" "+")
triple7
((triple2) -> (rule4 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1