Theorem: cfc_zpow
File: Mathlib/Topology/ContinuousFunction/FunctionalCalculus.lean

tactic: cases n with
| ofNat n => simpa using cfc_pow_id (a : A) n
| negSucc n =>
  simp only [zpow_negSucc, ← inv_pow, Units.val_pow_eq_pow_val]
  have := cfc_pow (fun x ↦ x⁻¹ : R → R) (n + 1) (a : A)
  exact this.trans <| congr($(cfc_inv_id a) ^ (n + 1))
state_before: R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹¹ : Semifield R
inst✝¹⁰ : StarRing R
inst✝⁹ : MetricSpace R
inst✝⁸ : TopologicalSemiring R
inst✝⁷ : ContinuousStar R
inst✝⁶ : HasContinuousInv₀ R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f : R → R
a✝ : A
inst✝ : UniqueContinuousFunctionalCalculus R A
a : Aˣ
n : ℤ
ha : autoParam (p ↑a) _auto✝
⊢ cfc (fun x => x ^ n) ↑a = ↑(a ^ n)
state_after: no goals

tactic: simpa using cfc_pow_id (a : A) n
state_before: case ofNat
R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹¹ : Semifield R
inst✝¹⁰ : StarRing R
inst✝⁹ : MetricSpace R
inst✝⁸ : TopologicalSemiring R
inst✝⁷ : ContinuousStar R
inst✝⁶ : HasContinuousInv₀ R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f : R → R
a✝ : A
inst✝ : UniqueContinuousFunctionalCalculus R A
a : Aˣ
ha : autoParam (p ↑a) _auto✝
n : ℕ
⊢ cfc (fun x => x ^ Int.ofNat n) ↑a = ↑(a ^ Int.ofNat n)
state_after: no goals

tactic: simp only [zpow_negSucc, ← inv_pow, Units.val_pow_eq_pow_val]
state_before: case negSucc
R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹¹ : Semifield R
inst✝¹⁰ : StarRing R
inst✝⁹ : MetricSpace R
inst✝⁸ : TopologicalSemiring R
inst✝⁷ : ContinuousStar R
inst✝⁶ : HasContinuousInv₀ R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f : R → R
a✝ : A
inst✝ : UniqueContinuousFunctionalCalculus R A
a : Aˣ
ha : autoParam (p ↑a) _auto✝
n : ℕ
⊢ cfc (fun x => x ^ Int.negSucc n) ↑a = ↑(a ^ Int.negSucc n)
state_after: case negSucc
R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹¹ : Semifield R
inst✝¹⁰ : StarRing R
inst✝⁹ : MetricSpace R
inst✝⁸ : TopologicalSemiring R
inst✝⁷ : ContinuousStar R
inst✝⁶ : HasContinuousInv₀ R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f : R → R
a✝ : A
inst✝ : UniqueContinuousFunctionalCalculus R A
a : Aˣ
ha : autoParam (p ↑a) _auto✝
n : ℕ
⊢ cfc (fun x => x⁻¹ ^ (n + 1)) ↑a = ↑a⁻¹ ^ (n + 1)

tactic: have := cfc_pow (fun x ↦ x⁻¹ : R → R) (n + 1) (a : A)
state_before: case negSucc
R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹¹ : Semifield R
inst✝¹⁰ : StarRing R
inst✝⁹ : MetricSpace R
inst✝⁸ : TopologicalSemiring R
inst✝⁷ : ContinuousStar R
inst✝⁶ : HasContinuousInv₀ R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f : R → R
a✝ : A
inst✝ : UniqueContinuousFunctionalCalculus R A
a : Aˣ
ha : autoParam (p ↑a) _auto✝
n : ℕ
⊢ cfc (fun x => x⁻¹ ^ (n + 1)) ↑a = ↑a⁻¹ ^ (n + 1)
state_after: case negSucc
R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹¹ : Semifield R
inst✝¹⁰ : StarRing R
inst✝⁹ : MetricSpace R
inst✝⁸ : TopologicalSemiring R
inst✝⁷ : ContinuousStar R
inst✝⁶ : HasContinuousInv₀ R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f : R → R
a✝ : A
inst✝ : UniqueContinuousFunctionalCalculus R A
a : Aˣ
ha : autoParam (p ↑a) _auto✝
n : ℕ
this : cfc (fun x => x⁻¹ ^ (n + 1)) ↑a = cfc (fun x => x⁻¹) ↑a ^ (n + 1)
⊢ cfc (fun x => x⁻¹ ^ (n + 1)) ↑a = ↑a⁻¹ ^ (n + 1)

tactic: exact this.trans <| congr($(cfc_inv_id a) ^ (n + 1))
state_before: case negSucc
R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹¹ : Semifield R
inst✝¹⁰ : StarRing R
inst✝⁹ : MetricSpace R
inst✝⁸ : TopologicalSemiring R
inst✝⁷ : ContinuousStar R
inst✝⁶ : HasContinuousInv₀ R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f : R → R
a✝ : A
inst✝ : UniqueContinuousFunctionalCalculus R A
a : Aˣ
ha : autoParam (p ↑a) _auto✝
n : ℕ
this : cfc (fun x => x⁻¹ ^ (n + 1)) ↑a = cfc (fun x => x⁻¹) ↑a ^ (n + 1)
⊢ cfc (fun x => x⁻¹ ^ (n + 1)) ↑a = ↑a⁻¹ ^ (n + 1)
state_after: no goals