simp
case intro.intro.right.left.intro.intro.intro
Worlds : Set (Finset Formula)
X✝ : ↑Worlds
P✝ : Formula
M : KripkeModel { x // x ∈ Worlds }
i : ∀ (X : { x // x ∈ Worlds }), Saturated ↑X ∧ ⊥ ∉ ↑X ∧ ∀ (pp : Char), (·pp) ∈ ↑X → (~·pp) ∉ ↑X
ii : ∀ (X : { x // x ∈ Worlds }) (pp : Char), (·pp) ∈ ↑X ↔ M.val X pp
iii : ∀ (X Y : { x // x ∈ Worlds }) (P : Formula), M.Rel X Y → □P ∈ ↑X → P ∈ ↑Y
iv : ∀ (X : { x // x ∈ Worlds }) (P : Formula), ~(□P) ∈ ↑X → ∃ Y, M.Rel X Y ∧ ~P ∈ ↑Y
plus : Formula → ↑Worlds → Prop := fun P X => P ∈ ↑X → Evaluate (M, X) P
minus : Formula → ↑Worlds → Prop := fun P X => ~P ∈ ↑X → ¬Evaluate (M, X) P
oh : Formula → ↑Worlds → Prop := fun P X => □P ∈ ↑X → ∀ (Y : { x // x ∈ Worlds }), M.Rel X Y → P ∈ ↑Y
P : Formula
IH : ∀ (X : ↑Worlds), plus P X ∧ minus P X ∧ oh P X
X : ↑Worlds
plus_IH : plus P X
minus_IH : minus P X
right✝² : oh P X
notnotP_in_X : ~~P ∈ ↑X
X_saturated : Saturated ↑X
left✝ : ⊥ ∉ ↑X
right✝¹ : ∀ (pp : Char), (·pp) ∈ ↑X → (~·pp) ∉ ↑X
doubleNeg : ~~P ∈ ↑X → P ∈ ↑X
right✝ : (P⋀⊥ ∈ ↑X → P ∈ ↑X ∧ ⊥ ∈ ↑X) ∧ (~(P⋀⊥) ∈ ↑X → ~P ∈ ↑X ∨ ~⊥ ∈ ↑X)
⊢ ¬¬Evaluate (M, X) P
case intro.intro.right.left.intro.intro.intro
Worlds : Set (Finset Formula)
X✝ : ↑Worlds
P✝ : Formula
M : KripkeModel { x // x ∈ Worlds }
i : ∀ (X : { x // x ∈ Worlds }), Saturated ↑X ∧ ⊥ ∉ ↑X ∧ ∀ (pp : Char), (·pp) ∈ ↑X → (~·pp) ∉ ↑X
ii : ∀ (X : { x // x ∈ Worlds }) (pp : Char), (·pp) ∈ ↑X ↔ M.val X pp
iii : ∀ (X Y : { x // x ∈ Worlds }) (P : Formula), M.Rel X Y → □P ∈ ↑X → P ∈ ↑Y
iv : ∀ (X : { x // x ∈ Worlds }) (P : Formula), ~(□P) ∈ ↑X → ∃ Y, M.Rel X Y ∧ ~P ∈ ↑Y
plus : Formula → ↑Worlds → Prop := fun P X => P ∈ ↑X → Evaluate (M, X) P
minus : Formula → ↑Worlds → Prop := fun P X => ~P ∈ ↑X → ¬Evaluate (M, X) P
oh : Formula → ↑Worlds → Prop := fun P X => □P ∈ ↑X → ∀ (Y : { x // x ∈ Worlds }), M.Rel X Y → P ∈ ↑Y
P : Formula
IH : ∀ (X : ↑Worlds), plus P X ∧ minus P X ∧ oh P X
X : ↑Worlds
plus_IH : plus P X
minus_IH : minus P X
right✝² : oh P X
notnotP_in_X : ~~P ∈ ↑X
X_saturated : Saturated ↑X
left✝ : ⊥ ∉ ↑X
right✝¹ : ∀ (pp : Char), (·pp) ∈ ↑X → (~·pp) ∉ ↑X
doubleNeg : ~~P ∈ ↑X → P ∈ ↑X
right✝ : (P⋀⊥ ∈ ↑X → P ∈ ↑X ∧ ⊥ ∈ ↑X) ∧ (~(P⋀⊥) ∈ ↑X → ~P ∈ ↑X ∨ ~⊥ ∈ ↑X)
⊢ Evaluate (M, X) P