File: Mathlib/Analysis/CstarAlgebra/ContinuousFunctionalCalculus/Basic.lean

full_name: instNormedCommRingSubtypeMemStarSubalgebraElementalStarAlgebraOfIsStarNormal
code: instance {R A : Type*} [CommRing R] [StarRing R] [NormedRing A] [Algebra R A] [StarRing A]
    [ContinuousStar A] [StarModule R A] (a : A) [IsStarNormal a] :
    NormedCommRing (elementalStarAlgebra R a) 
goal: NormedCommRing ↥(elementalStarAlgebra R a)

full_name: spectrum_star_mul_self_of_isStarNormal
code: /-- This lemma is used in the proof of `elementalStarAlgebra.isUnit_of_isUnit_of_isStarNormal`,
which in turn is the key to spectral permanence `StarSubalgebra.spectrum_eq`, which is itself
necessary for the continuous functional calculus. Using the continuous functional calculus, this
lemma can be superseded by one that omits the `IsStarNormal` hypothesis. -/
theorem spectrum_star_mul_self_of_isStarNormal :
    spectrum ℂ (star a * a) ⊆ Set.Icc (0 : ℂ) ‖star a * a‖ 
goal: spectrum ℂ (star a * a) ⊆ Set.Icc 0 ↑‖star a * a‖

full_name: elementalStarAlgebra.isUnit_of_isUnit_of_isStarNormal
code: /-- This is the key lemma on the way to establishing spectral permanence for C⋆-algebras, which is
established in `StarSubalgebra.spectrum_eq`. This lemma is superseded by
`StarSubalgebra.coe_isUnit`, which does not require an `IsStarNormal` hypothesis and holds for
any closed star subalgebra. -/
theorem elementalStarAlgebra.isUnit_of_isUnit_of_isStarNormal (h : IsUnit a) :
    IsUnit (⟨a, self_mem ℂ a⟩ : elementalStarAlgebra ℂ a) 
goal: IsUnit ⟨a, ⋯⟩

full_name: StarSubalgebra.isUnit_coe_inv_mem
code: /-- For `x : A` which is invertible in `A`, the inverse lies in any unital C⋆-subalgebra `S`
containing `x`. -/
theorem StarSubalgebra.isUnit_coe_inv_mem {S : StarSubalgebra ℂ A} (hS : IsClosed (S : Set A))
    {x : A} (h : IsUnit x) (hxS : x ∈ S) : ↑h.unit⁻¹ ∈ S 
goal: ↑h.unit⁻¹ ∈ S

full_name: StarSubalgebra.coe_isUnit
code: /-- For a unital C⋆-subalgebra `S` of `A` and `x : S`, if `↑x : A` is invertible in `A`, then
`x` is invertible in `S`. -/
theorem StarSubalgebra.coe_isUnit {S : StarSubalgebra ℂ A} (hS : IsClosed (S : Set A)) {x : S} :
    IsUnit (x : A) ↔ IsUnit x 
goal: IsUnit ↑x ↔ IsUnit x

full_name: StarSubalgebra.mem_spectrum_iff
code: theorem StarSubalgebra.mem_spectrum_iff {S : StarSubalgebra ℂ A} (hS : IsClosed (S : Set A)) {x : S}
    {z : ℂ} : z ∈ spectrum ℂ x ↔ z ∈ spectrum ℂ (x : A) 
goal: z ∈ spectrum ℂ x ↔ z ∈ spectrum ℂ ↑x

full_name: StarSubalgebra.spectrum_eq
code: /-- **Spectral permanence.** The spectrum of an element is invariant of the (closed)
`StarSubalgebra` in which it is contained. -/
theorem StarSubalgebra.spectrum_eq {S : StarSubalgebra ℂ A} (hS : IsClosed (S : Set A)) (x : S) :
    spectrum ℂ x = spectrum ℂ (x : A) 
goal: spectrum ℂ x = spectrum ℂ ↑x

