Documentation

Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique

Uniqueness of the continuous functional calculus #

Let s : Set π•œ be compact where π•œ is either ℝ or β„‚. By the Stone-Weierstrass theorem, the (star) subalgebra generated by polynomial functions on s is dense in C(s, π•œ). Moreover, this star subalgebra is generated by X : π•œ[X] (i.e., ContinuousMap.restrict s (.id π•œ)) alone. Consequently, any continuous star π•œ-algebra homomorphism with domain C(s, π•œ), is uniquely determined by its value on X : π•œ[X].

The same is true for π•œ := ℝβ‰₯0, so long as the algebra A is an ℝ-algebra, which we establish by upgrading a map C((s : Set ℝβ‰₯0), ℝβ‰₯0) →⋆ₐ[ℝβ‰₯0] A to C(((↑) '' s : Set ℝ), ℝ) →⋆ₐ[ℝ] A in the natural way, and then applying the uniqueness for ℝ-algebra homomorphisms.

This is the reason the UniqueContinuousFunctionalCalculus class exists in the first place, as opposed to simply appealing directly to Stone-Weierstrass to prove StarAlgHom.ext_continuousMap.

theorem RCLike.uniqueContinuousFunctionalCalculus_of_compactSpace_spectrum {π•œ : Type u_1} {A : Type u_2} [RCLike π•œ] [TopologicalSpace A] [T2Space A] [Ring A] [StarRing A] [Algebra π•œ A] [h : βˆ€ (a : A), CompactSpace ↑(spectrum π•œ a)] :
instance RCLike.instUniqueContinuousFunctionalCalculus {π•œ : Type u_1} {A : Type u_2} [RCLike π•œ] [NormedRing A] [StarRing A] [NormedAlgebra π•œ A] [CompleteSpace A] :
Equations
  • β‹― = β‹―
noncomputable def ContinuousMap.toNNReal {X : Type u_1} [TopologicalSpace X] (f : C(X, ℝ)) :

This map sends f : C(X, ℝ) to Real.toNNReal ∘ f, bundled as a continuous map C(X, ℝβ‰₯0).

