Theorem: Complex.hasSum_taylorSeries_on_emetric_ball
File: Mathlib/Analysis/Complex/TaylorSeries.lean

tactic: obtain ⟨r', hzr', hr'⟩ := exists_between (EMetric.mem_ball'.mp hz)
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
⊢ HasSum (fun n => (↑n !)⁻¹ • (z - c) ^ n • iteratedDeriv n f c) (f z)
state_after: case intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
r' : ENNReal
hzr' : edist c z < r'
hr' : r' < r
⊢ HasSum (fun n => (↑n !)⁻¹ • (z - c) ^ n • iteratedDeriv n f c) (f z)

tactic: lift r' to NNReal using ne_top_of_lt hr'
state_before: case intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
r' : ENNReal
hzr' : edist c z < r'
hr' : r' < r
⊢ HasSum (fun n => (↑n !)⁻¹ • (z - c) ^ n • iteratedDeriv n f c) (f z)
state_after: case intro.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
r' : NNReal
hzr' : edist c z < ↑r'
hr' : ↑r' < r
⊢ HasSum (fun n => (↑n !)⁻¹ • (z - c) ^ n • iteratedDeriv n f c) (f z)

tactic: rw [← EMetric.mem_ball', Metric.emetric_ball_nnreal] at hzr'
state_before: case intro.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
r' : NNReal
hzr' : edist c z < ↑r'
hr' : ↑r' < r
⊢ HasSum (fun n => (↑n !)⁻¹ • (z - c) ^ n • iteratedDeriv n f c) (f z)
state_after: case intro.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
r' : NNReal
hzr' : z ∈ Metric.ball c ↑r'
hr' : ↑r' < r
⊢ HasSum (fun n => (↑n !)⁻¹ • (z - c) ^ n • iteratedDeriv n f c) (f z)

tactic: refine hasSum_taylorSeries_on_ball ?_ hzr'
state_before: case intro.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
r' : NNReal
hzr' : z ∈ Metric.ball c ↑r'
hr' : ↑r' < r
⊢ HasSum (fun n => (↑n !)⁻¹ • (z - c) ^ n • iteratedDeriv n f c) (f z)
state_after: case intro.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
r' : NNReal
hzr' : z ∈ Metric.ball c ↑r'
hr' : ↑r' < r
⊢ DifferentiableOn ℂ f (Metric.ball c ↑r')

tactic: rw [← Metric.emetric_ball_nnreal]
state_before: case intro.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
r' : NNReal
hzr' : z ∈ Metric.ball c ↑r'
hr' : ↑r' < r
⊢ DifferentiableOn ℂ f (Metric.ball c ↑r')
state_after: case intro.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
r' : NNReal
hzr' : z ∈ Metric.ball c ↑r'
hr' : ↑r' < r
⊢ DifferentiableOn ℂ f (EMetric.ball c ↑r')

tactic: exact hf.mono <| EMetric.ball_subset_ball hr'.le
state_before: case intro.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
r' : NNReal
hzr' : z ∈ Metric.ball c ↑r'
hr' : ↑r' < r
⊢ DifferentiableOn ℂ f (EMetric.ball c ↑r')
state_after: no goals