Theorem: StarAlgHom.ext_topologicalClosure
File: Mathlib/Topology/Algebra/StarSubalgebra.lean

tactic: rw [FunLike.ext'_iff]
state_before: R : Type u_2
A : Type u_3
B : Type u_1
inst✝¹³ : CommSemiring R
inst✝¹² : StarRing R
inst✝¹¹ : TopologicalSpace A
inst✝¹⁰ : Semiring A
inst✝⁹ : Algebra R A
inst✝⁸ : StarRing A
inst✝⁷ : StarModule R A
inst✝⁶ : TopologicalSemiring A
inst✝⁵ : ContinuousStar A
inst✝⁴ : TopologicalSpace B
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : T2Space B
S : StarSubalgebra R A
φ ψ : { x // x ∈ topologicalClosure S } →⋆ₐ[R] B
hφ : Continuous ↑φ
hψ : Continuous ↑ψ
h :
  StarAlgHom.comp φ (inclusion (_ : S ≤ topologicalClosure S)) =
    StarAlgHom.comp ψ (inclusion (_ : S ≤ topologicalClosure S))
⊢ φ = ψ

tactic: have : Dense (Set.range <| inclusion (le_topologicalClosure S)) := by
  refine' embedding_subtype_val.toInducing.dense_iff.2 fun x => _
  convert show ↑x ∈ closure (S : Set A) from x.prop
  rw [← Set.range_comp]
  exact
    Set.ext fun y =>
      ⟨by
        rintro ⟨y, rfl⟩
        exact y.prop, fun hy => ⟨⟨y, hy⟩, rfl⟩⟩
state_before: R : Type u_2
A : Type u_3
B : Type u_1
inst✝¹³ : CommSemiring R
inst✝¹² : StarRing R
inst✝¹¹ : TopologicalSpace A
inst✝¹⁰ : Semiring A
inst✝⁹ : Algebra R A
inst✝⁸ : StarRing A
inst✝⁷ : StarModule R A
inst✝⁶ : TopologicalSemiring A
inst✝⁵ : ContinuousStar A
inst✝⁴ : TopologicalSpace B
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : T2Space B
S : StarSubalgebra R A
φ ψ : { x // x ∈ topologicalClosure S } →⋆ₐ[R] B
hφ : Continuous ↑φ
hψ : Continuous ↑ψ
h :
  StarAlgHom.comp φ (inclusion (_ : S ≤ topologicalClosure S)) =
    StarAlgHom.comp ψ (inclusion (_ : S ≤ topologicalClosure S))
⊢ ↑φ = ↑ψ

tactic: refine' Continuous.ext_on this hφ hψ _
state_before: R : Type u_2
A : Type u_3
B : Type u_1
inst✝¹³ : CommSemiring R
inst✝¹² : StarRing R
inst✝¹¹ : TopologicalSpace A
inst✝¹⁰ : Semiring A
inst✝⁹ : Algebra R A
inst✝⁸ : StarRing A
inst✝⁷ : StarModule R A
inst✝⁶ : TopologicalSemiring A
inst✝⁵ : ContinuousStar A
inst✝⁴ : TopologicalSpace B
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : T2Space B
S : StarSubalgebra R A
φ ψ : { x // x ∈ topologicalClosure S } →⋆ₐ[R] B
hφ : Continuous ↑φ
hψ : Continuous ↑ψ
h :
  StarAlgHom.comp φ (inclusion (_ : S ≤ topologicalClosure S)) =
    StarAlgHom.comp ψ (inclusion (_ : S ≤ topologicalClosure S))
this : Dense (range ↑(inclusion (_ : S ≤ topologicalClosure S)))
⊢ ↑φ = ↑ψ

tactic: rintro _ ⟨x, rfl⟩
state_before: R : Type u_2
A : Type u_3
B : Type u_1
inst✝¹³ : CommSemiring R
inst✝¹² : StarRing R
inst✝¹¹ : TopologicalSpace A
inst✝¹⁰ : Semiring A
inst✝⁹ : Algebra R A
inst✝⁸ : StarRing A
inst✝⁷ : StarModule R A
inst✝⁶ : TopologicalSemiring A
inst✝⁵ : ContinuousStar A
inst✝⁴ : TopologicalSpace B
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : T2Space B
S : StarSubalgebra R A
φ ψ : { x // x ∈ topologicalClosure S } →⋆ₐ[R] B
hφ : Continuous ↑φ
hψ : Continuous ↑ψ
h :
  StarAlgHom.comp φ (inclusion (_ : S ≤ topologicalClosure S)) =
    StarAlgHom.comp ψ (inclusion (_ : S ≤ topologicalClosure S))
this : Dense (range ↑(inclusion (_ : S ≤ topologicalClosure S)))
⊢ EqOn (↑φ) (↑ψ) (range ↑(inclusion (_ : S ≤ topologicalClosure S)))

tactic: simpa only using FunLike.congr_fun h x
state_before: case intro
R : Type u_2
A : Type u_3
B : Type u_1
inst✝¹³ : CommSemiring R
inst✝¹² : StarRing R
inst✝¹¹ : TopologicalSpace A
inst✝¹⁰ : Semiring A
inst✝⁹ : Algebra R A
inst✝⁸ : StarRing A
inst✝⁷ : StarModule R A
inst✝⁶ : TopologicalSemiring A
inst✝⁵ : ContinuousStar A
inst✝⁴ : TopologicalSpace B
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : T2Space B
S : StarSubalgebra R A
φ ψ : { x // x ∈ topologicalClosure S } →⋆ₐ[R] B
hφ : Continuous ↑φ
hψ : Continuous ↑ψ
h :
  StarAlgHom.comp φ (inclusion (_ : S ≤ topologicalClosure S)) =
    StarAlgHom.comp ψ (inclusion (_ : S ≤ topologicalClosure S))
this : Dense (range ↑(inclusion (_ : S ≤ topologicalClosure S)))
x : { x // x ∈ S }
⊢ ↑φ (↑(inclusion (_ : S ≤ topologicalClosure S)) x) = ↑ψ (↑(inclusion (_ : S ≤ topologicalClosure S)) x)

tactic: refine' embedding_subtype_val.toInducing.dense_iff.2 fun x => _
state_before: R : Type u_2
A : Type u_3
B : Type u_1
inst✝¹³ : CommSemiring R
inst✝¹² : StarRing R
inst✝¹¹ : TopologicalSpace A
inst✝¹⁰ : Semiring A
inst✝⁹ : Algebra R A
inst✝⁸ : StarRing A
inst✝⁷ : StarModule R A
inst✝⁶ : TopologicalSemiring A
inst✝⁵ : ContinuousStar A
inst✝⁴ : TopologicalSpace B
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : T2Space B
S : StarSubalgebra R A
φ ψ : { x // x ∈ topologicalClosure S } →⋆ₐ[R] B
hφ : Continuous ↑φ
hψ : Continuous ↑ψ
h :
  StarAlgHom.comp φ (inclusion (_ : S ≤ topologicalClosure S)) =
    StarAlgHom.comp ψ (inclusion (_ : S ≤ topologicalClosure S))
⊢ Dense (range ↑(inclusion (_ : S ≤ topologicalClosure S)))

tactic: convert show ↑x ∈ closure (S : Set A) from x.prop
state_before: R : Type u_2
A : Type u_3
B : Type u_1
inst✝¹³ : CommSemiring R
inst✝¹² : StarRing R
inst✝¹¹ : TopologicalSpace A
inst✝¹⁰ : Semiring A
inst✝⁹ : Algebra R A
inst✝⁸ : StarRing A
inst✝⁷ : StarModule R A
inst✝⁶ : TopologicalSemiring A
inst✝⁵ : ContinuousStar A
inst✝⁴ : TopologicalSpace B
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : T2Space B
S : StarSubalgebra R A
φ ψ : { x // x ∈ topologicalClosure S } →⋆ₐ[R] B
hφ : Continuous ↑φ
hψ : Continuous ↑ψ
h :
  StarAlgHom.comp φ (inclusion (_ : S ≤ topologicalClosure S)) =
    StarAlgHom.comp ψ (inclusion (_ : S ≤ topologicalClosure S))
x : { x // x ∈ topologicalClosure S }
⊢ ↑x ∈ closure (Subtype.val '' range ↑(inclusion (_ : S ≤ topologicalClosure S)))

tactic: rw [← Set.range_comp]
state_before: case h.e'_5.h.e'_3
R : Type u_2
A : Type u_3
B : Type u_1
inst✝¹³ : CommSemiring R
inst✝¹² : StarRing R
inst✝¹¹ : TopologicalSpace A
inst✝¹⁰ : Semiring A
inst✝⁹ : Algebra R A
inst✝⁸ : StarRing A
inst✝⁷ : StarModule R A
inst✝⁶ : TopologicalSemiring A
inst✝⁵ : ContinuousStar A
inst✝⁴ : TopologicalSpace B
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : T2Space B
S : StarSubalgebra R A
φ ψ : { x // x ∈ topologicalClosure S } →⋆ₐ[R] B
hφ : Continuous ↑φ
hψ : Continuous ↑ψ
h :
  StarAlgHom.comp φ (inclusion (_ : S ≤ topologicalClosure S)) =
    StarAlgHom.comp ψ (inclusion (_ : S ≤ topologicalClosure S))
x : { x // x ∈ topologicalClosure S }
⊢ Subtype.val '' range ↑(inclusion (_ : S ≤ topologicalClosure S)) = ↑S

tactic: exact
  Set.ext fun y =>
    ⟨by
      rintro ⟨y, rfl⟩
      exact y.prop, fun hy => ⟨⟨y, hy⟩, rfl⟩⟩
state_before: case h.e'_5.h.e'_3
R : Type u_2
A : Type u_3
B : Type u_1
inst✝¹³ : CommSemiring R
inst✝¹² : StarRing R
inst✝¹¹ : TopologicalSpace A
inst✝¹⁰ : Semiring A
inst✝⁹ : Algebra R A
inst✝⁸ : StarRing A
inst✝⁷ : StarModule R A
inst✝⁶ : TopologicalSemiring A
inst✝⁵ : ContinuousStar A
inst✝⁴ : TopologicalSpace B
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : T2Space B
S : StarSubalgebra R A
φ ψ : { x // x ∈ topologicalClosure S } →⋆ₐ[R] B
hφ : Continuous ↑φ
hψ : Continuous ↑ψ
h :
  StarAlgHom.comp φ (inclusion (_ : S ≤ topologicalClosure S)) =
    StarAlgHom.comp ψ (inclusion (_ : S ≤ topologicalClosure S))
x : { x // x ∈ topologicalClosure S }
⊢ range (Subtype.val ∘ ↑(inclusion (_ : S ≤ topologicalClosure S))) = ↑S

tactic: rintro ⟨y, rfl⟩
state_before: R : Type u_2
A : Type u_3
B : Type u_1
inst✝¹³ : CommSemiring R
inst✝¹² : StarRing R
inst✝¹¹ : TopologicalSpace A
inst✝¹⁰ : Semiring A
inst✝⁹ : Algebra R A
inst✝⁸ : StarRing A
inst✝⁷ : StarModule R A
inst✝⁶ : TopologicalSemiring A
inst✝⁵ : ContinuousStar A
inst✝⁴ : TopologicalSpace B
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : T2Space B
S : StarSubalgebra R A
φ ψ : { x // x ∈ topologicalClosure S } →⋆ₐ[R] B
hφ : Continuous ↑φ
hψ : Continuous ↑ψ
h :
  StarAlgHom.comp φ (inclusion (_ : S ≤ topologicalClosure S)) =
    StarAlgHom.comp ψ (inclusion (_ : S ≤ topologicalClosure S))
x : { x // x ∈ topologicalClosure S }
y : A
⊢ y ∈ range (Subtype.val ∘ ↑(inclusion (_ : S ≤ topologicalClosure S))) → y ∈ ↑S

tactic: exact y.prop
state_before: case intro
R : Type u_2
A : Type u_3
B : Type u_1
inst✝¹³ : CommSemiring R
inst✝¹² : StarRing R
inst✝¹¹ : TopologicalSpace A
inst✝¹⁰ : Semiring A
inst✝⁹ : Algebra R A
inst✝⁸ : StarRing A
inst✝⁷ : StarModule R A
inst✝⁶ : TopologicalSemiring A
inst✝⁵ : ContinuousStar A
inst✝⁴ : TopologicalSpace B
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : T2Space B
S : StarSubalgebra R A
φ ψ : { x // x ∈ topologicalClosure S } →⋆ₐ[R] B
hφ : Continuous ↑φ
hψ : Continuous ↑ψ
h :
  StarAlgHom.comp φ (inclusion (_ : S ≤ topologicalClosure S)) =
    StarAlgHom.comp ψ (inclusion (_ : S ≤ topologicalClosure S))
x : { x // x ∈ topologicalClosure S }
y : { x // x ∈ S }
⊢ (Subtype.val ∘ ↑(inclusion (_ : S ≤ topologicalClosure S))) y ∈ ↑S