awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Lean 4 proof step from Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique (goal)
Goal:
F : Type u_1
R : Type u_2
S : Type u_3
A : Type u_4
B : Type u_5
p : A → Prop
q : B → Prop
inst : CommSemiring R
inst_1 : StarRing R
inst_2 : MetricSpace R
inst_3 : IsTopologicalSemiring R
inst_4 : ContinuousStar R
inst_5 : Ring A
inst_6 : StarRing A
inst_7 : TopologicalSpace A
inst_8 : Algebra R A
inst_9 : Ring B
inst_10 : StarRing B
inst_11 : TopologicalSpace B
inst_12 : Algebra R B
inst_13 : CommSemiring S
inst_14 : Algebra R S
inst_15 : Algebra S A
inst_16 : Algebra S B
inst_17 : IsScalarTower R S A
inst_18 : IsScalarTower R S B
inst_19 : ContinuousFunctionalCalculus R A p
inst_20 : ContinuousFunctionalCalculus R B q
inst_21 : ContinuousMap.UniqueHom R B
inst_22 : FunLike F A B
inst_23 : AlgHomClass F S A B
inst_24 : StarHomClass F A B
φ : F
f : R → R
a : A
hf : ContinuousOn f (spectrum R a)
hφ : Continuous[inst_7, inst_11] (⇑φ : (a : A) → B)
ha : p a
hφa : q ((φ : (a : A) → B) a)
ψ : A →⋆ₐ[R] B := StarAlgHom.restrictScalars R (↑φ : A →⋆ₐ[S] B)
this : Continuous[inst_7, inst_11] (⇑ψ : (a : A) → B)
h_spec : spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B) ⊆ spectrum R a
hψa : q ((ψ : (a : A) → B) a)
ι : C((↑(spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) : Type u_2), (↑(spectrum R a) : Type u_2)) :=
  { toFun := Set.inclusion (s := spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) (t := spectrum R a) h_spec,
    continuous_toFun := ⋯ }
