Theorem: SpectrumRestricts.cfc_eq_restrict
File: Mathlib/Analysis/NormedSpace/Star/ContinuousFunctionalCalculus/Restrict.lean

tactic: by_cases hg : ContinuousOn g (spectrum R a)
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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
⊢ cfc g a = cfc (fun x => (algebraMap R S) (g (f x))) a
state_after: case pos
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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ContinuousOn g (spectrum R a)
⊢ cfc g a = cfc (fun x => (algebraMap R S) (g (f x))) a

case neg
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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ¬ContinuousOn g (spectrum R a)
⊢ cfc g a = cfc (fun x => (algebraMap R S) (g (f x))) a

tactic: rw [cfc_apply g a, cfcHom_eq_restrict f halg hpa hqa h, SpectrumRestricts.starAlgHom_apply,
  cfcHom_eq_cfc_extend 0]
state_before: case pos
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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ContinuousOn g (spectrum R a)
⊢ cfc g a = cfc (fun x => (algebraMap R S) (g (f x))) a
state_after: case pos
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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ContinuousOn g (spectrum R a)
⊢ cfc
      (Function.extend Subtype.val
        (⇑({ toFun := ⇑(StarAlgHom.ofId R S), continuous_toFun := ⋯ }.comp
            ({ toFun := (spectrum R a).restrict g, continuous_toFun := ⋯ }.comp
              { toFun := Subtype.map ⇑f ⋯, continuous_toFun := ⋯ })))
        0)
      a =
    cfc (fun x => (algebraMap R S) (g (f x))) a

tactic: apply cfc_congr fun x hx ↦ ?_
state_before: case pos
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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ContinuousOn g (spectrum R a)
⊢ cfc
      (Function.extend Subtype.val
        (⇑({ toFun := ⇑(StarAlgHom.ofId R S), continuous_toFun := ⋯ }.comp
            ({ toFun := (spectrum R a).restrict g, continuous_toFun := ⋯ }.comp
              { toFun := Subtype.map ⇑f ⋯, continuous_toFun := ⋯ })))
        0)
      a =
    cfc (fun x => (algebraMap R S) (g (f x))) 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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ContinuousOn g (spectrum R a)
x : S
hx : x ∈ spectrum S a
⊢ Function.extend Subtype.val
      (⇑({ toFun := ⇑(StarAlgHom.ofId R S), continuous_toFun := ⋯ }.comp
          ({ toFun := (spectrum R a).restrict g, continuous_toFun := ⋯ }.comp
            { toFun := Subtype.map ⇑f ⋯, continuous_toFun := ⋯ })))
      0 x =
    (algebraMap R S) (g (f x))

tactic: lift x to spectrum S a using hx
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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ContinuousOn g (spectrum R a)
x : S
hx : x ∈ spectrum S a
⊢ Function.extend Subtype.val
      (⇑({ toFun := ⇑(StarAlgHom.ofId R S), continuous_toFun := ⋯ }.comp
          ({ toFun := (spectrum R a).restrict g, continuous_toFun := ⋯ }.comp
            { toFun := Subtype.map ⇑f ⋯, continuous_toFun := ⋯ })))
      0 x =
    (algebraMap R S) (g (f x))
state_after: case intro
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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ContinuousOn g (spectrum R a)
x : { x // x ∈ spectrum S a }
⊢ Function.extend Subtype.val
      (⇑({ toFun := ⇑(StarAlgHom.ofId R S), continuous_toFun := ⋯ }.comp
          ({ toFun := (spectrum R a).restrict g, continuous_toFun := ⋯ }.comp
            { toFun := Subtype.map ⇑f ⋯, continuous_toFun := ⋯ })))
      0 ↑x =
    (algebraMap R S) (g (f ↑x))

tactic: simp [Function.comp, Subtype.val_injective.extend_apply]
state_before: case intro
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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ContinuousOn g (spectrum R a)
x : { x // x ∈ spectrum S a }
⊢ Function.extend Subtype.val
      (⇑({ toFun := ⇑(StarAlgHom.ofId R S), continuous_toFun := ⋯ }.comp
          ({ toFun := (spectrum R a).restrict g, continuous_toFun := ⋯ }.comp
            { toFun := Subtype.map ⇑f ⋯, continuous_toFun := ⋯ })))
      0 ↑x =
    (algebraMap R S) (g (f ↑x))
state_after: no goals

tactic: have : ¬ ContinuousOn (fun x ↦ algebraMap R S (g (f x)) : S → S) (spectrum S a) := by
  refine fun hg' ↦ hg ?_
  rw [halg.embedding.continuousOn_iff]
  simpa [halg.embedding.continuousOn_iff, Function.comp, h.left_inv _] using
    hg'.comp halg.embedding.continuous.continuousOn (fun _ : R ↦ spectrum.algebraMap_mem S)
state_before: case neg
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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ¬ContinuousOn g (spectrum R a)
⊢ cfc g a = cfc (fun x => (algebraMap R S) (g (f x))) a
state_after: case neg
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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ¬ContinuousOn g (spectrum R a)
this : ¬ContinuousOn (fun x => (algebraMap R S) (g (f x))) (spectrum S a)
⊢ cfc g a = cfc (fun x => (algebraMap R S) (g (f x))) a

tactic: rw [cfc_apply_of_not_continuousOn a hg, cfc_apply_of_not_continuousOn a this]
state_before: case neg
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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ¬ContinuousOn g (spectrum R a)
this : ¬ContinuousOn (fun x => (algebraMap R S) (g (f x))) (spectrum S a)
⊢ cfc g a = cfc (fun x => (algebraMap R S) (g (f x))) a
state_after: no goals

tactic: refine fun hg' ↦ hg ?_
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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ¬ContinuousOn g (spectrum R a)
⊢ ¬ContinuousOn (fun x => (algebraMap R S) (g (f x))) (spectrum S 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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ¬ContinuousOn g (spectrum R a)
hg' : ContinuousOn (fun x => (algebraMap R S) (g (f x))) (spectrum S a)
⊢ ContinuousOn g (spectrum R a)

tactic: rw [halg.embedding.continuousOn_iff]
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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ¬ContinuousOn g (spectrum R a)
hg' : ContinuousOn (fun x => (algebraMap R S) (g (f x))) (spectrum S a)
⊢ ContinuousOn g (spectrum 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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ¬ContinuousOn g (spectrum R a)
hg' : ContinuousOn (fun x => (algebraMap R S) (g (f x))) (spectrum S a)
⊢ ContinuousOn (⇑(algebraMap R S) ∘ g) (spectrum R a)

tactic: simpa [halg.embedding.continuousOn_iff, Function.comp, h.left_inv _] using
  hg'.comp halg.embedding.continuous.continuousOn (fun _ : R ↦ spectrum.algebraMap_mem S)
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
inst✝² : ContinuousFunctionalCalculus R p
inst✝¹ : UniqueContinuousFunctionalCalculus R A
f : C(S, R)
halg : UniformEmbedding ⇑(algebraMap R S)
a : A
hpa : p a
hqa : q a
h : SpectrumRestricts a ⇑f
inst✝ : CompactSpace ↑(spectrum S a)
g : R → R
hg : ¬ContinuousOn g (spectrum R a)
hg' : ContinuousOn (fun x => (algebraMap R S) (g (f x))) (spectrum S a)
⊢ ContinuousOn (⇑(algebraMap R S) ∘ g) (spectrum R a)
state_after: no goals