Theorem: SpectrumRestricts.starAlgHom_id
File: Mathlib/Analysis/CstarAlgebra/ContinuousFunctionalCalculus/Restrict.lean

Proof steps:
state_before: R : Type u_1
S : Type u_2
A : Type u_3
p q : A → Prop
inst✝²⁰ : Semifield R
inst✝¹⁹ : StarRing R
inst✝¹⁸ : MetricSpace R
inst✝¹⁷ : TopologicalSemiring R
inst✝¹⁶ : ContinuousStar R
inst✝¹⁵ : Semifield S
inst✝¹⁴ : StarRing S
inst✝¹³ : MetricSpace S
inst✝¹² : TopologicalSemiring S
inst✝¹¹ : ContinuousStar S
inst✝¹⁰ : TopologicalSpace A
inst✝⁹ : Ring A
inst✝⁸ : StarRing A
inst✝⁷ : Algebra S A
inst✝⁶ : ContinuousFunctionalCalculus S q
inst✝⁵ : Algebra R S
inst✝⁴ : Algebra R A
inst✝³ : IsScalarTower R S A
inst✝² : StarModule R S
inst✝¹ : ContinuousSMul R S
inst✝ : CompleteSpace R
a : A
φ : C(↑(spectrum S a), S) →⋆ₐ[S] A
f : C(S, R)
h : SpectrumRestricts a ⇑f
h_id : φ (ContinuousMap.restrict (spectrum S a) (ContinuousMap.id S)) = a
⊢ (starAlgHom φ h) (ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)) = a
state_after: R : Type u_1
S : Type u_2
A : Type u_3
p q : A → Prop
inst✝²⁰ : Semifield R
inst✝¹⁹ : StarRing R
inst✝¹⁸ : MetricSpace R
inst✝¹⁷ : TopologicalSemiring R
inst✝¹⁶ : ContinuousStar R
inst✝¹⁵ : Semifield S
inst✝¹⁴ : StarRing S
inst✝¹³ : MetricSpace S
inst✝¹² : TopologicalSemiring S
inst✝¹¹ : ContinuousStar S
inst✝¹⁰ : TopologicalSpace A
inst✝⁹ : Ring A
inst✝⁸ : StarRing A
inst✝⁷ : Algebra S A
inst✝⁶ : ContinuousFunctionalCalculus S q
inst✝⁵ : Algebra R S
inst✝⁴ : Algebra R A
inst✝³ : IsScalarTower R S A
inst✝² : StarModule R S
inst✝¹ : ContinuousSMul R S
inst✝ : CompleteSpace R
a : A
φ : C(↑(spectrum S a), S) →⋆ₐ[S] A
f : C(S, R)
h : SpectrumRestricts a ⇑f
h_id : φ (ContinuousMap.restrict (spectrum S a) (ContinuousMap.id S)) = a
⊢ φ
      ({ toFun := ⇑(StarAlgHom.ofId R S), continuous_toFun := ⋯ }.comp
        ((ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)).comp
          { toFun := Subtype.map ⇑f ⋯, continuous_toFun := ⋯ })) =
    a
tactic: simp only [SpectrumRestricts.starAlgHom_apply]
state_before: R : Type u_1
S : Type u_2
A : Type u_3
p q : A → Prop
inst✝²⁰ : Semifield R
inst✝¹⁹ : StarRing R
inst✝¹⁸ : MetricSpace R
inst✝¹⁷ : TopologicalSemiring R
inst✝¹⁶ : ContinuousStar R
inst✝¹⁵ : Semifield S
inst✝¹⁴ : StarRing S
inst✝¹³ : MetricSpace S
inst✝¹² : TopologicalSemiring S
inst✝¹¹ : ContinuousStar S
inst✝¹⁰ : TopologicalSpace A
inst✝⁹ : Ring A
inst✝⁸ : StarRing A
inst✝⁷ : Algebra S A
inst✝⁶ : ContinuousFunctionalCalculus S q
inst✝⁵ : Algebra R S
inst✝⁴ : Algebra R A
inst✝³ : IsScalarTower R S A
inst✝² : StarModule R S
inst✝¹ : ContinuousSMul R S
inst✝ : CompleteSpace R
a : A
φ : C(↑(spectrum S a), S) →⋆ₐ[S] A
f : C(S, R)
h : SpectrumRestricts a ⇑f
h_id : φ (ContinuousMap.restrict (spectrum S a) (ContinuousMap.id S)) = a
⊢ φ
      ({ toFun := ⇑(StarAlgHom.ofId R S), continuous_toFun := ⋯ }.comp
        ((ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)).comp
          { toFun := Subtype.map ⇑f ⋯, continuous_toFun := ⋯ })) =
    a
state_after: case h.e'_2.h.e'_6
R : Type u_1
S : Type u_2
A : Type u_3
p q : A → Prop
inst✝²⁰ : Semifield R
inst✝¹⁹ : StarRing R
inst✝¹⁸ : MetricSpace R
inst✝¹⁷ : TopologicalSemiring R
inst✝¹⁶ : ContinuousStar R
inst✝¹⁵ : Semifield S
inst✝¹⁴ : StarRing S
inst✝¹³ : MetricSpace S
inst✝¹² : TopologicalSemiring S
inst✝¹¹ : ContinuousStar S
inst✝¹⁰ : TopologicalSpace A
inst✝⁹ : Ring A
inst✝⁸ : StarRing A
inst✝⁷ : Algebra S A
inst✝⁶ : ContinuousFunctionalCalculus S q
inst✝⁵ : Algebra R S
inst✝⁴ : Algebra R A
inst✝³ : IsScalarTower R S A
inst✝² : StarModule R S
inst✝¹ : ContinuousSMul R S
inst✝ : CompleteSpace R
a : A
φ : C(↑(spectrum S a), S) →⋆ₐ[S] A
f : C(S, R)
h : SpectrumRestricts a ⇑f
h_id : φ (ContinuousMap.restrict (spectrum S a) (ContinuousMap.id S)) = a
⊢ { toFun := ⇑(StarAlgHom.ofId R S), continuous_toFun := ⋯ }.comp
      ((ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)).comp
        { toFun := Subtype.map ⇑f ⋯, continuous_toFun := ⋯ }) =
    ContinuousMap.restrict (spectrum S a) (ContinuousMap.id S)
