Documentation

Mathlib.Topology.ContinuousFunction.FunctionalCalculus

The continuous functional calculus #

This file defines a generic API for the continuous functional calculus which is suitable in a wide range of settings.

A continuous functional calculus for an element a : A in a topological R-algebra is a continuous extension of the polynomial functional calculus (i.e., Polynomial.aeval) to continuous R-valued functions on spectrum R a. More precisely, it is a continuous star algebra homomorphism C(spectrum R a, R) →⋆ₐ[R] A that sends (ContinuousMap.id R).restrict (spectrum R a) to a. In all cases of interest (e.g., when spectrum R a is compact and R is ℝ≥0, , or ), this is sufficient to uniquely determine the continuous functional calculus which is encoded in the UniqueContinuousFunctionalCalculus class.

Although these properties suffice to uniquely determine the continuous functional calculus, we choose to bundle more information into the class itself. Namely, we include that the star algebra homomorphism is a closed embedding, and also that the spectrum of the image of f : C(spectrum R a, R) under this morphism is the range of f. In addition, the class specifies a collection of continuous functional calculi for elements satisfying a given predicate p : A → Prop, and we require that this predicate is preserved by the functional calculus.

Although cfcHom : p a → C(spectrum R a, R) →*ₐ[R] A is a necessity for getting the full power out of the continuous functional calculus, this declaration will generally not be accessed directly by the user. One reason for this is that cfcHom requires a proof of p a (indeed, if the spectrum is empty, there cannot exist a star algebra homomorphism like this). Instead, we provide the completely unbundled cfc : (R → R) → A → A which operates on bare functions and provides junk values when either a does not satisfy the property p, or else when the function which is the argument to cfc is not continuous on the spectrum of a.

This completely unbundled approach may give up some conveniences, but it allows for tremendous freedom. In particular, cfc f a makes sense for any a : A and f : R → R. This is quite useful in a variety of settings, but perhaps the most important is the following. Besides being a star algebra homomorphism sending the identity to a, the key property enjoyed by the continuous functional calculus is the composition property, which guarantees that cfc (g ∘ f) a = cfc g (cfc f a) under suitable hypotheses on a, f and g. Note that this theorem is nearly impossible to state nicely in terms of cfcHom (see cfcHom_comp). An additional advantage of the unbundled approach is that expressions like fun x : R ↦ x⁻¹ are valid arguments to cfc, and a bundled continuous counterpart can only make sense when the spectrum of a does not contain zero and when we have an ⁻¹ operation on the domain.

A reader familiar with C⋆-algebra theory may be somewhat surprised at the level of abstraction here. For instance, why not require A to be an actual C⋆-algebra? Why define separate continuous functional calculi for R := ℂ, or ℝ≥0 instead of simply using the continuous functional calculus for normal elements? The reason for both can be explained with a simple example, A := Matrix n n ℝ. In Mathlib, matrices are not equipped with a norm (nor even a metric), and so requiring A to be a C⋆-algebra is far too stringent. Likewise, A is not a -algebra, and so it is impossible to consider the -spectrum of a : Matrix n n ℝ.

There is another, more practical reason to define separate continuous functional calculi for different scalar rings. It gives us the ability to use functions defined on these types, and the algebra of functions on them. For example, for R := ℝ it is quite natural to consider the functions (·⁺ : ℝ → ℝ) and (·⁻ : ℝ → ℝ) because the functions ℝ → ℝ form a lattice ordered group. If a : A is selfadjoint, and we define a⁺ := cfc (·⁺ : ℝ → ℝ) a, and likewise for a⁻, then the properties a⁺ * a⁻ = 0 = a⁻ * a⁺ and a = a⁺ - a⁻ are trivial consequences of the corresponding facts for functions. In contrast, if we had to do this using functions on , the proofs of these facts would be much more cumbersome.

Example #