full_name: elementalStarAlgebra.characterSpaceToSpectrum_coe
code: /-- The natural map from `characterSpace ℂ (elementalStarAlgebra ℂ x)` to `spectrum ℂ x` given
by evaluating `φ` at `x`. This is essentially just evaluation of the `gelfandTransform` of `x`,
but because we want something in `spectrum ℂ x`, as opposed to
`spectrum ℂ ⟨x, elementalStarAlgebra.self_mem ℂ x⟩` there is slightly more work to do. -/
@[simps]
noncomputable def elementalStarAlgebra.characterSpaceToSpectrum (x : A)
    (φ : characterSpace ℂ (elementalStarAlgebra ℂ x)) : spectrum ℂ x 
goal: ↑(elementalStarAlgebra.characterSpaceToSpectrum x φ) = φ ⟨x, ⋯⟩

full_name: elementalStarAlgebra.characterSpaceToSpectrum
code: /-- The natural map from `characterSpace ℂ (elementalStarAlgebra ℂ x)` to `spectrum ℂ x` given
by evaluating `φ` at `x`. This is essentially just evaluation of the `gelfandTransform` of `x`,
but because we want something in `spectrum ℂ x`, as opposed to
`spectrum ℂ ⟨x, elementalStarAlgebra.self_mem ℂ x⟩` there is slightly more work to do. -/
@[simps]
noncomputable def elementalStarAlgebra.characterSpaceToSpectrum (x : A)
    (φ : characterSpace ℂ (elementalStarAlgebra ℂ x)) : spectrum ℂ x 
goal: ↑(spectrum ℂ x)

full_name: elementalStarAlgebra.continuous_characterSpaceToSpectrum
code: theorem elementalStarAlgebra.continuous_characterSpaceToSpectrum (x : A) :
    Continuous (elementalStarAlgebra.characterSpaceToSpectrum x) 
goal: Continuous (elementalStarAlgebra.characterSpaceToSpectrum x)

full_name: elementalStarAlgebra.bijective_characterSpaceToSpectrum
code: theorem elementalStarAlgebra.bijective_characterSpaceToSpectrum :
    Function.Bijective (elementalStarAlgebra.characterSpaceToSpectrum a) 
goal: Function.Bijective (elementalStarAlgebra.characterSpaceToSpectrum a)

full_name: elementalStarAlgebra.characterSpaceHomeo
code: /-- The homeomorphism between the character space of the unital C⋆-subalgebra generated by a
single normal element `a : A` and `spectrum ℂ a`. -/
noncomputable def elementalStarAlgebra.characterSpaceHomeo :
    characterSpace ℂ (elementalStarAlgebra ℂ a) ≃ₜ spectrum ℂ a 
goal: ↑(WeakDual.characterSpace ℂ ↥(elementalStarAlgebra ℂ a)) ≃ₜ ↑(spectrum ℂ a)

full_name: continuousFunctionalCalculus
code: /-- **Continuous functional calculus.** Given a normal element `a : A` of a unital C⋆-algebra,
the continuous functional calculus is a `StarAlgEquiv` from the complex-valued continuous
functions on the spectrum of `a` to the unital C⋆-subalgebra generated by `a`. Moreover, this
equivalence identifies `(ContinuousMap.id ℂ).restrict (spectrum ℂ a))` with `a`; see
`continuousFunctionalCalculus_map_id`. As such it extends the polynomial functional calculus. -/
noncomputable def continuousFunctionalCalculus :
    C(spectrum ℂ a, ℂ) ≃⋆ₐ[ℂ] elementalStarAlgebra ℂ a 
goal: C(↑(spectrum ℂ a), ℂ) ≃⋆ₐ[ℂ] ↥(elementalStarAlgebra ℂ a)

full_name: continuousFunctionalCalculus_map_id
code: theorem continuousFunctionalCalculus_map_id :
    continuousFunctionalCalculus a ((ContinuousMap.id ℂ).restrict (spectrum ℂ a)) =
      ⟨a, self_mem ℂ a⟩ 
goal: (continuousFunctionalCalculus a) (ContinuousMap.restrict (spectrum ℂ a) (ContinuousMap.id ℂ)) = ⟨a, ⋯⟩