Theorem: CompleteLattice.IsSupFiniteCompact.isSupClosedCompact
File: Mathlib/Order/CompactlyGenerated/Basic.lean

tactic: intro s hne hsc
state_before: ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
h : IsSupFiniteCompact α
⊢ IsSupClosedCompact α
state_after: ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
h : IsSupFiniteCompact α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
⊢ sSup s ∈ s

tactic: obtain ⟨t, ht₁, ht₂⟩ := h s
state_before: ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
h : IsSupFiniteCompact α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
⊢ sSup s ∈ s
state_after: case intro.intro
ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
h : IsSupFiniteCompact α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
t : Finset α
ht₁ : ↑t ⊆ s
ht₂ : sSup s = t.sup id
⊢ sSup s ∈ s

tactic: clear h
state_before: case intro.intro
ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
h : IsSupFiniteCompact α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
t : Finset α
ht₁ : ↑t ⊆ s
ht₂ : sSup s = t.sup id
⊢ sSup s ∈ s
state_after: case intro.intro
ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
t : Finset α
ht₁ : ↑t ⊆ s
ht₂ : sSup s = t.sup id
⊢ sSup s ∈ s

tactic: rcases t.eq_empty_or_nonempty with h | h
state_before: case intro.intro
ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
t : Finset α
ht₁ : ↑t ⊆ s
ht₂ : sSup s = t.sup id
⊢ sSup s ∈ s
state_after: case intro.intro.inl
ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
t : Finset α
ht₁ : ↑t ⊆ s
ht₂ : sSup s = t.sup id
h : t = ∅
⊢ sSup s ∈ s

case intro.intro.inr
ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
t : Finset α
ht₁ : ↑t ⊆ s
ht₂ : sSup s = t.sup id
h : t.Nonempty
⊢ sSup s ∈ s

tactic: subst h
state_before: case intro.intro.inl
ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
t : Finset α
ht₁ : ↑t ⊆ s
ht₂ : sSup s = t.sup id
h : t = ∅
⊢ sSup s ∈ s
state_after: case intro.intro.inl
ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
ht₁ : ↑∅ ⊆ s
ht₂ : sSup s = ∅.sup id
⊢ sSup s ∈ s

tactic: rw [Finset.sup_empty] at ht₂
state_before: case intro.intro.inl
ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
ht₁ : ↑∅ ⊆ s
ht₂ : sSup s = ∅.sup id
⊢ sSup s ∈ s
state_after: case intro.intro.inl
ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
ht₁ : ↑∅ ⊆ s
ht₂ : sSup s = ⊥
⊢ sSup s ∈ s

tactic: rw [ht₂]
state_before: case intro.intro.inl
ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
ht₁ : ↑∅ ⊆ s
ht₂ : sSup s = ⊥
⊢ sSup s ∈ s
state_after: case intro.intro.inl
ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
ht₁ : ↑∅ ⊆ s
ht₂ : sSup s = ⊥
⊢ ⊥ ∈ s

tactic: simp [eq_singleton_bot_of_sSup_eq_bot_of_nonempty ht₂ hne]
state_before: case intro.intro.inl
ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
ht₁ : ↑∅ ⊆ s
ht₂ : sSup s = ⊥
⊢ ⊥ ∈ s
state_after: no goals

tactic: rw [ht₂]
state_before: case intro.intro.inr
ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
t : Finset α
ht₁ : ↑t ⊆ s
ht₂ : sSup s = t.sup id
h : t.Nonempty
⊢ sSup s ∈ s
state_after: case intro.intro.inr
ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
t : Finset α
ht₁ : ↑t ⊆ s
ht₂ : sSup s = t.sup id
h : t.Nonempty
⊢ t.sup id ∈ s

tactic: exact hsc.finsetSup_mem h ht₁
state_before: case intro.intro.inr
ι : Sort u_1
α : Type u_2
inst✝ : CompleteLattice α
f : ι → α
s : Set α
hne : s.Nonempty
hsc : SupClosed s
t : Finset α
ht₁ : ↑t ⊆ s
ht₂ : sSup s = t.sup id
h : t.Nonempty
⊢ t.sup id ∈ s
state_after: no goals