The canonical example of the continuous functional calculus is when A := Matrix n n ℂ, R := ℂ and p := IsStarNormal. In this case, spectrum ℂ a consists of the eigenvalues of the normal matrix a : Matrix n n ℂ, and, because this set is discrete, any function is continuous on the spectrum. The continuous functional calculus allows us to make sense of expressions like log a (:= cfc log a), and when 0 ∉ spectrum ℂ a, we get the nice property exp (log a) = a, which arises from the composition property cfc exp (cfc log a) = cfc (exp ∘ log) a = cfc id a = a, since exp ∘ log = id on the spectrum of a. Of course, there are other ways to make sense of exp and log for matrices (power series), and these agree with the continuous functional calculus. In fact, given f : C(spectrum ℂ a, ℂ), cfc f a amounts to diagonalizing a (possible since a is normal), and applying f to the resulting diagonal entries. That is, if a = u * d * star u with u a unitary matrix and d diagonal, then cfc f a = u * d.map f * star u.

In addition, if a : Matrix n n ℂ is positive semidefinite, then the -spectrum of a is contained in (the range of the coercion of) ℝ≥0. In this case, we get a continuous functional calculus with R := ℝ≥0. From this we can define √a := cfc a NNReal.sqrt, which is also positive semidefinite (because cfc preserves the predicate), and this is truly a square root since

√a * √a = cfc NNReal.sqrt a * cfc NNReal.sqrt a =
  cfc (NNReal.sqrt ^ 2) a = cfc id a = a

The composition property allows us to show that, in fact, this is the unique positive semidefinite square root of a because, if b is any positive semidefinite square root, then

b = cfc id b = cfc (NNReal.sqrt ∘ (· ^ 2)) b =
  cfc NNReal.sqrt (cfc b (· ^ 2)) = cfc NNReal.sqrt a = √a

Main declarations #

Main theorems #

Implementation details #

Instead of defining a class depending on a term a : A, we register it for an outParam predicate p : A → Prop, and then any element of A satisfying this predicate has the associated star algebra homomorphism with the specified properties. In so doing we avoid a common pitfall: dependence of the class on a term. This avoids annoying situations where a b : A are propositionally equal, but not definitionally so, and hence Lean would not be able to automatically identify the continuous functional calculi associated to these elements. In order to guarantee the necessary properties, we require that the continuous functional calculus preserves this predicate. That is, p a → p (cfc f a) for any function f continuous on the spectrum of a.

As stated above, the unbundled approach to cfc has its advantages. For instance, given an expression cfc f a, the user is free to rewrite either a or f as desired with no possibility of the expression ceasing to be defined. However, this unbundling also has some potential downsides. In particular, by unbundling, proof requirements are deferred until the user calls the lemmas, most of which have hypotheses both of p a and of ContinuousOn f (spectrum R a).

In order to minimize burden to the user, we provide autoParams in terms of two tactics. Goals related to continuity are dispatched by (a small wrapper around) fun_prop. As for goals involving the predicate p, it should be noted that these will only ever be of the form IsStarNormal a, IsSelfAdjoint a or 0 ≤ a. For the moment we provide a rudimentary tactic to deal with these goals, but it can be modified to become more sophisticated as the need arises.

A star R-algebra A has a continuous functional calculus for elements satisfying the property p : A → Prop if

  • for every such element a : A there is a star algebra homomorphism cfcHom : C(spectrum R a, R) →⋆ₐ[R] A sending the (restriction of) the identity map to a.
  • cfcHom is a closed embedding for which the spectrum of the image of function f is its range.
  • cfcHom preserves the property p.

The property p is marked as an outParam so that the user need not specify it. In practice,

  • for R := ℂ, we choose p := IsStarNormal,
  • for R := ℝ, we choose p := IsSelfAdjoint,
  • for R := ℝ≥0, we choose p := (0 ≤ ·).

Instead of directly providing the data we opt instead for a Prop class. In all relevant cases, the continuous functional calculus is uniquely determined, and utilizing this approach prevents diamonds or problems arising from multiple instances.