⊢ (φ : (a : A) → B) (cfc (p := p) f a) = cfc (p := q) f ((φ : (a : A) → B) a)
have suffices : Eq (α := C((↑(spectrum R a) : Type u_2), R) →⋆ₐ[R] B) (ψ.comp (cfcHom (p := p) ha))
  (StarAlgHom.comp (cfcHom (p := q) hψa) (ContinuousMap.compStarAlgHom' R R ι))
Tactic: suffices ψ.comp (cfcHom ha) = (cfcHom hψa).comp (ContinuousMap.compStarAlgHom' R R ι) by
    have hf' : ContinuousOn f (spectrum R (ψ a)) := hf.mono h_spec
    rw [cfc_apply .., cfc_apply ..]
    congrm($(this) ⟨_, hf.restrict⟩)
-- Lean 4 proof step from Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique (goal)
Goal:
F : Type u_1
R : Type u_2
S : Type u_3
A : Type u_4
B : Type u_5
p : A → Prop
q : B → Prop
inst : CommSemiring R
inst_1 : StarRing R
inst_2 : MetricSpace R
inst_3 : IsTopologicalSemiring R
inst_4 : ContinuousStar R
inst_5 : Ring A
inst_6 : StarRing A
inst_7 : TopologicalSpace A
inst_8 : Algebra R A
inst_9 : Ring B
inst_10 : StarRing B
inst_11 : TopologicalSpace B
inst_12 : Algebra R B
inst_13 : CommSemiring S
inst_14 : Algebra R S
inst_15 : Algebra S A
inst_16 : Algebra S B
inst_17 : IsScalarTower R S A
inst_18 : IsScalarTower R S B
inst_19 : ContinuousFunctionalCalculus R A p
inst_20 : ContinuousFunctionalCalculus R B q
inst_21 : ContinuousMap.UniqueHom R B
inst_22 : FunLike F A B
inst_23 : AlgHomClass F S A B
inst_24 : StarHomClass F A B
φ : F
f : R → R
a : A
hf : ContinuousOn f (spectrum R a)
hφ : Continuous[inst_7, inst_11] (⇑φ : (a : A) → B)
ha : p a
hφa : q ((φ : (a : A) → B) a)
ψ : A →⋆ₐ[R] B := StarAlgHom.restrictScalars R (↑φ : A →⋆ₐ[S] B)
this : Continuous[inst_7, inst_11] (⇑ψ : (a : A) → B)
h_spec : spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B) ⊆ spectrum R a
hψa : q ((ψ : (a : A) → B) a)
ι : C((↑(spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) : Type u_2), (↑(spectrum R a) : Type u_2)) :=
  { toFun := Set.inclusion (s := spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) (t := spectrum R a) h_spec,
    continuous_toFun := ⋯ }
⊢ Eq (α := C((↑(spectrum R a) : Type u_2), R) →⋆ₐ[R] B) (ψ.comp (cfcHom (p := p) ha))
    (StarAlgHom.comp (cfcHom (p := q) hψa) (ContinuousMap.compStarAlgHom' R R ι))
have refine_1 : Continuous[_, inst_11] (⇑(ψ.comp (cfcHom (p := p) ha)) : (a : C((↑(spectrum R a) : Type u_2), R)) → B)
Tactic: refine ContinuousMap.UniqueHom.eq_of_continuous_of_map_id _ _ _ ?_ ?_ ?apply_id
-- Lean 4 proof step from Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique (goal)
Goal:
F : Type u_1
R : Type u_2
S : Type u_3
A : Type u_4
B : Type u_5
p : A → Prop
q : B → Prop
inst : CommSemiring R
inst_1 : StarRing R
inst_2 : MetricSpace R
inst_3 : IsTopologicalSemiring R
inst_4 : ContinuousStar R
inst_5 : Ring A
inst_6 : StarRing A
inst_7 : TopologicalSpace A
inst_8 : Algebra R A
inst_9 : Ring B
inst_10 : StarRing B
inst_11 : TopologicalSpace B
inst_12 : Algebra R B
inst_13 : CommSemiring S
inst_14 : Algebra R S
inst_15 : Algebra S A
inst_16 : Algebra S B
inst_17 : IsScalarTower R S A
inst_18 : IsScalarTower R S B
inst_19 : ContinuousFunctionalCalculus R A p
inst_20 : ContinuousFunctionalCalculus R B q
inst_21 : ContinuousMap.UniqueHom R B
inst_22 : FunLike F A B
inst_23 : AlgHomClass F S A B
inst_24 : StarHomClass F A B
φ : F
f : R → R
a : A
hf : ContinuousOn f (spectrum R a)
hφ : Continuous[inst_7, inst_11] (⇑φ : (a : A) → B)
ha : p a
hφa : q ((φ : (a : A) → B) a)
ψ : A →⋆ₐ[R] B := StarAlgHom.restrictScalars R (↑φ : A →⋆ₐ[S] B)
this : Continuous[inst_7, inst_11] (⇑ψ : (a : A) → B)
h_spec : spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B) ⊆ spectrum R a
hψa : q ((ψ : (a : A) → B) a)
ι : C((↑(spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) : Type u_2), (↑(spectrum R a) : Type u_2)) :=
  { toFun := Set.inclusion (s := spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) (t := spectrum R a) h_spec,
    continuous_toFun := ⋯ }
refine_1 : Continuous[_, inst_11] (⇑(ψ.comp (cfcHom (p := p) ha)) : (a : C((↑(spectrum R a) : Type u_2), R)) → B)
⊢ Eq (α := C((↑(spectrum R a) : Type u_2), R) →⋆ₐ[R] B) (ψ.comp (cfcHom (p := p) ha))
    (StarAlgHom.comp (cfcHom (p := q) hψa) (ContinuousMap.compStarAlgHom' R R ι))
have refine_2 : Continuous[_, inst_11]
  (⇑(StarAlgHom.comp (cfcHom (p := q) hψa) (ContinuousMap.compStarAlgHom' R R ι)) :
    (a : C((↑(spectrum R a) : Type u_2), R)) → B)
Tactic: refine ContinuousMap.UniqueHom.eq_of_continuous_of_map_id _ _ _ ?_ ?_ ?apply_id
-- Lean 4 proof step from Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique (goal)
Goal:
F : Type u_1
R : Type u_2
S : Type u_3
A : Type u_4
B : Type u_5
p : A → Prop
q : B → Prop
inst : CommSemiring R
inst_1 : StarRing R
inst_2 : MetricSpace R
inst_3 : IsTopologicalSemiring R
inst_4 : ContinuousStar R
inst_5 : Ring A
inst_6 : StarRing A
inst_7 : TopologicalSpace A
inst_8 : Algebra R A
inst_9 : Ring B
inst_10 : StarRing B
inst_11 : TopologicalSpace B
inst_12 : Algebra R B
inst_13 : CommSemiring S
inst_14 : Algebra R S
inst_15 : Algebra S A
inst_16 : Algebra S B
inst_17 : IsScalarTower R S A
inst_18 : IsScalarTower R S B
inst_19 : ContinuousFunctionalCalculus R A p
inst_20 : ContinuousFunctionalCalculus R B q
inst_21 : ContinuousMap.UniqueHom R B
inst_22 : FunLike F A B
inst_23 : AlgHomClass F S A B
inst_24 : StarHomClass F A B
φ : F
f : R → R
a : A
hf : ContinuousOn f (spectrum R a)
hφ : Continuous[inst_7, inst_11] (⇑φ : (a : A) → B)
ha : p a
hφa : q ((φ : (a : A) → B) a)
ψ : A →⋆ₐ[R] B := StarAlgHom.restrictScalars R (↑φ : A →⋆ₐ[S] B)
this : Continuous[inst_7, inst_11] (⇑ψ : (a : A) → B)
h_spec : spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B) ⊆ spectrum R a
hψa : q ((ψ : (a : A) → B) a)
ι : C((↑(spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) : Type u_2), (↑(spectrum R a) : Type u_2)) :=
  { toFun := Set.inclusion (s := spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) (t := spectrum R a) h_spec,
    continuous_toFun := ⋯ }
refine_1 : Continuous[_, inst_11] (⇑(ψ.comp (cfcHom (p := p) ha)) : (a : C((↑(spectrum R a) : Type u_2), R)) → B)
refine_2 :
  Continuous[_, inst_11]
    (⇑(StarAlgHom.comp (cfcHom (p := q) hψa) (ContinuousMap.compStarAlgHom' R R ι)) :
      (a : C((↑(spectrum R a) : Type u_2), R)) → B)
⊢ Eq (α := C((↑(spectrum R a) : Type u_2), R) →⋆ₐ[R] B) (ψ.comp (cfcHom (p := p) ha))
    (StarAlgHom.comp (cfcHom (p := q) hψa) (ContinuousMap.compStarAlgHom' R R ι))
have refine : Eq.{u_5 + 1} (α := B)
  ((ψ.comp (cfcHom (p := p) ha) : (a : C((↑(spectrum R a) : Type u_2), R)) → B)
      (ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)) :
    B)
  ((StarAlgHom.comp (cfcHom (p := q) hψa) (ContinuousMap.compStarAlgHom' R R ι) :
        (a : C((↑(spectrum R a) : Type u_2), R)) → B)
      (ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)) :
    B)
Tactic: refine ContinuousMap.UniqueHom.eq_of_continuous_of_map_id _ _ _ ?_ ?_ ?apply_id
-- Lean 4 proof step from Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique (goal)
Goal:
F : Type u_1
R : Type u_2
S : Type u_3
A : Type u_4
B : Type u_5
p : A → Prop
q : B → Prop
inst : CommSemiring R
inst_1 : StarRing R
inst_2 : MetricSpace R
inst_3 : IsTopologicalSemiring R
inst_4 : ContinuousStar R
inst_5 : Ring A
inst_6 : StarRing A
inst_7 : TopologicalSpace A
inst_8 : Algebra R A
inst_9 : Ring B
inst_10 : StarRing B
inst_11 : TopologicalSpace B
inst_12 : Algebra R B
inst_13 : CommSemiring S
inst_14 : Algebra R S
inst_15 : Algebra S A
inst_16 : Algebra S B
inst_17 : IsScalarTower R S A
inst_18 : IsScalarTower R S B
inst_19 : ContinuousFunctionalCalculus R A p
inst_20 : ContinuousFunctionalCalculus R B q
inst_21 : ContinuousMap.UniqueHom R B
inst_22 : FunLike F A B
inst_23 : AlgHomClass F S A B
inst_24 : StarHomClass F A B
φ : F
f : R → R
a : A
hf : ContinuousOn f (spectrum R a)
hφ : Continuous[inst_7, inst_11] (⇑φ : (a : A) → B)
ha : p a
hφa : q ((φ : (a : A) → B) a)
ψ : A →⋆ₐ[R] B := StarAlgHom.restrictScalars R (↑φ : A →⋆ₐ[S] B)
this : Continuous[inst_7, inst_11] (⇑ψ : (a : A) → B)
h_spec : spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B) ⊆ spectrum R a
hψa : q ((ψ : (a : A) → B) a)
ι : C((↑(spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) : Type u_2), (↑(spectrum R a) : Type u_2)) :=
  { toFun := Set.inclusion (s := spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) (t := spectrum R a) h_spec,
    continuous_toFun := ⋯ }
⊢ Eq.{u_5 + 1} (α := B)
    ((ψ.comp (cfcHom (p := p) ha) : (a : C((↑(spectrum R a) : Type u_2), R)) → B)
        (ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)) :
      B)
    ((StarAlgHom.comp (cfcHom (p := q) hψa) (ContinuousMap.compStarAlgHom' R R ι) :
          (a : C((↑(spectrum R a) : Type u_2), R)) → B)
        (ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)) :
      B)
have trans : Eq.{u_5 + 1} (α := B)
  ((ψ.comp (cfcHom (p := p) ha) : (a : C((↑(spectrum R a) : Type u_2), R)) → B)
      (ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)) :
    B)
  ((cfcHom (p := q) hψa : (a : C((↑(spectrum R ((ψ : (a : A) → B) a)) : Type u_2), R)) → B)
      (ContinuousMap.restrict (spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) (ContinuousMap.id R)) :
    B)
Tactic: trans cfcHom hψa (.restrict (spectrum R (ψ a)) (.id R))
-- Lean 4 proof step from Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique (goal)
Goal:
F : Type u_1
R : Type u_2
S : Type u_3
A : Type u_4
B : Type u_5
p : A → Prop
q : B → Prop
inst : CommSemiring R
inst_1 : StarRing R
inst_2 : MetricSpace R
inst_3 : IsTopologicalSemiring R
inst_4 : ContinuousStar R
inst_5 : Ring A
inst_6 : StarRing A
inst_7 : TopologicalSpace A
inst_8 : Algebra R A
inst_9 : Ring B
inst_10 : StarRing B
inst_11 : TopologicalSpace B
inst_12 : Algebra R B
inst_13 : CommSemiring S
inst_14 : Algebra R S
inst_15 : Algebra S A
inst_16 : Algebra S B
inst_17 : IsScalarTower R S A
inst_18 : IsScalarTower R S B
inst_19 : ContinuousFunctionalCalculus R A p
inst_20 : ContinuousFunctionalCalculus R B q
inst_21 : ContinuousMap.UniqueHom R B
inst_22 : FunLike F A B
inst_23 : AlgHomClass F S A B
inst_24 : StarHomClass F A B
φ : F
f : R → R
a : A
hf : ContinuousOn f (spectrum R a)
hφ : Continuous[inst_7, inst_11] (⇑φ : (a : A) → B)
ha : p a
hφa : q ((φ : (a : A) → B) a)
ψ : A →⋆ₐ[R] B := StarAlgHom.restrictScalars R (↑φ : A →⋆ₐ[S] B)
this : Continuous[inst_7, inst_11] (⇑ψ : (a : A) → B)
h_spec : spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B) ⊆ spectrum R a
hψa : q ((ψ : (a : A) → B) a)
ι : C((↑(spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) : Type u_2), (↑(spectrum R a) : Type u_2)) :=
  { toFun := Set.inclusion (s := spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) (t := spectrum R a) h_spec,
    continuous_toFun := ⋯ }
trans :
  Eq.{u_5 + 1} (α := B)
    ((ψ.comp (cfcHom (p := p) ha) : (a : C((↑(spectrum R a) : Type u_2), R)) → B)
        (ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)) :
      B)
    ((cfcHom (p := q) hψa : (a : C((↑(spectrum R ((ψ : (a : A) → B) a)) : Type u_2), R)) → B)
        (ContinuousMap.restrict (spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) (ContinuousMap.id R)) :
      B)
⊢ Eq.{u_5 + 1} (α := B)
    ((ψ.comp (cfcHom (p := p) ha) : (a : C((↑(spectrum R a) : Type u_2), R)) → B)
        (ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)) :
      B)
    ((StarAlgHom.comp (cfcHom (p := q) hψa) (ContinuousMap.compStarAlgHom' R R ι) :
          (a : C((↑(spectrum R a) : Type u_2), R)) → B)
        (ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)) :
      B)
have trans₁ : Eq.{u_5 + 1} (α := B)
  ((cfcHom (p := q) hψa : (a : C((↑(spectrum R ((ψ : (a : A) → B) a)) : Type u_2), R)) → B)
      (ContinuousMap.restrict (spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) (ContinuousMap.id R)) :
    B)
  ((StarAlgHom.comp (cfcHom (p := q) hψa) (ContinuousMap.compStarAlgHom' R R ι) :
        (a : C((↑(spectrum R a) : Type u_2), R)) → B)
      (ContinuousMap.restrict (spectrum R a) (ContinuousMap.id R)) :
    B)
Tactic: trans cfcHom hψa (.restrict (spectrum R (ψ a)) (.id R))
-- Lean 4 proof step from Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique (goal)
Goal:
F : Type u_1
R : Type u_2
S : Type u_3
A : Type u_4
B : Type u_5
p : A → Prop
q : B → Prop
inst : CommSemiring R
inst_1 : StarRing R
inst_2 : MetricSpace R
inst_3 : IsTopologicalSemiring R
inst_4 : ContinuousStar R
inst_5 : Ring A
inst_6 : StarRing A
inst_7 : TopologicalSpace A
inst_8 : Algebra R A
inst_9 : Ring B
inst_10 : StarRing B
inst_11 : TopologicalSpace B
inst_12 : Algebra R B
inst_13 : CommSemiring S
inst_14 : Algebra R S
inst_15 : Algebra S A
inst_16 : Algebra S B
inst_17 : IsScalarTower R S A
inst_18 : IsScalarTower R S B
inst_19 : ContinuousFunctionalCalculus R A p
inst_20 : ContinuousFunctionalCalculus R B q
inst_21 : ContinuousMap.UniqueHom R B
inst_22 : FunLike F A B
inst_23 : AlgHomClass F S A B
inst_24 : StarHomClass F A B
φ : F
f : R → R
a : A
hf : ContinuousOn f (spectrum R a)
hφ : Continuous[inst_7, inst_11] (⇑φ : (a : A) → B)
ha : p a
hφa : q ((φ : (a : A) → B) a)
ψ : A →⋆ₐ[R] B := StarAlgHom.restrictScalars R (↑φ : A →⋆ₐ[S] B)
this : Continuous[inst_7, inst_11] (⇑ψ : (a : A) → B)
h_spec : spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B) ⊆ spectrum R a
hψa : q ((ψ : (a : A) → B) a)
ι : C((↑(spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) : Type u_2), (↑(spectrum R a) : Type u_2)) :=
  { toFun := Set.inclusion (s := spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) (t := spectrum R a) h_spec,
    continuous_toFun := ⋯ }
⊢ Continuous[_, inst_11] (⇑(ψ.comp (cfcHom (p := p) ha)) : (a : C((↑(spectrum R a) : Type u_2), R)) → B)
have refine_1 : Continuous[_, inst_11]
  (Function.comp.{u_2 + 1, u_4 + 1, u_5 + 1} (β := A) (⇑ψ : (a : A) → B)
    (⇑(cfcHom (p := p) ha) : (a : C((↑(spectrum R a) : Type u_2), R)) → A))
Tactic: dsimp [ContinuousMap.compStarAlgHom']
-- Lean 4 proof step from Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique (goal)
Goal:
F : Type u_1
R : Type u_2
S : Type u_3
A : Type u_4
B : Type u_5
p : A → Prop
q : B → Prop
inst : CommSemiring R
inst_1 : StarRing R
inst_2 : MetricSpace R
inst_3 : IsTopologicalSemiring R
inst_4 : ContinuousStar R
inst_5 : Ring A
inst_6 : StarRing A
inst_7 : TopologicalSpace A
inst_8 : Algebra R A
inst_9 : Ring B
inst_10 : StarRing B
inst_11 : TopologicalSpace B
inst_12 : Algebra R B
inst_13 : CommSemiring S
inst_14 : Algebra R S
inst_15 : Algebra S A
inst_16 : Algebra S B
inst_17 : IsScalarTower R S A
inst_18 : IsScalarTower R S B
inst_19 : ContinuousFunctionalCalculus R A p
inst_20 : ContinuousFunctionalCalculus R B q
inst_21 : ContinuousMap.UniqueHom R B
inst_22 : FunLike F A B
inst_23 : AlgHomClass F S A B
inst_24 : StarHomClass F A B
φ : F
f : R → R
a : A
hf : ContinuousOn f (spectrum R a)
hφ : Continuous[inst_7, inst_11] (⇑φ : (a : A) → B)
ha : p a
hφa : q ((φ : (a : A) → B) a)
ψ : A →⋆ₐ[R] B := StarAlgHom.restrictScalars R (↑φ : A →⋆ₐ[S] B)
this : Continuous[inst_7, inst_11] (⇑ψ : (a : A) → B)
h_spec : spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B) ⊆ spectrum R a
hψa : q ((ψ : (a : A) → B) a)
ι : C((↑(spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) : Type u_2), (↑(spectrum R a) : Type u_2)) :=
  { toFun := Set.inclusion (s := spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) (t := spectrum R a) h_spec,
    continuous_toFun := ⋯ }
⊢ Continuous[_, inst_11]
    (⇑(StarAlgHom.comp (cfcHom (p := q) hψa) (ContinuousMap.compStarAlgHom' R R ι)) :
      (a : C((↑(spectrum R a) : Type u_2), R)) → B)
have refine_2 : Continuous[_, inst_11]
  (Function.comp (β := C((↑(spectrum.{u_2, u_5} R (A := B) ((ψ : (a : A) → B) a : B)) : Type u_2), R))
    (⇑(cfcHom (p := q) hψa) : (a : C((↑(spectrum R ((ψ : (a : A) → B) a)) : Type u_2), R)) → B)
    fun (g : C((↑(spectrum R a) : Type u_2), R)) ↦ g.comp ι)
Tactic: dsimp [ContinuousMap.compStarAlgHom']
-- Lean 4 proof step from Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unital (goal)
Goal:
R : Type u_1
A : Type u_2
p : A → Prop
inst : CommSemiring R
inst_1 : StarRing R
inst_2 : MetricSpace R
inst_3 : IsTopologicalSemiring R
inst_4 : ContinuousStar R
inst_5 : TopologicalSpace A
inst_6 : Ring A
inst_7 : StarRing A
inst_8 : Algebra R A
instCFC : ContinuousFunctionalCalculus R A p
a : A
ha : p a
inst_9 : UniqueHom R A
φ : C((↑(spectrum R a) : Type u_1), R) →⋆ₐ[R] A
hφ₁ : Continuous[_, inst_5] (⇑φ : (a : C((↑(spectrum R a) : Type u_1), R)) → A)
hφ₂ : (φ : (a : C((↑(spectrum R a) : Type u_1), R)) → A) (restrict (spectrum R a) (ContinuousMap.id R)) = a
⊢ Eq.{u_2 + 1} (α := A)
    ((cfcHom (p := p) ha : (a : C((↑(spectrum R a) : Type u_1), R)) → A)
        (restrict (spectrum R a) (ContinuousMap.id R)) :
      A)
    ((φ : (a : C((↑(spectrum R a) : Type u_1), R)) → A) (restrict (spectrum R a) (ContinuousMap.id R)) : A)
have rw : a = (φ : (a : C((↑(spectrum R a) : Type u_1), R)) → A) (restrict (spectrum R a) (ContinuousMap.id R))
Tactic: rw [cfcHom_id ha, hφ₂]
-- Lean 4 proof step from Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unital (goal)
Goal:
R : Type u_1
A : Type u_2
p : A → Prop
inst : CommSemiring R
inst_1 : StarRing R
inst_2 : MetricSpace R
inst_3 : IsTopologicalSemiring R
inst_4 : ContinuousStar R
inst_5 : TopologicalSpace A
inst_6 : Ring A
inst_7 : StarRing A
inst_8 : Algebra R A
instCFC : ContinuousFunctionalCalculus R A p
a : A
ha : p a
inst_9 : UniqueHom R A
φ : C((↑(spectrum R a) : Type u_1), R) →⋆ₐ[R] A
hφ₁ : Continuous[_, inst_5] (⇑φ : (a : C((↑(spectrum R a) : Type u_1), R)) → A)
hφ₂ : (φ : (a : C((↑(spectrum R a) : Type u_1), R)) → A) (restrict (spectrum R a) (ContinuousMap.id R)) = a
rw : a = (φ : (a : C((↑(spectrum R a) : Type u_1), R)) → A) (restrict (spectrum R a) (ContinuousMap.id R))
⊢ Eq.{u_2 + 1} (α := A)
    ((cfcHom (p := p) ha : (a : C((↑(spectrum R a) : Type u_1), R)) → A)
        (restrict (spectrum R a) (ContinuousMap.id R)) :
      A)
    ((φ : (a : C((↑(spectrum R a) : Type u_1), R)) → A) (restrict (spectrum R a) (ContinuousMap.id R)) : A)
have rw₁ : a = a
Tactic: rw [cfcHom_id ha, hφ₂]
-- Lean 4 proof step from Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unital (goal)
Goal:
R : Type u_1
A : Type u_2
p : A → Prop
inst : CommSemiring R
inst_1 : StarRing R
inst_2 : MetricSpace R
inst_3 : IsTopologicalSemiring R
inst_4 : ContinuousStar R
inst_5 : TopologicalSpace A
inst_6 : Ring A
inst_7 : StarRing A
inst_8 : Algebra R A
instCFC : ContinuousFunctionalCalculus R A p
a : A
ha : p a
inst_9 : UniqueHom R A
f : C((↑(spectrum R a) : Type u_1), R)
f' :
  C((↑(spectrum R a) : Type u_1),
    (↑(spectrum.{u_1, u_2} R (A := A) ((cfcHom (p := p) ha : (a : C((↑(spectrum R a) : Type u_1), R)) → A) f : A)) :
      Type u_1))
hff' :
  ∀ (x : (↑(spectrum R a) : Type u_1)),
    Eq (α := R) ((f : (a : (↑(spectrum R a) : Type u_1)) → R) x : R)
      ((↑((f' :
                (a_1 : (↑(spectrum R a) : Type u_1)) →
                  (↑(spectrum R ((cfcHom ha : (a : C((↑(spectrum R a) : Type u_1), R)) → A) f)) : Type u_1))
              x) :
          R) :
        R)
g :
  C((↑(spectrum.{u_1, u_2} R (A := A) ((cfcHom (p := p) ha : (a : C((↑(spectrum R a) : Type u_1), R)) → A) f : A)) :
      Type u_1),
    R)
φ : C((↑(spectrum.{u_1, u_2} R (A := A) ((cfcHom (p := p) ha : (a : C((↑(spectrum R a) : Type u_1), R)) → A) f : A)) :
      Type u_1),
    R) →⋆ₐ[R]
  A :=
  StarAlgHom.comp (cfcHom (p := p) ha) (compStarAlgHom' R R f')
⊢ Eq.{u_2 + 1} (α := A) ((cfcHom (p := p) ha : (a : C((↑(spectrum R a) : Type u_1), R)) → A) (g.comp f') : A)
    ((cfcHom (p := p) ⋯ :
          (a : C((↑(spectrum R ((cfcHom ha : (a : C((↑(spectrum R a) : Type u_1), R)) → A) f)) : Type u_1), R)) → A)
        g :
      A)
have suffices : cfcHom (p := p) sorry = φ
Tactic: suffices cfcHom (cfcHom_predicate ha f) = φ from DFunLike.congr_fun this.symm g
-- Lean 4 proof step from Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unital (goal)
Goal:
R : Type u_1
A : Type u_2
p : A → Prop
inst : CommSemiring R
inst_1 : StarRing R
inst_2 : MetricSpace R
inst_3 : IsTopologicalSemiring R
inst_4 : ContinuousStar R
inst_5 : TopologicalSpace A
inst_6 : Ring A
inst_7 : StarRing A
inst_8 : Algebra R A
instCFC : ContinuousFunctionalCalculus R A p
a : A
ha : p a
inst_9 : UniqueHom R A
f : C((↑(spectrum R a) : Type u_1), R)
f' :
  C((↑(spectrum R a) : Type u_1),
    (↑(spectrum.{u_1, u_2} R (A := A) ((cfcHom (p := p) ha : (a : C((↑(spectrum R a) : Type u_1), R)) → A) f : A)) :
      Type u_1))
hff' :
  ∀ (x : (↑(spectrum R a) : Type u_1)),
    Eq (α := R) ((f : (a : (↑(spectrum R a) : Type u_1)) → R) x : R)
      ((↑((f' :
                (a_1 : (↑(spectrum R a) : Type u_1)) →
                  (↑(spectrum R ((cfcHom ha : (a : C((↑(spectrum R a) : Type u_1), R)) → A) f)) : Type u_1))
              x) :
          R) :
        R)
g :
  C((↑(spectrum.{u_1, u_2} R (A := A) ((cfcHom (p := p) ha : (a : C((↑(spectrum R a) : Type u_1), R)) → A) f : A)) :
      Type u_1),
    R)
φ : C((↑(spectrum.{u_1, u_2} R (A := A) ((cfcHom (p := p) ha : (a : C((↑(spectrum R a) : Type u_1), R)) → A) f : A)) :
      Type u_1),
    R) →⋆ₐ[R]
  A :=
  StarAlgHom.comp (cfcHom (p := p) ha) (compStarAlgHom' R R f')
⊢ cfcHom (p := p) ⋯ = φ
have refine_1 : Continuous[_, inst_5]
  (⇑φ : (a : C((↑(spectrum R ((cfcHom ha : (a : C((↑(spectrum R a) : Type u_1), R)) → A) f)) : Type u_1), R)) → A)
Tactic: refine cfcHom_eq_of_continuous_of_map_id (cfcHom_predicate ha f) φ ?_ ?_