-- Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean
@[simp]
lemma cfc_algebraMap (r : R) (f : R → R) : cfc f (algebraMap R A r) = algebraMap R A (f r)

Proof state:
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✝⁵ : IsTopologicalSemiring R
inst✝⁴ : ContinuousStar R
inst✝³ : TopologicalSpace A
inst✝² : Ring A
inst✝¹ : StarRing A
inst✝ : Algebra R A
instCFC : ContinuousFunctionalCalculus R p
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:
apply CFC.spectrum_algebraMap_subset r at hx

Result:
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✝⁵ : IsTopologicalSemiring R
inst✝⁴ : ContinuousStar R
inst✝³ : TopologicalSpace A
inst✝² : Ring A
inst✝¹ : StarRing A
inst✝ : Algebra R A
instCFC : ContinuousFunctionalCalculus R p
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)

Proof state:
R : Type u_1
A : Type u_2
p : A → Prop
inst✝⁸ : CommSemiring R
inst✝⁷ : StarRing R
inst✝⁶ : MetricSpace R
inst✝⁵ : IsTopologicalSemiring R
inst✝⁴ : ContinuousStar R
inst✝³ : TopologicalSpace A
inst✝² : Ring A
inst✝¹ : StarRing A
inst✝ : Algebra R A
instCFC : ContinuousFunctionalCalculus R p
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:
rw [cfc_apply f (algebraMap R A r) (cfc_predicate_algebraMap r),
  ← AlgHomClass.commutes (cfcHom (p := p) (cfc_predicate_algebraMap r)) (f r)]

Result:
R : Type u_1
A : Type u_2
p : A → Prop
inst✝⁸ : CommSemiring R
inst✝⁷ : StarRing R
inst✝⁶ : MetricSpace R
inst✝⁵ : IsTopologicalSemiring R
inst✝⁴ : ContinuousStar R
inst✝³ : TopologicalSpace A
inst✝² : Ring A
inst✝¹ : StarRing A
inst✝ : Algebra R A
instCFC : ContinuousFunctionalCalculus R p
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))

Proof state:
R : Type u_1
A : Type u_2
p : A → Prop
inst✝⁸ : CommSemiring R
inst✝⁷ : StarRing R
inst✝⁶ : MetricSpace R
inst✝⁵ : IsTopologicalSemiring R
inst✝⁴ : ContinuousStar R
inst✝³ : TopologicalSpace A
inst✝² : Ring A
inst✝¹ : StarRing A
inst✝ : Algebra R A
instCFC : ContinuousFunctionalCalculus R p
r : R
f : R → 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

Result:
R : Type u_1
A : Type u_2
p : A → Prop
inst✝⁸ : CommSemiring R
inst✝⁷ : StarRing R
inst✝⁶ : MetricSpace R
inst✝⁵ : IsTopologicalSemiring R
inst✝⁴ : ContinuousStar R
inst✝³ : TopologicalSpace A
inst✝² : Ring A
inst✝¹ : StarRing A
inst✝ : Algebra R A
instCFC : ContinuousFunctionalCalculus R p
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)

Proof state:
R : Type u_1
A : Type u_2
p : A → Prop
inst✝⁸ : CommSemiring R
inst✝⁷ : StarRing R
inst✝⁶ : MetricSpace R
inst✝⁵ : IsTopologicalSemiring R
inst✝⁴ : ContinuousStar R
inst✝³ : TopologicalSpace A
inst✝² : Ring A
inst✝¹ : StarRing A
inst✝ : Algebra R A
instCFC : ContinuousFunctionalCalculus R p
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:
congr

Result:
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✝⁵ : IsTopologicalSemiring R
inst✝⁴ : ContinuousStar R
inst✝³ : TopologicalSpace A
inst✝² : Ring A
inst✝¹ : StarRing A
inst✝ : Algebra R A
instCFC : ContinuousFunctionalCalculus R p
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)

Proof state:
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✝⁵ : IsTopologicalSemiring R
inst✝⁴ : ContinuousStar R
inst✝³ : TopologicalSpace A
inst✝² : Ring A
inst✝¹ : StarRing A
inst✝ : Algebra R A
instCFC : ContinuousFunctionalCalculus R p
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:
ext ⟨x, hx⟩

Result:
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✝⁵ : IsTopologicalSemiring R
inst✝⁴ : ContinuousStar R
inst✝³ : TopologicalSpace A
inst✝² : Ring A
inst✝¹ : StarRing A
inst✝ : Algebra R A
instCFC : ContinuousFunctionalCalculus R p
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)

Proof state:
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✝⁵ : IsTopologicalSemiring R
inst✝⁴ : ContinuousStar R
inst✝³ : TopologicalSpace A
inst✝² : Ring A
inst✝¹ : StarRing A
inst✝ : Algebra R A
instCFC : ContinuousFunctionalCalculus R p
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:
simp_all

Result:
no goals