Theorem: cfc_algebraMap
File: Mathlib/Analysis/CstarAlgebra/ContinuousFunctionalCalculus/Unital.lean

Proof steps:
state_before: R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹⁰ : CommSemiring R
inst✝⁹ : StarRing R
inst✝⁸ : MetricSpace R
inst✝⁷ : TopologicalSemiring R
inst✝⁶ : ContinuousStar R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f✝ g : R → R
a : A
ha : autoParam (p a) _auto✝
hf : autoParam (ContinuousOn f✝ (spectrum R a)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝
inst✝ : UniqueContinuousFunctionalCalculus R A
r : R
f : R → R
⊢ cfc f ((algebraMap R A) r) = (algebraMap R A) (f r)
state_after: R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹⁰ : CommSemiring R
inst✝⁹ : StarRing R
inst✝⁸ : MetricSpace R
inst✝⁷ : TopologicalSemiring R
inst✝⁶ : ContinuousStar R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f✝ g : R → R
a : A
ha : autoParam (p a) _auto✝
hf : autoParam (ContinuousOn f✝ (spectrum R a)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝
inst✝ : UniqueContinuousFunctionalCalculus R A
r : R
f : R → R
h₁ : ContinuousOn f (spectrum R ((algebraMap R A) r))
⊢ cfc f ((algebraMap R A) r) = (algebraMap R A) (f r)
tactic: have h₁ : ContinuousOn f (spectrum R (algebraMap R A r)) :=
  continuousOn_singleton _ _ |>.mono <| CFC.spectrum_algebraMap_subset r
state_before: R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹⁰ : CommSemiring R
inst✝⁹ : StarRing R
inst✝⁸ : MetricSpace R
inst✝⁷ : TopologicalSemiring R
inst✝⁶ : ContinuousStar R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f✝ g : R → R
a : A
ha : autoParam (p a) _auto✝
hf : autoParam (ContinuousOn f✝ (spectrum R a)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝
inst✝ : UniqueContinuousFunctionalCalculus R A
r : R
f : R → R
h₁ : ContinuousOn f (spectrum R ((algebraMap R A) r))
⊢ cfc f ((algebraMap R A) r) = (algebraMap R A) (f r)
state_after: R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹⁰ : CommSemiring R
inst✝⁹ : StarRing R
inst✝⁸ : MetricSpace R
inst✝⁷ : TopologicalSemiring R
inst✝⁶ : ContinuousStar R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f✝ g : R → R
a : A
ha : autoParam (p a) _auto✝
hf : autoParam (ContinuousOn f✝ (spectrum R a)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝
inst✝ : UniqueContinuousFunctionalCalculus R A
r : R
f : R → R
h₁ : ContinuousOn f (spectrum R ((algebraMap R A) r))
⊢ (cfcHom ⋯) { toFun := (spectrum R ((algebraMap R A) r)).restrict f, continuous_toFun := ⋯ } =
    (cfcHom ⋯) ((algebraMap R C(↑(spectrum R ((algebraMap R A) r)), R)) (f r))
tactic: rw [cfc_apply f (algebraMap R A r) (cfc_predicate_algebraMap r),
    ← AlgHomClass.commutes (cfcHom (p := p) (cfc_predicate_algebraMap r)) (f r)]
state_before: R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹⁰ : CommSemiring R
inst✝⁹ : StarRing R
inst✝⁸ : MetricSpace R
inst✝⁷ : TopologicalSemiring R
inst✝⁶ : ContinuousStar R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f✝ g : R → R
a : A
ha : autoParam (p a) _auto✝
hf : autoParam (ContinuousOn f✝ (spectrum R a)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝
inst✝ : UniqueContinuousFunctionalCalculus R A
r : R
f : R → R
h₁ : ContinuousOn f (spectrum R ((algebraMap R A) r))
⊢ (cfcHom ⋯) { toFun := (spectrum R ((algebraMap R A) r)).restrict f, continuous_toFun := ⋯ } =
    (cfcHom ⋯) ((algebraMap R C(↑(spectrum R ((algebraMap R A) r)), R)) (f r))
state_after: case h.e_6.h.e_toFun
R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹⁰ : CommSemiring R
inst✝⁹ : StarRing R
inst✝⁸ : MetricSpace R
inst✝⁷ : TopologicalSemiring R
inst✝⁶ : ContinuousStar R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f✝ g : R → R
a : A
ha : autoParam (p a) _auto✝
hf : autoParam (ContinuousOn f✝ (spectrum R a)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝
inst✝ : UniqueContinuousFunctionalCalculus R A
r : R
f : R → R
h₁ : ContinuousOn f (spectrum R ((algebraMap R A) r))
⊢ (spectrum R ((algebraMap R A) r)).restrict f = fun x => (algebraMap R R) (f r)
tactic: congr
state_before: case h.e_6.h.e_toFun
R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹⁰ : CommSemiring R
inst✝⁹ : StarRing R
inst✝⁸ : MetricSpace R
inst✝⁷ : TopologicalSemiring R
inst✝⁶ : ContinuousStar R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f✝ g : R → R
a : A
ha : autoParam (p a) _auto✝
hf : autoParam (ContinuousOn f✝ (spectrum R a)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝
inst✝ : UniqueContinuousFunctionalCalculus R A
r : R
f : R → R
h₁ : ContinuousOn f (spectrum R ((algebraMap R A) r))
⊢ (spectrum R ((algebraMap R A) r)).restrict f = fun x => (algebraMap R R) (f r)
state_after: case h.e_6.h.e_toFun.h.mk
R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹⁰ : CommSemiring R
inst✝⁹ : StarRing R
inst✝⁸ : MetricSpace R
inst✝⁷ : TopologicalSemiring R
inst✝⁶ : ContinuousStar R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f✝ g : R → R
a : A
ha : autoParam (p a) _auto✝
hf : autoParam (ContinuousOn f✝ (spectrum R a)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝
inst✝ : UniqueContinuousFunctionalCalculus R A
r : R
f : R → R
h₁ : ContinuousOn f (spectrum R ((algebraMap R A) r))
x : R
hx : x ∈ spectrum R ((algebraMap R A) r)
⊢ (spectrum R ((algebraMap R A) r)).restrict f ⟨x, hx⟩ = (algebraMap R R) (f r)
tactic: ext ⟨x, hx⟩
state_before: case h.e_6.h.e_toFun.h.mk
R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹⁰ : CommSemiring R
inst✝⁹ : StarRing R
inst✝⁸ : MetricSpace R
inst✝⁷ : TopologicalSemiring R
inst✝⁶ : ContinuousStar R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f✝ g : R → R
a : A
ha : autoParam (p a) _auto✝
hf : autoParam (ContinuousOn f✝ (spectrum R a)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝
inst✝ : UniqueContinuousFunctionalCalculus R A
r : R
f : R → R
h₁ : ContinuousOn f (spectrum R ((algebraMap R A) r))
x : R
hx : x ∈ spectrum R ((algebraMap R A) r)
⊢ (spectrum R ((algebraMap R A) r)).restrict f ⟨x, hx⟩ = (algebraMap R R) (f r)
state_after: case h.e_6.h.e_toFun.h.mk
R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹⁰ : CommSemiring R
inst✝⁹ : StarRing R
inst✝⁸ : MetricSpace R
inst✝⁷ : TopologicalSemiring R
inst✝⁶ : ContinuousStar R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f✝ g : R → R
a : A
ha : autoParam (p a) _auto✝
hf : autoParam (ContinuousOn f✝ (spectrum R a)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝
inst✝ : UniqueContinuousFunctionalCalculus R A
r : R
f : R → R
h₁ : ContinuousOn f (spectrum R ((algebraMap R A) r))
x : R
hx✝ : x ∈ spectrum R ((algebraMap R A) r)
hx : x ∈ {r}
⊢ (spectrum R ((algebraMap R A) r)).restrict f ⟨x, hx✝⟩ = (algebraMap R R) (f r)
tactic: apply CFC.spectrum_algebraMap_subset r at hx
state_before: case h.e_6.h.e_toFun.h.mk
R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹⁰ : CommSemiring R
inst✝⁹ : StarRing R
inst✝⁸ : MetricSpace R
inst✝⁷ : TopologicalSemiring R
inst✝⁶ : ContinuousStar R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f✝ g : R → R
a : A
ha : autoParam (p a) _auto✝
hf : autoParam (ContinuousOn f✝ (spectrum R a)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝
inst✝ : UniqueContinuousFunctionalCalculus R A
r : R
f : R → R
h₁ : ContinuousOn f (spectrum R ((algebraMap R A) r))
x : R
hx✝ : x ∈ spectrum R ((algebraMap R A) r)
hx : x ∈ {r}
⊢ (spectrum R ((algebraMap R A) r)).restrict f ⟨x, hx✝⟩ = (algebraMap R R) (f r)
state_after: no goals
tactic: simp_all