Theorem: AnalyticAt.aeval_polynomial
File: Mathlib/Analysis/Analytic/Polynomial.lean

tactic: refine p.induction_on (fun k ↦ ?_) (fun p q hp hq ↦ ?_) fun p i hp ↦ ?_
state_before: 𝕜 : Type u_1
E : Type u_2
A : Type u_3
B : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : CommSemiring A
z : E
s : Set E
inst✝² : NormedRing B
inst✝¹ : NormedAlgebra 𝕜 B
inst✝ : Algebra A B
f : E → B
hf : AnalyticAt 𝕜 f z
p : A[X]
⊢ AnalyticAt 𝕜 (fun x => (aeval (f x)) p) z
state_after: case refine_1
𝕜 : Type u_1
E : Type u_2
A : Type u_3
B : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : CommSemiring A
z : E
s : Set E
inst✝² : NormedRing B
inst✝¹ : NormedAlgebra 𝕜 B
inst✝ : Algebra A B
f : E → B
hf : AnalyticAt 𝕜 f z
p : A[X]
k : A
⊢ AnalyticAt 𝕜 (fun x => (aeval (f x)) (C k)) z

case refine_2
𝕜 : Type u_1
E : Type u_2
A : Type u_3
B : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : CommSemiring A
z : E
s : Set E
inst✝² : NormedRing B
inst✝¹ : NormedAlgebra 𝕜 B
inst✝ : Algebra A B
f : E → B
hf : AnalyticAt 𝕜 f z
p✝ p q : A[X]
hp : AnalyticAt 𝕜 (fun x => (aeval (f x)) p) z
hq : AnalyticAt 𝕜 (fun x => (aeval (f x)) q) z
⊢ AnalyticAt 𝕜 (fun x => (aeval (f x)) (p + q)) z

case refine_3
𝕜 : Type u_1
E : Type u_2
A : Type u_3
B : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : CommSemiring A
z : E
s : Set E
inst✝² : NormedRing B
inst✝¹ : NormedAlgebra 𝕜 B
inst✝ : Algebra A B
f : E → B
hf : AnalyticAt 𝕜 f z
p✝ : A[X]
p : ℕ
i : A
hp : AnalyticAt 𝕜 (fun x => (aeval (f x)) (C i * X ^ p)) z
⊢ AnalyticAt 𝕜 (fun x => (aeval (f x)) (C i * X ^ (p + 1))) z

tactic: simp_rw [aeval_C]
state_before: case refine_1
𝕜 : Type u_1
E : Type u_2
A : Type u_3
B : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : CommSemiring A
z : E
s : Set E
inst✝² : NormedRing B
inst✝¹ : NormedAlgebra 𝕜 B
inst✝ : Algebra A B
f : E → B
hf : AnalyticAt 𝕜 f z
p : A[X]
k : A
⊢ AnalyticAt 𝕜 (fun x => (aeval (f x)) (C k)) z
state_after: case refine_1
𝕜 : Type u_1
E : Type u_2
A : Type u_3
B : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : CommSemiring A
z : E
s : Set E
inst✝² : NormedRing B
inst✝¹ : NormedAlgebra 𝕜 B
inst✝ : Algebra A B
f : E → B
hf : AnalyticAt 𝕜 f z
p : A[X]
k : A
⊢ AnalyticAt 𝕜 (fun x => (algebraMap A B) k) z

tactic: apply analyticAt_const
state_before: case refine_1
𝕜 : Type u_1
E : Type u_2
A : Type u_3
B : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : CommSemiring A
z : E
s : Set E
inst✝² : NormedRing B
inst✝¹ : NormedAlgebra 𝕜 B
inst✝ : Algebra A B
f : E → B
hf : AnalyticAt 𝕜 f z
p : A[X]
k : A
⊢ AnalyticAt 𝕜 (fun x => (algebraMap A B) k) z
state_after: no goals