tactic: convert h_id
state_before: case h.e'_2.h.e'_6
R : Type u_1
S : Type u_2
A : Type u_3
p q : A → Prop
inst✝²⁰ : Semifield R
inst✝¹⁹ : StarRing R
inst✝¹⁸ : MetricSpace R
inst✝¹⁷ : TopologicalSemiring R
inst✝¹⁶ : ContinuousStar R
inst✝¹⁵ : Semifield S
inst✝¹⁴ : StarRing S
inst✝¹³ : MetricSpace S
inst✝¹² : TopologicalSemiring S
inst✝¹¹ : ContinuousStar S
inst✝¹⁰ : TopologicalSpace A
inst✝⁹ : Ring A
inst✝⁸ : StarRing A
inst✝⁷ : Algebra S A
inst✝⁶ : ContinuousFunctionalCalculus S q
inst✝⁵ : Algebra R S
inst✝⁴ : Algebra R A
inst✝³ : IsScalarTower R S A
inst✝² : StarModule R S
inst✝¹ : ContinuousSMul R S
inst✝ : CompleteSpace R
a : A
φ : C(↑(spectrum S a), S) →⋆ₐ[S] A
f : C(S, R)
h : SpectrumRestricts a ⇑f
h_id : φ (ContinuousMap.restrict (spectrum S a) (ContinuousMap.id S)) = a
⊢ { toFun := ⇑(StarAlgHom.ofId R S), continuous_toFun := ⋯ }.comp
      ((ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)).comp
        { toFun := Subtype.map ⇑f ⋯, continuous_toFun := ⋯ }) =
    ContinuousMap.restrict (spectrum S a) (ContinuousMap.id S)
state_after: case h.e'_2.h.e'_6.h
R : Type u_1
S : Type u_2
A : Type u_3
p q : A → Prop
inst✝²⁰ : Semifield R
inst✝¹⁹ : StarRing R
inst✝¹⁸ : MetricSpace R
inst✝¹⁷ : TopologicalSemiring R
inst✝¹⁶ : ContinuousStar R
inst✝¹⁵ : Semifield S
inst✝¹⁴ : StarRing S
inst✝¹³ : MetricSpace S
inst✝¹² : TopologicalSemiring S
inst✝¹¹ : ContinuousStar S
inst✝¹⁰ : TopologicalSpace A
inst✝⁹ : Ring A
inst✝⁸ : StarRing A
inst✝⁷ : Algebra S A
inst✝⁶ : ContinuousFunctionalCalculus S q
inst✝⁵ : Algebra R S
inst✝⁴ : Algebra R A
inst✝³ : IsScalarTower R S A
inst✝² : StarModule R S
inst✝¹ : ContinuousSMul R S
inst✝ : CompleteSpace R
a : A
φ : C(↑(spectrum S a), S) →⋆ₐ[S] A
f : C(S, R)
h : SpectrumRestricts a ⇑f
h_id : φ (ContinuousMap.restrict (spectrum S a) (ContinuousMap.id S)) = a
x : ↑(spectrum S a)
⊢ ({ toFun := ⇑(StarAlgHom.ofId R S), continuous_toFun := ⋯ }.comp
        ((ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)).comp
          { toFun := Subtype.map ⇑f ⋯, continuous_toFun := ⋯ }))
      x =
    (ContinuousMap.restrict (spectrum S a) (ContinuousMap.id S)) x
tactic: ext x
state_before: case h.e'_2.h.e'_6.h
R : Type u_1
S : Type u_2
A : Type u_3
p q : A → Prop
inst✝²⁰ : Semifield R
inst✝¹⁹ : StarRing R
inst✝¹⁸ : MetricSpace R
inst✝¹⁷ : TopologicalSemiring R
inst✝¹⁶ : ContinuousStar R
inst✝¹⁵ : Semifield S
inst✝¹⁴ : StarRing S
inst✝¹³ : MetricSpace S
inst✝¹² : TopologicalSemiring S
inst✝¹¹ : ContinuousStar S
inst✝¹⁰ : TopologicalSpace A
inst✝⁹ : Ring A
inst✝⁸ : StarRing A
inst✝⁷ : Algebra S A
inst✝⁶ : ContinuousFunctionalCalculus S q
inst✝⁵ : Algebra R S
inst✝⁴ : Algebra R A
inst✝³ : IsScalarTower R S A
inst✝² : StarModule R S
inst✝¹ : ContinuousSMul R S
inst✝ : CompleteSpace R
a : A
φ : C(↑(spectrum S a), S) →⋆ₐ[S] A
f : C(S, R)
h : SpectrumRestricts a ⇑f
h_id : φ (ContinuousMap.restrict (spectrum S a) (ContinuousMap.id S)) = a
x : ↑(spectrum S a)
⊢ ({ toFun := ⇑(StarAlgHom.ofId R S), continuous_toFun := ⋯ }.comp
        ((ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)).comp
          { toFun := Subtype.map ⇑f ⋯, continuous_toFun := ⋯ }))
      x =
    (ContinuousMap.restrict (spectrum S a) (ContinuousMap.id S)) x
state_after: no goals
tactic: exact h.rightInvOn x.2