Theorem: ContinuousMapZero.adjoin_id_dense
File: Mathlib/Topology/ContinuousFunction/StoneWeierstrass.lean

tactic: have h0' : 0 ∈ s := h0 ▸ (0 : s).property
state_before: X : Type u_1
inst✝³ : TopologicalSpace X
𝕜 : Type u_2
inst✝² : RCLike 𝕜
s : Set 𝕜
inst✝¹ : Zero ↑s
h0 : ↑0 = 0
inst✝ : CompactSpace ↑s
⊢ Dense ↑(adjoin 𝕜 {ContinuousMapZero.id h0})
state_after: X : Type u_1
inst✝³ : TopologicalSpace X
𝕜 : Type u_2
inst✝² : RCLike 𝕜
s : Set 𝕜
inst✝¹ : Zero ↑s
h0 : ↑0 = 0
inst✝ : CompactSpace ↑s
h0' : 0 ∈ s
⊢ Dense ↑(adjoin 𝕜 {ContinuousMapZero.id h0})

tactic: rw [dense_iff_closure_eq,
  ← closedEmbedding_toContinuousMap.injective.preimage_image (closure _),
  ← closedEmbedding_toContinuousMap.closure_image_eq, ← coe_toContinuousMapHom,
  ← NonUnitalStarSubalgebra.coe_map, NonUnitalStarAlgHom.map_adjoin_singleton,
  toContinuousMapHom_apply, toContinuousMap_id h0,
  ← ContinuousMap.ker_evalStarAlgHom_eq_closure_adjoin_id s h0']
state_before: X : Type u_1
inst✝³ : TopologicalSpace X
𝕜 : Type u_2
inst✝² : RCLike 𝕜
s : Set 𝕜
inst✝¹ : Zero ↑s
h0 : ↑0 = 0
inst✝ : CompactSpace ↑s
h0' : 0 ∈ s
⊢ Dense ↑(adjoin 𝕜 {ContinuousMapZero.id h0})
state_after: X : Type u_1
inst✝³ : TopologicalSpace X
𝕜 : Type u_2
inst✝² : RCLike 𝕜
s : Set 𝕜
inst✝¹ : Zero ↑s
h0 : ↑0 = 0
inst✝ : CompactSpace ↑s
h0' : 0 ∈ s
⊢ ⇑toContinuousMapHom ⁻¹' ↑(RingHom.ker (ContinuousMap.evalStarAlgHom 𝕜 𝕜 ⟨0, h0'⟩)) = Set.univ

tactic: apply Set.eq_univ_of_forall fun f ↦ ?_
state_before: X : Type u_1
inst✝³ : TopologicalSpace X
𝕜 : Type u_2
inst✝² : RCLike 𝕜
s : Set 𝕜
inst✝¹ : Zero ↑s
h0 : ↑0 = 0
inst✝ : CompactSpace ↑s
h0' : 0 ∈ s
⊢ ⇑toContinuousMapHom ⁻¹' ↑(RingHom.ker (ContinuousMap.evalStarAlgHom 𝕜 𝕜 ⟨0, h0'⟩)) = Set.univ
state_after: X : Type u_1
inst✝³ : TopologicalSpace X
𝕜 : Type u_2
inst✝² : RCLike 𝕜
s : Set 𝕜
inst✝¹ : Zero ↑s
h0 : ↑0 = 0
inst✝ : CompactSpace ↑s
h0' : 0 ∈ s
f : C(↑s, 𝕜)₀
⊢ f ∈ ⇑toContinuousMapHom ⁻¹' ↑(RingHom.ker (ContinuousMap.evalStarAlgHom 𝕜 𝕜 ⟨0, h0'⟩))

tactic: simp only [Set.mem_preimage, toContinuousMapHom_apply, SetLike.mem_coe, RingHom.mem_ker,
  ContinuousMap.evalStarAlgHom_apply, ContinuousMap.coe_coe]
state_before: X : Type u_1
inst✝³ : TopologicalSpace X
𝕜 : Type u_2
inst✝² : RCLike 𝕜
s : Set 𝕜
inst✝¹ : Zero ↑s
h0 : ↑0 = 0
inst✝ : CompactSpace ↑s
h0' : 0 ∈ s
f : C(↑s, 𝕜)₀
⊢ f ∈ ⇑toContinuousMapHom ⁻¹' ↑(RingHom.ker (ContinuousMap.evalStarAlgHom 𝕜 𝕜 ⟨0, h0'⟩))
state_after: X : Type u_1
inst✝³ : TopologicalSpace X
𝕜 : Type u_2
inst✝² : RCLike 𝕜
s : Set 𝕜
inst✝¹ : Zero ↑s
h0 : ↑0 = 0
inst✝ : CompactSpace ↑s
h0' : 0 ∈ s
f : C(↑s, 𝕜)₀
⊢ f ⟨0, h0'⟩ = 0

tactic: rw [show ⟨0, h0'⟩ = (0 : s) by ext; exact h0.symm, _root_.map_zero f]
state_before: X : Type u_1
inst✝³ : TopologicalSpace X
𝕜 : Type u_2
inst✝² : RCLike 𝕜
s : Set 𝕜
inst✝¹ : Zero ↑s
h0 : ↑0 = 0
inst✝ : CompactSpace ↑s
h0' : 0 ∈ s
f : C(↑s, 𝕜)₀
⊢ f ⟨0, h0'⟩ = 0
state_after: no goals

tactic: ext
state_before: X : Type u_1
inst✝³ : TopologicalSpace X
𝕜 : Type u_2
inst✝² : RCLike 𝕜
s : Set 𝕜
inst✝¹ : Zero ↑s
h0 : ↑0 = 0
inst✝ : CompactSpace ↑s
h0' : 0 ∈ s
f : C(↑s, 𝕜)₀
⊢ ⟨0, h0'⟩ = 0
state_after: case a
X : Type u_1
inst✝³ : TopologicalSpace X
𝕜 : Type u_2
inst✝² : RCLike 𝕜
s : Set 𝕜
inst✝¹ : Zero ↑s
h0 : ↑0 = 0
inst✝ : CompactSpace ↑s
h0' : 0 ∈ s
f : C(↑s, 𝕜)₀
⊢ ↑⟨0, h0'⟩ = ↑0

tactic: exact h0.symm
state_before: case a
X : Type u_1
inst✝³ : TopologicalSpace X
𝕜 : Type u_2
inst✝² : RCLike 𝕜
s : Set 𝕜
inst✝¹ : Zero ↑s
h0 : ↑0 = 0
inst✝ : CompactSpace ↑s
h0' : 0 ∈ s
f : C(↑s, 𝕜)₀
⊢ ↑⟨0, h0'⟩ = ↑0
state_after: no goals