Equations
Instances For
    theorem ContinuousMap.continuous_toNNReal {X : Type u_1} [TopologicalSpace X] :
    Continuous ContinuousMap.toNNReal
    @[simp]
    theorem ContinuousMap.toNNReal_apply {X : Type u_1} [TopologicalSpace X] (f : C(X, ℝ)) (x : X) :
    f.toNNReal x = (f x).toNNReal
    theorem ContinuousMap.toNNReal_add_add_neg_add_neg_eq {X : Type u_1} [TopologicalSpace X] (f : C(X, ℝ)) (g : C(X, ℝ)) :
    (f + g).toNNReal + (-f).toNNReal + (-g).toNNReal = (-(f + g)).toNNReal + f.toNNReal + g.toNNReal
    theorem ContinuousMap.toNNReal_mul_add_neg_mul_add_mul_neg_eq {X : Type u_1} [TopologicalSpace X] (f : C(X, ℝ)) (g : C(X, ℝ)) :
    (f * g).toNNReal + (-f).toNNReal * g.toNNReal + f.toNNReal * (-g).toNNReal = (-(f * g)).toNNReal + f.toNNReal * g.toNNReal + (-f).toNNReal * (-g).toNNReal
    @[simp]
    theorem ContinuousMap.toNNReal_neg_algebraMap {X : Type u_1} [TopologicalSpace X] (r : NNReal) :
    (-(algebraMap ℝ C(X, ℝ)) ↑r).toNNReal = 0
    @[simp]
    theorem ContinuousMap.toNNReal_neg_one {X : Type u_1} [TopologicalSpace X] :
    (-1).toNNReal = 0
    @[simp]
    theorem StarAlgHom.realContinuousMapOfNNReal_apply {X : Type u_1} [TopologicalSpace X] {A : Type u_2} [Ring A] [StarRing A] [Algebra ℝ A] (Ο† : C(X, NNReal) →⋆ₐ[NNReal] A) (f : C(X, ℝ)) :
    Ο†.realContinuousMapOfNNReal f = Ο† f.toNNReal - Ο† (-f).toNNReal

    Given a star ℝβ‰₯0-algebra homomorphism Ο† from C(X, ℝβ‰₯0) into an ℝ-algebra A, this is the unique extension of Ο† from C(X, ℝ) to A as a star ℝ-algebra homomorphism.

    Equations
    • Ο†.realContinuousMapOfNNReal = { toFun := fun (f : C(X, ℝ)) => Ο† f.toNNReal - Ο† (-f).toNNReal, map_one' := β‹―, map_mul' := β‹―, map_zero' := β‹―, map_add' := β‹―, commutes' := β‹―, map_star' := β‹― }
    Instances For
      theorem StarAlgHom.continuous_realContinuousMapOfNNReal {X : Type u_1} [TopologicalSpace X] {A : Type u_2} [Ring A] [StarRing A] [Algebra ℝ A] [TopologicalSpace A] [TopologicalRing A] (Ο† : C(X, NNReal) →⋆ₐ[NNReal] A) (hΟ† : Continuous ⇑φ) :
      Continuous ⇑φ.realContinuousMapOfNNReal
      @[simp]
      theorem StarAlgHom.realContinuousMapOfNNReal_apply_comp_toReal {X : Type u_1} [TopologicalSpace X] {A : Type u_2} [Ring A] [StarRing A] [Algebra ℝ A] (Ο† : C(X, NNReal) →⋆ₐ[NNReal] A) (f : C(X, NNReal)) :
      Ο†.realContinuousMapOfNNReal ({ toFun := NNReal.toReal, continuous_toFun := NNReal.continuous_coe }.comp f) = Ο† f
      theorem StarAlgHom.realContinuousMapOfNNReal_injective {X : Type u_1} [TopologicalSpace X] {A : Type u_2} [Ring A] [StarRing A] [Algebra ℝ A] :
      Function.Injective StarAlgHom.realContinuousMapOfNNReal
      theorem RCLike.uniqueNonUnitalContinuousFunctionalCalculus_of_compactSpace_quasispectrum {π•œ : Type u_1} {A : Type u_2} [RCLike π•œ] [TopologicalSpace A] [T2Space A] [NonUnitalRing A] [StarRing A] [Module π•œ A] [IsScalarTower π•œ A A] [SMulCommClass π•œ A A] [h : βˆ€ (a : A), CompactSpace ↑(quasispectrum π•œ a)] :
      Equations
      • β‹― = β‹―

      This map sends f : C(X, ℝ) to Real.toNNReal ∘ f, bundled as a continuous map C(X, ℝβ‰₯0).

      Equations
      Instances For
        @[simp]
        theorem ContinuousMapZero.toNNReal_apply {X : Type u_1} [TopologicalSpace X] [Zero X] (f : ContinuousMapZero X ℝ) (x : X) :
        f.toNNReal x = (f x).toNNReal
        theorem ContinuousMapZero.continuous_toNNReal {X : Type u_1} [TopologicalSpace X] [Zero X] :
        Continuous ContinuousMapZero.toNNReal
        theorem ContinuousMapZero.toContinuousMapHom_toNNReal {X : Type u_1} [TopologicalSpace X] [Zero X] (f : ContinuousMapZero X ℝ) :
        (ContinuousMapZero.toContinuousMapHom f).toNNReal = ContinuousMapZero.toContinuousMapHom f.toNNReal
        @[simp]
        theorem ContinuousMapZero.toNNReal_smul {X : Type u_1} [TopologicalSpace X] [Zero X] (r : NNReal) (f : ContinuousMapZero X ℝ) :
        (r β€’ f).toNNReal = r β€’ f.toNNReal
        @[simp]
        theorem ContinuousMapZero.toNNReal_neg_smul {X : Type u_1} [TopologicalSpace X] [Zero X] (r : NNReal) (f : ContinuousMapZero X ℝ) :
        (-(r β€’ f)).toNNReal = r β€’ (-f).toNNReal
        theorem ContinuousMapZero.toNNReal_mul_add_neg_mul_add_mul_neg_eq {X : Type u_1} [TopologicalSpace X] [Zero X] (f : ContinuousMapZero X ℝ) (g : ContinuousMapZero X ℝ) :
        (f * g).toNNReal + (-f).toNNReal * g.toNNReal + f.toNNReal * (-g).toNNReal = (-(f * g)).toNNReal + f.toNNReal * g.toNNReal + (-f).toNNReal * (-g).toNNReal
        theorem ContinuousMapZero.toNNReal_add_add_neg_add_neg_eq {X : Type u_1} [TopologicalSpace X] [Zero X] (f : ContinuousMapZero X ℝ) (g : ContinuousMapZero X ℝ) :
        (f + g).toNNReal + (-f).toNNReal + (-g).toNNReal = (-(f + g)).toNNReal + f.toNNReal + g.toNNReal
        @[simp]
        theorem NonUnitalStarAlgHom.realContinuousMapZeroOfNNReal_apply {X : Type u_1} [TopologicalSpace X] [Zero X] {A : Type u_2} [NonUnitalRing A] [StarRing A] [Module ℝ A] (Ο† : ContinuousMapZero X NNReal →⋆ₙₐ[NNReal] A) (f : ContinuousMapZero X ℝ) :
        Ο†.realContinuousMapZeroOfNNReal f = Ο† f.toNNReal - Ο† (-f).toNNReal

        Given a non-unital star ℝβ‰₯0-algebra homomorphism Ο† from C(X, ℝβ‰₯0)β‚€ into a non-unital ℝ-algebra A, this is the unique extension of Ο† from C(X, ℝ)β‚€ to A as a non-unital star ℝ-algebra homomorphism.

        Equations
        • Ο†.realContinuousMapZeroOfNNReal = { toFun := fun (f : ContinuousMapZero X ℝ) => Ο† f.toNNReal - Ο† (-f).toNNReal, map_smul' := β‹―, map_zero' := β‹―, map_add' := β‹―, map_mul' := β‹―, map_star' := β‹― }
        Instances For
          @[simp]
          theorem NonUnitalStarAlgHom.realContinuousMapZeroOfNNReal_apply_comp_toReal {X : Type u_1} [TopologicalSpace X] [Zero X] {A : Type u_2} [NonUnitalRing A] [StarRing A] [Module ℝ A] (Ο† : ContinuousMapZero X NNReal →⋆ₙₐ[NNReal] A) (f : ContinuousMapZero X NNReal) :
          Ο†.realContinuousMapZeroOfNNReal ({ toFun := NNReal.toReal, continuous_toFun := NNReal.continuous_coe, map_zero' := β‹― }.comp f) = Ο† f
          theorem NonUnitalStarAlgHom.realContinuousMapZeroOfNNReal_injective {X : Type u_1} [TopologicalSpace X] [Zero X] {A : Type u_2} [NonUnitalRing A] [StarRing A] [Module ℝ A] :
          Function.Injective NonUnitalStarAlgHom.realContinuousMapZeroOfNNReal
          theorem NonUnitalStarAlgHomClass.map_cfcβ‚™ {F : Type u_1} {R : Type u_2} {S : Type u_3} {A : Type u_4} {B : Type u_5} {p : A β†’ Prop} {q : B β†’ Prop} [CommSemiring R] [Nontrivial R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [CommRing S] [Algebra R S] [NonUnitalRing A] [StarRing A] [TopologicalSpace A] [Module R A] [IsScalarTower R A A] [SMulCommClass R A A] [NonUnitalRing B] [StarRing B] [TopologicalSpace B] [Module R B] [IsScalarTower R B B] [SMulCommClass R B B] [Module S A] [Module S B] [IsScalarTower R S A] [IsScalarTower R S B] [NonUnitalContinuousFunctionalCalculus R p] [NonUnitalContinuousFunctionalCalculus R q] [UniqueNonUnitalContinuousFunctionalCalculus R B] [FunLike F A B] [NonUnitalAlgHomClass F S A B] [StarHomClass F A B] (Ο† : F) (f : R β†’ R) (a : A) [CompactSpace ↑(quasispectrum R a)] (hf : autoParam (ContinuousOn f (quasispectrum R a)) _auto✝) (hfβ‚€ : autoParam (f 0 = 0) _auto✝) (hΟ† : autoParam (Continuous ⇑φ) _auto✝) (ha : autoParam (p a) _auto✝) (hΟ†a : autoParam (q (Ο† a)) _auto✝) :
          Ο† (cfcβ‚™ f a) = cfcβ‚™ f (Ο† a)

          Non-unital star algebra homomorphisms commute with the non-unital continuous functional calculus.

          theorem NonUnitalStarAlgHom.map_cfcβ‚™ {R : Type u_2} {S : Type u_3} {A : Type u_4} {B : Type u_5} {p : A β†’ Prop} {q : B β†’ Prop} [CommSemiring R] [Nontrivial R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [CommRing S] [Algebra R S] [NonUnitalRing A] [StarRing A] [TopologicalSpace A] [Module R A] [IsScalarTower R A A] [SMulCommClass R A A] [NonUnitalRing B] [StarRing B] [TopologicalSpace B] [Module R B] [IsScalarTower R B B] [SMulCommClass R B B] [Module S A] [Module S B] [IsScalarTower R S A] [IsScalarTower R S B] [NonUnitalContinuousFunctionalCalculus R p] [NonUnitalContinuousFunctionalCalculus R q] [UniqueNonUnitalContinuousFunctionalCalculus R B] (Ο† : A →⋆ₙₐ[S] B) (f : R β†’ R) (a : A) [CompactSpace ↑(quasispectrum R a)] (hf : autoParam (ContinuousOn f (quasispectrum R a)) _auto✝) (hfβ‚€ : autoParam (f 0 = 0) _auto✝) (hΟ† : autoParam (Continuous ⇑φ) _auto✝) (ha : autoParam (p a) _auto✝) (hΟ†a : autoParam (q (Ο† a)) _auto✝) :
          Ο† (cfcβ‚™ f a) = cfcβ‚™ f (Ο† a)

          Non-unital star algebra homomorphisms commute with the non-unital continuous functional calculus. This version is specialized to A →⋆ₙₐ[S] B to allow for dot notation.

          theorem StarAlgHomClass.map_cfc {F : Type u_1} {R : Type u_2} {S : Type u_3} {A : Type u_4} {B : Type u_5} {p : A β†’ Prop} {q : B β†’ Prop} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [Ring A] [StarRing A] [TopologicalSpace A] [Algebra R A] [Ring B] [StarRing B] [TopologicalSpace B] [Algebra R B] [CommSemiring S] [Algebra R S] [Algebra S A] [Algebra S B] [IsScalarTower R S A] [IsScalarTower R S B] [ContinuousFunctionalCalculus R p] [ContinuousFunctionalCalculus R q] [UniqueContinuousFunctionalCalculus R B] [FunLike F A B] [AlgHomClass F S A B] [StarHomClass F A B] (Ο† : F) (f : R β†’ R) (a : A) [CompactSpace ↑(spectrum R a)] (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (hΟ† : autoParam (Continuous ⇑φ) _auto✝) (ha : autoParam (p a) _auto✝) (hΟ†a : autoParam (q (Ο† a)) _auto✝) :
          Ο† (cfc f a) = cfc f (Ο† a)

          Star algebra homomorphisms commute with the continuous functional calculus.

          theorem StarAlgHom.map_cfc {R : Type u_2} {S : Type u_3} {A : Type u_4} {B : Type u_5} {p : A β†’ Prop} {q : B β†’ Prop} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [Ring A] [StarRing A] [TopologicalSpace A] [Algebra R A] [Ring B] [StarRing B] [TopologicalSpace B] [Algebra R B] [CommSemiring S] [Algebra R S] [Algebra S A] [Algebra S B] [IsScalarTower R S A] [IsScalarTower R S B] [ContinuousFunctionalCalculus R p] [ContinuousFunctionalCalculus R q] [UniqueContinuousFunctionalCalculus R B] (Ο† : A →⋆ₐ[S] B) (f : R β†’ R) (a : A) [CompactSpace ↑(spectrum R a)] (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (hΟ† : autoParam (Continuous ⇑φ) _auto✝) (ha : autoParam (p a) _auto✝) (hΟ†a : autoParam (q (Ο† a)) _auto✝) :
          Ο† (cfc f a) = cfc f (Ο† a)

          Star algebra homomorphisms commute with the continuous functional calculus. This version is specialized to A →⋆ₐ[S] B to allow for dot notation.