Theorem: CompleteSublattice.map_carrier
File: Mathlib/Order/CompleteSublattice.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
inst✝¹ : CompleteLattice α
inst✝ : CompleteLattice β
f : CompleteLatticeHom α β
L✝ L : CompleteSublattice α
s : Set β
hs : s ⊆ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
⊢ sSup s ∈ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
state_after: case intro.intro
α : Type u_1
β : Type u_2
inst✝¹ : CompleteLattice α
inst✝ : CompleteLattice β
f : CompleteLatticeHom α β
L✝ L : CompleteSublattice α
t : Set α
ht : t ⊆ ↑L
hs : ⇑f '' t ⊆ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
⊢ sSup (⇑f '' t) ∈ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
tactic: obtain ⟨t, ht, rfl⟩ := subset_image_iff.mp hs
state_before: case intro.intro
α : Type u_1
β : Type u_2
inst✝¹ : CompleteLattice α
inst✝ : CompleteLattice β
f : CompleteLatticeHom α β
L✝ L : CompleteSublattice α
t : Set α
ht : t ⊆ ↑L
hs : ⇑f '' t ⊆ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
⊢ sSup (⇑f '' t) ∈ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
state_after: case intro.intro
α : Type u_1
β : Type u_2
inst✝¹ : CompleteLattice α
inst✝ : CompleteLattice β
f : CompleteLatticeHom α β
L✝ L : CompleteSublattice α
t : Set α
ht : t ⊆ ↑L
hs : ⇑f '' t ⊆ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
⊢ f (sSup t) ∈ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
tactic: rw [← map_sSup]
state_before: case intro.intro
α : Type u_1
β : Type u_2
inst✝¹ : CompleteLattice α
inst✝ : CompleteLattice β
f : CompleteLatticeHom α β
L✝ L : CompleteSublattice α
t : Set α
ht : t ⊆ ↑L
hs : ⇑f '' t ⊆ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
⊢ f (sSup t) ∈ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
state_after: no goals
tactic: exact mem_image_of_mem f (sSupClosed ht)
state_before: α : Type u_1
β : Type u_2
inst✝¹ : CompleteLattice α
inst✝ : CompleteLattice β
f : CompleteLatticeHom α β
L✝ L : CompleteSublattice α
s : Set β
hs : s ⊆ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
⊢ sInf s ∈ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
state_after: case intro.intro
α : Type u_1
β : Type u_2
inst✝¹ : CompleteLattice α
inst✝ : CompleteLattice β
f : CompleteLatticeHom α β
L✝ L : CompleteSublattice α
t : Set α
ht : t ⊆ ↑L
hs : ⇑f '' t ⊆ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
⊢ sInf (⇑f '' t) ∈ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
tactic: obtain ⟨t, ht, rfl⟩ := subset_image_iff.mp hs
state_before: case intro.intro
α : Type u_1
β : Type u_2
inst✝¹ : CompleteLattice α
inst✝ : CompleteLattice β
f : CompleteLatticeHom α β
L✝ L : CompleteSublattice α
t : Set α
ht : t ⊆ ↑L
hs : ⇑f '' t ⊆ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
⊢ sInf (⇑f '' t) ∈ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
state_after: case intro.intro
α : Type u_1
β : Type u_2
inst✝¹ : CompleteLattice α
inst✝ : CompleteLattice β
f : CompleteLatticeHom α β
L✝ L : CompleteSublattice α
t : Set α
ht : t ⊆ ↑L
hs : ⇑f '' t ⊆ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
⊢ f (sInf t) ∈ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
tactic: rw [← map_sInf]
state_before: case intro.intro
α : Type u_1
β : Type u_2
inst✝¹ : CompleteLattice α
inst✝ : CompleteLattice β
f : CompleteLatticeHom α β
L✝ L : CompleteSublattice α
t : Set α
ht : t ⊆ ↑L
hs : ⇑f '' t ⊆ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
⊢ f (sInf t) ∈ { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }.carrier
state_after: no goals
tactic: exact mem_image_of_mem f (sInfClosed ht)