Erin is big. Erin is green. Erin is kind. Erin is nice. Erin is not rough. Erin is round. Erin is young. If something is green and not nice then it is not round. Rough things are round. If something is nice and not big then it is kind. Young, round things are kind. Kind, young things are green. Young things are not rough. If something is round then it is young. If Erin is rough and Erin is big then Erin is not green.
Erin is big.
("Erin" "is" "big" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is not rough.
("Erin" "is" "rough" "-")
Erin is round.
("Erin" "is" "round" "+")
Erin is young.
("Erin" "is" "young" "+")
If something is green and not nice then it is not round.
((("something" "is" "green" "+") ("something" "is" "nice" "~")) -> ("something" "is" "round" "-"))
Rough things are round.
((("something" "is" "rough" "+")) -> ("something" "is" "round" "+"))
If something is nice and not big then it is kind.
((("something" "is" "nice" "+") ("something" "is" "big" "~")) -> ("something" "is" "kind" "+"))
Young, round things are kind.
((("something" "is" "young" "+") ("something" "is" "round" "+")) -> ("something" "is" "kind" "+"))
Kind, young things are green.
((("something" "is" "kind" "+") ("something" "is" "young" "+")) -> ("something" "is" "green" "+"))
Young things are not rough.
((("something" "is" "young" "+")) -> ("something" "is" "rough" "-"))
If something is round then it is young.
((("something" "is" "round" "+")) -> ("something" "is" "young" "+"))
If Erin is rough and Erin is big then Erin is not green.
((("Erin" "is" "rough" "+") ("Erin" "is" "big" "+")) -> ("Erin" "is" "green" "-"))
Erin is green.
True
1
proof
[(triple2 OR ((triple3 triple7) -> rule5) OR ((triple3 ((triple6) -> rule7)) -> rule5) OR ((((triple7 triple6) -> rule4) triple7) -> rule5) OR ((((triple7 triple6) -> rule4) ((triple6) -> rule7)) -> rule5) OR ((((((triple6) -> rule7) triple6) -> rule4) triple7) -> rule5) OR ((((((triple6) -> rule7) triple6) -> rule4) ((triple6) -> rule7)) -> rule5))]
("Erin" "is" "green" "+")
triple2
((triple3 triple7) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
((triple3 ((triple6) -> (rule7 % int2))) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((triple7 triple6) -> (rule4 % int2)) triple7) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
((((triple7 triple6) -> (rule4 % int3)) ((triple6) -> (rule7 % int2))) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((((((triple6) -> (rule7 % int3)) triple6) -> (rule4 % int2)) triple7) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
((((((triple6) -> (rule7 % int3)) triple6) -> (rule4 % int2)) ((triple6) -> (rule7 % int3))) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is not big.
False
1
inv-proof
[(triple1)]
("Erin" "is" "big" "-")
triple1
@0: Erin is big.[(triple1)] Erin is green.[(triple2 OR ((triple3 triple7) -> rule5) OR ((triple3 ((triple6) -> rule7)) -> rule5) OR ((((triple7 triple6) -> rule4) triple7) -> rule5) OR ((((triple7 triple6) -> rule4) ((triple6) -> rule7)) -> rule5) OR ((((((triple6) -> rule7) triple6) -> rule4) triple7) -> rule5) OR ((((((triple6) -> rule7) triple6) -> rule4) ((triple6) -> rule7)) -> rule5))] Erin is kind.[(triple3 OR ((triple7 triple6) -> rule4) OR ((((triple6) -> rule7) triple6) -> rule4))] Erin is nice.[(triple4)] Erin is not rough.[(triple5 OR ((triple7) -> rule6) OR ((((triple6) -> rule7)) -> rule6))] Erin is round.[(triple6)] Erin is young.[(triple7 OR ((triple6) -> rule7))]
Erin is big.
("Erin" "is" "big" "+")
triple1
Erin is green.
("Erin" "is" "green" "+")
triple2
((triple3 triple7) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
((triple3 ((triple6) -> (rule7 % int2))) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((triple7 triple6) -> (rule4 % int2)) triple7) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
((((triple7 triple6) -> (rule4 % int3)) ((triple6) -> (rule7 % int2))) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((((((triple6) -> (rule7 % int3)) triple6) -> (rule4 % int2)) triple7) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
((((((triple6) -> (rule7 % int3)) triple6) -> (rule4 % int2)) ((triple6) -> (rule7 % int3))) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
triple3
((triple7 triple6) -> (rule4 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((((triple6) -> (rule7 % int2)) triple6) -> (rule4 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
triple4
Erin is not rough.
("Erin" "is" "rough" "-")
triple5
((triple7) -> (rule6 % int1))
Erin is not rough.
("Erin" "is" "rough" "-")
int1
((((triple6) -> (rule7 % int2))) -> (rule6 % int1))
Erin is not rough.
("Erin" "is" "rough" "-")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
triple6
Erin is young.
("Erin" "is" "young" "+")
triple7
((triple6) -> (rule7 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1