tactic: simp_rw [aeval_add]
state_before: case refine_2
𝕜 : Type u_1
E : Type u_2
A : Type u_3
B : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : CommSemiring A
z : E
s : Set E
inst✝² : NormedRing B
inst✝¹ : NormedAlgebra 𝕜 B
inst✝ : Algebra A B
f : E → B
hf : AnalyticAt 𝕜 f z
p✝ p q : A[X]
hp : AnalyticAt 𝕜 (fun x => (aeval (f x)) p) z
hq : AnalyticAt 𝕜 (fun x => (aeval (f x)) q) z
⊢ AnalyticAt 𝕜 (fun x => (aeval (f x)) (p + q)) z
state_after: case refine_2
𝕜 : Type u_1
E : Type u_2
A : Type u_3
B : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : CommSemiring A
z : E
s : Set E
inst✝² : NormedRing B
inst✝¹ : NormedAlgebra 𝕜 B
inst✝ : Algebra A B
f : E → B
hf : AnalyticAt 𝕜 f z
p✝ p q : A[X]
hp : AnalyticAt 𝕜 (fun x => (aeval (f x)) p) z
hq : AnalyticAt 𝕜 (fun x => (aeval (f x)) q) z
⊢ AnalyticAt 𝕜 (fun x => (aeval (f x)) p + (aeval (f x)) q) z

tactic: exact hp.add hq
state_before: case refine_2
𝕜 : Type u_1
E : Type u_2
A : Type u_3
B : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : CommSemiring A
z : E
s : Set E
inst✝² : NormedRing B
inst✝¹ : NormedAlgebra 𝕜 B
inst✝ : Algebra A B
f : E → B
hf : AnalyticAt 𝕜 f z
p✝ p q : A[X]
hp : AnalyticAt 𝕜 (fun x => (aeval (f x)) p) z
hq : AnalyticAt 𝕜 (fun x => (aeval (f x)) q) z
⊢ AnalyticAt 𝕜 (fun x => (aeval (f x)) p + (aeval (f x)) q) z
state_after: no goals

tactic: convert hp.mul hf
state_before: case refine_3
𝕜 : Type u_1
E : Type u_2
A : Type u_3
B : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : CommSemiring A
z : E
s : Set E
inst✝² : NormedRing B
inst✝¹ : NormedAlgebra 𝕜 B
inst✝ : Algebra A B
f : E → B
hf : AnalyticAt 𝕜 f z
p✝ : A[X]
p : ℕ
i : A
hp : AnalyticAt 𝕜 (fun x => (aeval (f x)) (C i * X ^ p)) z
⊢ AnalyticAt 𝕜 (fun x => (aeval (f x)) (C i * X ^ (p + 1))) z
state_after: case h.e'_9.h
𝕜 : Type u_1
E : Type u_2
A : Type u_3
B : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : CommSemiring A
z : E
s : Set E
inst✝² : NormedRing B
inst✝¹ : NormedAlgebra 𝕜 B
inst✝ : Algebra A B
f : E → B
hf : AnalyticAt 𝕜 f z
p✝ : A[X]
p : ℕ
i : A
hp : AnalyticAt 𝕜 (fun x => (aeval (f x)) (C i * X ^ p)) z
x✝ : E
⊢ (aeval (f x✝)) (C i * X ^ (p + 1)) = (aeval (f x✝)) (C i * X ^ p) * f x✝

tactic: simp_rw [pow_succ, aeval_mul, ← mul_assoc, aeval_X]
state_before: case h.e'_9.h
𝕜 : Type u_1
E : Type u_2
A : Type u_3
B : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : CommSemiring A
z : E
s : Set E
inst✝² : NormedRing B
inst✝¹ : NormedAlgebra 𝕜 B
inst✝ : Algebra A B
f : E → B
hf : AnalyticAt 𝕜 f z
p✝ : A[X]
p : ℕ
i : A
hp : AnalyticAt 𝕜 (fun x => (aeval (f x)) (C i * X ^ p)) z
x✝ : E
⊢ (aeval (f x✝)) (C i * X ^ (p + 1)) = (aeval (f x✝)) (C i * X ^ p) * f x✝
state_after: no goals