Instances

    A class guaranteeing that the continuous functional calculus is uniquely determined by the properties that it is a continuous star algebra homomorphism mapping the (restriction of) the identity to a. This is the necessary tool used to establish cfcHom_comp and the more common variant cfc_comp.

    This class has instances, which can be found in Mathlib.Topology.ContinuousFunction.UniqueCFC, in each of the common cases , and ℝ≥0 as a consequence of the Stone-Weierstrass theorem.

    This class is separate from ContinuousFunctionalCalculus primarily because we will later use SpectrumRestricts to derive an instance of ContinuousFunctionalCalculus on a scalar subring from one on a larger ring (i.e., to go from a continuous functional calculus over for normal elements to one over for selfadjoint elements), and proving this additional property is preserved would be burdensome or impossible.

    Instances
      noncomputable def cfcHom {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {a : A} (ha : p a) :

      The star algebra homomorphism underlying a instance of the continuous functional calculus; a version for continuous functions on the spectrum.

      In this case, the user must supply the fact that a satisfies the predicate p, for otherwise it may be the case that no star algebra homomorphism exists. For instance if R := ℝ and a is an element whose spectrum (in ) is disjoint from , then spectrum ℝ a = ∅ and so there can be no star algebra homomorphism between these spaces.

      While ContinuousFunctionalCalculus is stated in terms of these homomorphisms, in practice the user should instead prefer cfc over cfcHom.

      Equations
      Instances For
        theorem cfcHom_closedEmbedding {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {a : A} (ha : p a) :
        theorem cfcHom_id {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {a : A} (ha : p a) :
        theorem cfcHom_map_spectrum {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {a : A} (ha : p a) (f : C((spectrum R a), R)) :
        spectrum R ((cfcHom ha) f) = Set.range f

        The spectral mapping theorem for the continuous functional calculus.

        theorem cfcHom_predicate {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {a : A} (ha : p a) (f : C((spectrum R a), R)) :
        p ((cfcHom ha) f)
        theorem cfcHom_eq_of_continuous_of_map_id {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {a : A} (ha : p a) [UniqueContinuousFunctionalCalculus R A] (φ : C((spectrum R a), R) →⋆ₐ[R] A) (hφ₁ : Continuous φ) (hφ₂ : φ (ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)) = a) :
        cfcHom ha = φ
        theorem cfcHom_comp {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {a : A} (ha : p a) [UniqueContinuousFunctionalCalculus R A] (f : C((spectrum R a), R)) (f' : C((spectrum R a), (spectrum R ((cfcHom ha) f)))) (hff' : ∀ (x : (spectrum R a)), f x = (f' x)) (g : C((spectrum R ((cfcHom ha) f)), R)) :
        (cfcHom ha) (ContinuousMap.comp g f') = (cfcHom ) g

        A tactic used to automatically discharge goals relating to the continuous functional calculus, specifically whether the element satisfies the predicate.

        Equations
        Instances For

          A tactic used to automatically discharge goals relating to the continuous functional calculus, specifically concerning continuity of the functions involved.

          Equations
          Instances For
            @[irreducible]
            noncomputable def cfc {R : Type u_3} {A : Type u_4} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) :
            A

            This is the continuous functional calculus of an element a : A applied to bare functions. When either a does not satisfy the predicate p (i.e., a is not IsStarNormal, IsSelfAdjoint, or 0 ≤ a when R is , , or ℝ≥0, respectively), or when f : R → R is not continuous on the spectrum of a, then cfc f a returns the junk value 0.

            This is the primary declaration intended for widespread use of the continuous functional calculus, and all the API applies to this declaration. For more information, see the module documentation for Topology.ContinuousFunction.FunctionalCalculus.

            Equations
            Instances For
              theorem cfc_def {R : Type u_3} {A : Type u_4} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) :
              cfc f a = if h : p a ContinuousOn f (spectrum R a) then (cfcHom ) { toFun := Set.restrict (spectrum R a) f, continuous_toFun := } else 0
              theorem cfc_apply {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) (ha : autoParam (p a) _auto✝) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) :
              cfc f a = (cfcHom ha) { toFun := Set.restrict (spectrum R a) f, continuous_toFun := }
              theorem cfc_apply_of_not_and {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {f : RR} (a : A) (ha : ¬(p a ContinuousOn f (spectrum R a))) :
              cfc f a = 0
              theorem cfc_apply_of_not_predicate {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {f : RR} (a : A) (ha : ¬p a) :
              cfc f a = 0
              theorem cfc_apply_of_not_continuousOn {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {f : RR} (a : A) (hf : ¬ContinuousOn f (spectrum R a)) :
              cfc f a = 0
              theorem cfcHom_eq_cfc_extend {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {a : A} (g : RR) (ha : p a) (f : C((spectrum R a), R)) :
              (cfcHom ha) f = cfc (Function.extend Subtype.val (f) g) a
              theorem cfc_cases {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (P : AProp) (a : A) (f : RR) (h₀ : P 0) (haf : ∀ (hf : ContinuousOn f (spectrum R a)) (ha : p a), P ((cfcHom ha) { toFun := Set.restrict (spectrum R a) f, continuous_toFun := })) :
              P (cfc f a)
              theorem cfc_id (R : Type u_1) {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (a : A) (ha : autoParam (p a) _auto✝) :
              cfc id a = a
              theorem cfc_id' (R : Type u_1) {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (a : A) (ha : autoParam (p a) _auto✝) :
              cfc (fun (x : R) => x) a = a
              theorem cfc_map_spectrum {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) (ha : autoParam (p a) _auto✝) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) :
              spectrum R (cfc f a) = f '' spectrum R a

              The spectral mapping theorem for the continuous functional calculus.

              theorem cfc_predicate {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) (ha : autoParam (p a) _auto✝) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) :
              p (cfc f a)
              theorem cfc_congr {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {f : RR} {g : RR} {a : A} (hfg : Set.EqOn f g (spectrum R a)) :
              cfc f a = cfc g a
              theorem eqOn_of_cfc_eq_cfc {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {f : RR} {g : RR} {a : A} (h : cfc f a = cfc g a) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
              Set.EqOn f g (spectrum R a)
              theorem cfc_eq_cfc_iff_eqOn {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {f : RR} {g : RR} {a : A} (ha : autoParam (p a) _auto✝) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝) :
              cfc f a = cfc g a Set.EqOn f g (spectrum R a)
              theorem cfc_const {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (r : R) (a : A) (ha : autoParam (p a) _auto✝) :
              cfc (fun (x : R) => r) a = (algebraMap R A) r
              theorem cfc_one (R : Type u_1) {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (a : A) (ha : autoParam (p a) _auto✝) :
              cfc 1 a = 1
              theorem cfc_const_one (R : Type u_1) {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (a : A) (ha : autoParam (p a) _auto✝) :
              cfc (fun (x : R) => 1) a = 1
              @[simp]
              theorem cfc_zero (R : Type u_1) {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (a : A) :
              cfc 0 a = 0
              @[simp]
              theorem cfc_const_zero (R : Type u_1) {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (a : A) :
              cfc (fun (x : R) => 0) a = 0
              theorem cfc_mul {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (g : RR) (a : A) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝) :
              cfc (fun (x : R) => f x * g x) a = cfc f a * cfc g a
              theorem cfc_pow {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (n : ) (a : A) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
              cfc (fun (x : R) => f x ^ n) a = cfc f a ^ n
              theorem cfc_add {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (a : A) (f : RR) (g : RR) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝) :
              cfc (fun (x : R) => f x + g x) a = cfc f a + cfc g a
              theorem cfc_smul {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {S : Type u_3} [SMul S R] [ContinuousConstSMul S R] [SMulZeroClass S A] [IsScalarTower S R A] [IsScalarTower S R (RR)] (s : S) (f : RR) (a : A) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) :
              cfc (fun (x : R) => s f x) a = s cfc f a
              theorem cfc_const_mul {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (r : R) (f : RR) (a : A) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) :
              cfc (fun (x : R) => r * f x) a = r cfc f a
              theorem cfc_star {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) :
              cfc (fun (x : R) => star (f x)) a = star (cfc f a)
              theorem cfc_pow_id {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (a : A) (n : ) (ha : autoParam (p a) _auto✝) :
              cfc (fun (x : R) => x ^ n) a = a ^ n
              theorem cfc_smul_id {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {S : Type u_3} [SMul S R] [ContinuousConstSMul S R] [SMulZeroClass S A] [IsScalarTower S R A] [IsScalarTower S R (RR)] (s : S) (a : A) (ha : autoParam (p a) _auto✝) :
              cfc (fun (x : R) => s x) a = s a
              theorem cfc_const_mul_id {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (r : R) (a : A) (ha : autoParam (p a) _auto✝) :
              cfc (fun (x : R) => r * x) a = r a
              theorem cfc_star_id {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (a : A) (ha : autoParam (p a) _auto✝) :
              cfc (fun (x : R) => star x) a = star a
              theorem cfc_eval_X {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (a : A) (ha : autoParam (p a) _auto✝) :
              cfc (fun (a : R) => Polynomial.eval a Polynomial.X) a = a
              theorem cfc_eval_C {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (r : R) (a : A) (ha : autoParam (p a) _auto✝) :
              cfc (fun (a : R) => Polynomial.eval a (Polynomial.C r)) a = (algebraMap R A) r
              theorem cfc_map_polynomial {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (q : Polynomial R) (f : RR) (a : A) (ha : autoParam (p a) _auto✝) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) :
              cfc (fun (x : R) => Polynomial.eval (f x) q) a = (Polynomial.aeval (cfc f a)) q
              theorem cfc_polynomial {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (q : Polynomial R) (a : A) (ha : autoParam (p a) _auto✝) :
              cfc (fun (a : R) => Polynomial.eval a q) a = (Polynomial.aeval a) q
              theorem cfc_comp {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] [UniqueContinuousFunctionalCalculus R A] (g : RR) (f : RR) (a : A) (ha : autoParam (p a) _auto✝) (hg : autoParam (ContinuousOn g (f '' spectrum R a)) _auto✝) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) :
              cfc (g f) a = cfc g (cfc f a)
              theorem cfc_comp' {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] [UniqueContinuousFunctionalCalculus R A] (g : RR) (f : RR) (a : A) (hg : autoParam (ContinuousOn g (f '' spectrum R a)) _auto✝) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
              cfc (fun (x : R) => g (f x)) a = cfc g (cfc f a)
              theorem cfc_comp_pow {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] [UniqueContinuousFunctionalCalculus R A] (f : RR) (n : ) (a : A) (hf : autoParam (ContinuousOn f ((fun (x : R) => x ^ n) '' spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
              cfc (fun (x : R) => f (x ^ n)) a = cfc f (a ^ n)
              theorem cfc_comp_smul {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] [UniqueContinuousFunctionalCalculus R A] {S : Type u_3} [SMul S R] [ContinuousConstSMul S R] [SMulZeroClass S A] [IsScalarTower S R A] [IsScalarTower S R (RR)] (s : S) (f : RR) (a : A) (hf : autoParam (ContinuousOn f ((fun (x : R) => s x) '' spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
              cfc (fun (x : R) => f (s x)) a = cfc f (s a)
              theorem cfc_comp_const_mul {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] [UniqueContinuousFunctionalCalculus R A] (r : R) (f : RR) (a : A) (hf : autoParam (ContinuousOn f ((fun (x : R) => r * x) '' spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
              cfc (fun (x : R) => f (r * x)) a = cfc f (r a)
              theorem cfc_comp_star {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] [UniqueContinuousFunctionalCalculus R A] (f : RR) (a : A) (hf : autoParam (ContinuousOn f (star '' spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
              cfc (fun (x : R) => f (star x)) a = cfc f (star a)
              theorem cfc_comp_polynomial {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] [UniqueContinuousFunctionalCalculus R A] (q : Polynomial R) (f : RR) (a : A) (hf : autoParam (ContinuousOn f ((fun (a : R) => Polynomial.eval a q) '' spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
              cfc (fun (x : R) => f (Polynomial.eval x q)) a = cfc f ((Polynomial.aeval a) q)
              theorem eq_algebraMap_of_spectrum_subset_singleton {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (a : A) (r : R) (h_spec : spectrum R a {r}) (ha : autoParam (p a) _auto✝) :
              a = (algebraMap R A) r
              theorem eq_zero_of_spectrum_subset_zero {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (a : A) (h_spec : spectrum R a {0}) (ha : autoParam (p a) _auto✝) :
              a = 0
              theorem eq_one_of_spectrum_subset_one {R : Type u_1} {A : Type u_2} {p : AProp} [CommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (a : A) (h_spec : spectrum R a {1}) (ha : autoParam (p a) _auto✝) :
              a = 1
              theorem isUnit_cfc_iff {R : Type u_1} {A : Type u_2} {p : AProp} [Semifield R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
              IsUnit (cfc f a) xspectrum R a, f x 0
              theorem isUnit_cfc {R : Type u_1} {A : Type u_2} {p : AProp} [Semifield R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
              (xspectrum R a, f x 0)IsUnit (cfc f a)

              Alias of the reverse direction of isUnit_cfc_iff.

              @[simp]
              theorem val_cfcUnits {R : Type u_1} {A : Type u_2} {p : AProp} [Semifield R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [HasContinuousInv₀ R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) (hf' : xspectrum R a, f x 0) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
              (cfcUnits f a hf' hf ha) = cfc f a
              @[simp]
              theorem val_inv_cfcUnits {R : Type u_1} {A : Type u_2} {p : AProp} [Semifield R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [HasContinuousInv₀ R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) (hf' : xspectrum R a, f x 0) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
              (cfcUnits f a hf' hf ha)⁻¹ = cfc (fun (x : R) => (f x)⁻¹) a
              noncomputable def cfcUnits {R : Type u_1} {A : Type u_2} {p : AProp} [Semifield R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [HasContinuousInv₀ R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) (hf' : xspectrum R a, f x 0) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :

              Bundle cfc f a into a unit given a proof that f is nonzero on the spectrum of a.

              Equations
              • cfcUnits f a hf' hf ha = { val := cfc f a, inv := cfc (fun (x : R) => (f x)⁻¹) a, val_inv := , inv_val := }
              Instances For
                theorem cfcUnits_pow {R : Type u_1} {A : Type u_2} {p : AProp} [Semifield R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [HasContinuousInv₀ R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) (hf' : xspectrum R a, f x 0) (n : ) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
                cfcUnits f a hf' hf ha ^ n = cfcUnits (fun (x : R) => f x ^ n) a ha
                theorem cfc_inv {R : Type u_1} {A : Type u_2} {p : AProp} [Semifield R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [HasContinuousInv₀ R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) (hf' : xspectrum R a, f x 0) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
                cfc (fun (x : R) => (f x)⁻¹) a = Ring.inverse (cfc f a)
                theorem cfc_inv_id {R : Type u_1} {A : Type u_2} {p : AProp} [Semifield R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [HasContinuousInv₀ R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (a : Aˣ) (ha : autoParam (p a) _auto✝) :
                cfc (fun (x : R) => x⁻¹) a = a⁻¹
                theorem cfc_map_div {R : Type u_1} {A : Type u_2} {p : AProp} [Semifield R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [HasContinuousInv₀ R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (g : RR) (a : A) (hg' : xspectrum R a, g x 0) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
                cfc (fun (x : R) => f x / g x) a = cfc f a * Ring.inverse (cfc g a)
                theorem Units.continuousOn_inv₀_spectrum {R : Type u_1} {A : Type u_2} [Semifield R] [MetricSpace R] [HasContinuousInv₀ R] [Ring A] [Algebra R A] (a : Aˣ) :
                ContinuousOn (fun (x : R) => x⁻¹) (spectrum R a)
                theorem Units.continuousOn_zpow₀_spectrum {R : Type u_1} {A : Type u_2} [Semifield R] [MetricSpace R] [TopologicalSemiring R] [HasContinuousInv₀ R] [Ring A] [Algebra R A] (a : Aˣ) (n : ) :
                ContinuousOn (fun (x : R) => x ^ n) (spectrum R a)
                theorem cfc_comp_inv {R : Type u_1} {A : Type u_2} {p : AProp} [Semifield R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [HasContinuousInv₀ R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] [UniqueContinuousFunctionalCalculus R A] (f : RR) (a : Aˣ) (hf : autoParam (ContinuousOn f ((fun (x : R) => x⁻¹) '' spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
                cfc (fun (x : R) => f x⁻¹) a = cfc f a⁻¹
                theorem cfcUnits_zpow {R : Type u_1} {A : Type u_2} {p : AProp} [Semifield R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [HasContinuousInv₀ R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) (hf' : xspectrum R a, f x 0) (n : ) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
                cfcUnits f a hf' hf ha ^ n = cfcUnits (f ^ n) a ha
                theorem cfc_zpow {R : Type u_1} {A : Type u_2} {p : AProp} [Semifield R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [HasContinuousInv₀ R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (a : Aˣ) (n : ) (ha : autoParam (p a) _auto✝) :
                cfc (fun (x : R) => x ^ n) a = (a ^ n)
                theorem cfc_comp_zpow {R : Type u_1} {A : Type u_2} {p : AProp} [Semifield R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [HasContinuousInv₀ R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] [UniqueContinuousFunctionalCalculus R A] (f : RR) (n : ) (a : Aˣ) (hf : autoParam (ContinuousOn f ((fun (x : R) => x ^ n) '' spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
                cfc (fun (x : R) => f (x ^ n)) a = cfc f (a ^ n)
                theorem cfc_sub {R : Type u_1} {A : Type u_2} {p : AProp} [CommRing R] [StarRing R] [MetricSpace R] [TopologicalRing R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (g : RR) (a : A) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝) :
                cfc (fun (x : R) => f x - g x) a = cfc f a - cfc g a
                theorem cfc_neg {R : Type u_1} {A : Type u_2} {p : AProp} [CommRing R] [StarRing R] [MetricSpace R] [TopologicalRing R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) :
                cfc (fun (x : R) => -f x) a = -cfc f a
                theorem cfc_neg_id {R : Type u_1} {A : Type u_2} {p : AProp} [CommRing R] [StarRing R] [MetricSpace R] [TopologicalRing R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (a : A) (ha : autoParam (p a) _auto✝) :
                cfc (fun (x : R) => -x) a = -a
                theorem cfc_comp_neg {R : Type u_1} {A : Type u_2} {p : AProp} [CommRing R] [StarRing R] [MetricSpace R] [TopologicalRing R] [ContinuousStar R] [TopologicalSpace A] [Ring A] [StarRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) [UniqueContinuousFunctionalCalculus R A] (hf : autoParam (ContinuousOn f ((fun (x : R) => -x) '' spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
                cfc (fun (x : R) => f (-x)) a = cfc f (-a)
                theorem cfcHom_mono {R : Type u_1} {A : Type u_2} {p : AProp} [OrderedCommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [∀ (α : Type u_1) [inst : TopologicalSpace α], StarOrderedRing C(α, R)] [TopologicalSpace A] [Ring A] [StarRing A] [PartialOrder A] [StarOrderedRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {a : A} (ha : p a) {f : C((spectrum R a), R)} {g : C((spectrum R a), R)} (hfg : f g) :
                (cfcHom ha) f (cfcHom ha) g
                theorem cfcHom_nonneg_iff {R : Type u_1} {A : Type u_2} {p : AProp} [OrderedCommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [∀ (α : Type u_1) [inst : TopologicalSpace α], StarOrderedRing C(α, R)] [TopologicalSpace A] [Ring A] [StarRing A] [PartialOrder A] [StarOrderedRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] [NonnegSpectrumClass R A] {a : A} (ha : p a) {f : C((spectrum R a), R)} :
                0 (cfcHom ha) f 0 f
                theorem cfc_mono {R : Type u_1} {A : Type u_2} {p : AProp} [OrderedCommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [∀ (α : Type u_1) [inst : TopologicalSpace α], StarOrderedRing C(α, R)] [TopologicalSpace A] [Ring A] [StarRing A] [PartialOrder A] [StarOrderedRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {f : RR} {g : RR} {a : A} (h : xspectrum R a, f x g x) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝) :
                cfc f a cfc g a
                theorem cfc_nonneg_iff {R : Type u_1} {A : Type u_2} {p : AProp} [OrderedCommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [∀ (α : Type u_1) [inst : TopologicalSpace α], StarOrderedRing C(α, R)] [TopologicalSpace A] [Ring A] [StarRing A] [PartialOrder A] [StarOrderedRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] [NonnegSpectrumClass R A] (f : RR) (a : A) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
                0 cfc f a xspectrum R a, 0 f x
                theorem cfc_nonneg {R : Type u_1} {A : Type u_2} {p : AProp} [OrderedCommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [∀ (α : Type u_1) [inst : TopologicalSpace α], StarOrderedRing C(α, R)] [TopologicalSpace A] [Ring A] [StarRing A] [PartialOrder A] [StarOrderedRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] {f : RR} {a : A} (h : xspectrum R a, 0 f x) :
                0 cfc f a
                theorem cfc_nonpos {R : Type u_1} {A : Type u_2} {p : AProp} [OrderedCommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [∀ (α : Type u_1) [inst : TopologicalSpace α], StarOrderedRing C(α, R)] [TopologicalSpace A] [Ring A] [StarRing A] [PartialOrder A] [StarOrderedRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) (h : xspectrum R a, f x 0) :
                cfc f a 0
                theorem cfc_le_algebraMap {R : Type u_1} {A : Type u_2} {p : AProp} [OrderedCommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [∀ (α : Type u_1) [inst : TopologicalSpace α], StarOrderedRing C(α, R)] [TopologicalSpace A] [Ring A] [StarRing A] [PartialOrder A] [StarOrderedRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (r : R) (a : A) (h : xspectrum R a, f x r) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
                cfc f a (algebraMap R A) r
                theorem algebraMap_le_cfc {R : Type u_1} {A : Type u_2} {p : AProp} [OrderedCommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [∀ (α : Type u_1) [inst : TopologicalSpace α], StarOrderedRing C(α, R)] [TopologicalSpace A] [Ring A] [StarRing A] [PartialOrder A] [StarOrderedRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (r : R) (a : A) (h : xspectrum R a, r f x) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
                (algebraMap R A) r cfc f a
                theorem cfc_le_one {R : Type u_1} {A : Type u_2} {p : AProp} [OrderedCommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [∀ (α : Type u_1) [inst : TopologicalSpace α], StarOrderedRing C(α, R)] [TopologicalSpace A] [Ring A] [StarRing A] [PartialOrder A] [StarOrderedRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) (h : xspectrum R a, f x 1) :
                cfc f a 1
                theorem one_le_cfc {R : Type u_1} {A : Type u_2} {p : AProp} [OrderedCommSemiring R] [StarRing R] [MetricSpace R] [TopologicalSemiring R] [ContinuousStar R] [∀ (α : Type u_1) [inst : TopologicalSpace α], StarOrderedRing C(α, R)] [TopologicalSpace A] [Ring A] [StarRing A] [PartialOrder A] [StarOrderedRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] (f : RR) (a : A) (h : xspectrum R a, 1 f x) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
                1 cfc f a
                theorem cfcHom_le_iff {R : Type u_1} {A : Type u_2} {p : AProp} [OrderedCommRing R] [StarRing R] [MetricSpace R] [TopologicalRing R] [ContinuousStar R] [∀ (α : Type u_1) [inst : TopologicalSpace α], StarOrderedRing C(α, R)] [TopologicalSpace A] [Ring A] [StarRing A] [PartialOrder A] [StarOrderedRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] [NonnegSpectrumClass R A] {a : A} (ha : p a) {f : C((spectrum R a), R)} {g : C((spectrum R a), R)} :
                (cfcHom ha) f (cfcHom ha) g f g
                theorem cfc_le_iff {R : Type u_1} {A : Type u_2} {p : AProp} [OrderedCommRing R] [StarRing R] [MetricSpace R] [TopologicalRing R] [ContinuousStar R] [∀ (α : Type u_1) [inst : TopologicalSpace α], StarOrderedRing C(α, R)] [TopologicalSpace A] [Ring A] [StarRing A] [PartialOrder A] [StarOrderedRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] [NonnegSpectrumClass R A] (f : RR) (g : RR) (a : A) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
                cfc f a cfc g a xspectrum R a, f x g x
                theorem cfc_nonpos_iff {R : Type u_1} {A : Type u_2} {p : AProp} [OrderedCommRing R] [StarRing R] [MetricSpace R] [TopologicalRing R] [ContinuousStar R] [∀ (α : Type u_1) [inst : TopologicalSpace α], StarOrderedRing C(α, R)] [TopologicalSpace A] [Ring A] [StarRing A] [PartialOrder A] [StarOrderedRing A] [Algebra R A] [ContinuousFunctionalCalculus R p] [NonnegSpectrumClass R A] (f : RR) (a : A) (hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝) (ha : autoParam (p a) _auto✝) :
                cfc f a 0 xspectrum R a, f x 0