11.5. HardyZeta.FiniteDifferenceFlat
theorem tendsto_scaled_boundary_value {f : ℝ → ℝ} {a : ℝ} (n : ℕ)
(hf : Tendsto (fun u : ℝ ↦ u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0))
{c : ℝ} (hc : 0 < c) :
Tendsto (fun h : ℝ ↦ h⁻¹ ^ n * f (a - c * h)) (𝓝[>] 0) (𝓝 0) := f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < c⊢ Tendsto (fun h => h⁻¹ ^ n * f (a - c * h)) (𝓝[>] 0) (𝓝 0)
f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < chm:Tendsto (fun h => c * h) (𝓝[>] 0) (𝓝[>] 0)⊢ Tendsto (fun h => h⁻¹ ^ n * f (a - c * h)) (𝓝[>] 0) (𝓝 0)
have hl := (hf.comp hm).const_mul (c ^ n) f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < chm:Tendsto (fun h => c * h) (𝓝[>] 0) (𝓝[>] 0)hl:Tendsto (fun x => c ^ n * ((fun u => u⁻¹ ^ n * f (a - u)) ∘ fun h => c * h) x) (𝓝[>] 0) (𝓝 (c ^ n * 0))⊢ Tendsto (fun h => h⁻¹ ^ n * f (a - c * h)) (𝓝[>] 0) (𝓝 0)
simp only [mul_zero] at hl f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < chm:Tendsto (fun h => c * h) (𝓝[>] 0) (𝓝[>] 0)hl:Tendsto (fun x => c ^ n * ((fun u => u⁻¹ ^ n * f (a - u)) ∘ fun h => c * h) x) (𝓝[>] 0) (𝓝 0)⊢ Tendsto (fun h => h⁻¹ ^ n * f (a - c * h)) (𝓝[>] 0) (𝓝 0)
convert hl using 1 f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < chm:Tendsto (fun h => c * h) (𝓝[>] 0) (𝓝[>] 0)hl:Tendsto (fun x => c ^ n * ((fun u => u⁻¹ ^ n * f (a - u)) ∘ fun h => c * h) x) (𝓝[>] 0) (𝓝 0)⊢ (fun h => h⁻¹ ^ n * f (a - c * h)) = fun x => c ^ n * ((fun u => u⁻¹ ^ n * f (a - u)) ∘ fun h => c * h) x
funext h f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < chm:Tendsto (fun h => c * h) (𝓝[>] 0) (𝓝[>] 0)hl:Tendsto (fun x => c ^ n * ((fun u => u⁻¹ ^ n * f (a - u)) ∘ fun h => c * h) x) (𝓝[>] 0) (𝓝 0)h:ℝ⊢ h⁻¹ ^ n * f (a - c * h) = c ^ n * ((fun u => u⁻¹ ^ n * f (a - u)) ∘ fun h => c * h) h
dsimp f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < chm:Tendsto (fun h => c * h) (𝓝[>] 0) (𝓝[>] 0)hl:Tendsto (fun x => c ^ n * ((fun u => u⁻¹ ^ n * f (a - u)) ∘ fun h => c * h) x) (𝓝[>] 0) (𝓝 0)h:ℝ⊢ h⁻¹ ^ n * f (a - c * h) = c ^ n * ((c * h)⁻¹ ^ n * f (a - c * h))
have he : c ^ n * (c * h)⁻¹ ^ n = h⁻¹ ^ n := by f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < c⊢ Tendsto (fun h => h⁻¹ ^ n * f (a - c * h)) (𝓝[>] 0) (𝓝 0)
rw [← mul_pow, f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < chm:Tendsto (fun h => c * h) (𝓝[>] 0) (𝓝[>] 0)hl:Tendsto (fun x => c ^ n * ((fun u => u⁻¹ ^ n * f (a - u)) ∘ fun h => c * h) x) (𝓝[>] 0) (𝓝 0)h:ℝ⊢ (c * (c * h)⁻¹) ^ n = h⁻¹ ^ n mul_inv_rev f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < chm:Tendsto (fun h => c * h) (𝓝[>] 0) (𝓝[>] 0)hl:Tendsto (fun x => c ^ n * ((fun u => u⁻¹ ^ n * f (a - u)) ∘ fun h => c * h) x) (𝓝[>] 0) (𝓝 0)h:ℝ⊢ (c * (h⁻¹ * c⁻¹)) ^ n = h⁻¹ ^ n] f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < chm:Tendsto (fun h => c * h) (𝓝[>] 0) (𝓝[>] 0)hl:Tendsto (fun x => c ^ n * ((fun u => u⁻¹ ^ n * f (a - u)) ∘ fun h => c * h) x) (𝓝[>] 0) (𝓝 0)h:ℝ⊢ (c * (h⁻¹ * c⁻¹)) ^ n = h⁻¹ ^ n
have he : c * (h⁻¹ * c⁻¹) = h⁻¹ := by f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < c⊢ Tendsto (fun h => h⁻¹ ^ n * f (a - c * h)) (𝓝[>] 0) (𝓝 0) field_simp f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < chm:Tendsto (fun h => c * h) (𝓝[>] 0) (𝓝[>] 0)hl:Tendsto (fun x => c ^ n * ((fun u => u⁻¹ ^ n * f (a - u)) ∘ fun h => c * h) x) (𝓝[>] 0) (𝓝 0)h:ℝhe:c * (h⁻¹ * c⁻¹) = h⁻¹⊢ (c * (h⁻¹ * c⁻¹)) ^ n = h⁻¹ ^ n
rw [he f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < chm:Tendsto (fun h => c * h) (𝓝[>] 0) (𝓝[>] 0)hl:Tendsto (fun x => c ^ n * ((fun u => u⁻¹ ^ n * f (a - u)) ∘ fun h => c * h) x) (𝓝[>] 0) (𝓝 0)h:ℝhe:c * (h⁻¹ * c⁻¹) = h⁻¹⊢ h⁻¹ ^ n = h⁻¹ ^ n] f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < chm:Tendsto (fun h => c * h) (𝓝[>] 0) (𝓝[>] 0)hl:Tendsto (fun x => c ^ n * ((fun u => u⁻¹ ^ n * f (a - u)) ∘ fun h => c * h) x) (𝓝[>] 0) (𝓝 0)h:ℝhe:c ^ n * (c * h)⁻¹ ^ n = h⁻¹ ^ n⊢ h⁻¹ ^ n * f (a - c * h) = c ^ n * ((c * h)⁻¹ ^ n * f (a - c * h))
rw [← mul_assoc, f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < chm:Tendsto (fun h => c * h) (𝓝[>] 0) (𝓝[>] 0)hl:Tendsto (fun x => c ^ n * ((fun u => u⁻¹ ^ n * f (a - u)) ∘ fun h => c * h) x) (𝓝[>] 0) (𝓝 0)h:ℝhe:c ^ n * (c * h)⁻¹ ^ n = h⁻¹ ^ n⊢ h⁻¹ ^ n * f (a - c * h) = c ^ n * (c * h)⁻¹ ^ n * f (a - c * h) he f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:0 < chm:Tendsto (fun h => c * h) (𝓝[>] 0) (𝓝[>] 0)hl:Tendsto (fun x => c ^ n * ((fun u => u⁻¹ ^ n * f (a - u)) ∘ fun h => c * h) x) (𝓝[>] 0) (𝓝 0)h:ℝhe:c ^ n * (c * h)⁻¹ ^ n = h⁻¹ ^ n⊢ h⁻¹ ^ n * f (a - c * h) = h⁻¹ ^ n * f (a - c * h)] All goals completed! 🐙
/-- All samples stay inside the boundary when the center is more than k steps away. -/theorem tendsto_scaled_iterate_modifiedDifference {f : ℝ → ℝ} {a : ℝ} (n k : ℕ)
(hf : Tendsto (fun u : ℝ ↦ u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0))
{c : ℝ} (hc : (k : ℝ) < c) :
Tendsto (fun h : ℝ ↦ h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h))
(𝓝[>] 0) (𝓝 0) := by f:ℝ → ℝa:ℝn:ℕk:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k < c⊢ Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)
induction k generalizing c with
| zero => zero f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑0 < c⊢ Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[0] f (a - c * h)) (𝓝[>] 0) (𝓝 0)
simpa using tendsto_scaled_boundary_value n hf (by f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑0 < c⊢ 0 < c simpa using hc All goals completed! 🐙)
| succ k ih => succ f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑(k + 1) < c⊢ Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k + 1] f (a - c * h)) (𝓝[>] 0) (𝓝 0)
push_cast at hc succ f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < c⊢ Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k + 1] f (a - c * h)) (𝓝[>] 0) (𝓝 0)
have hp := ih (c := c - 1) (by f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < c⊢ ↑k < c - 1 linarith All goals completed! 🐙) succ f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)⊢ Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k + 1] f (a - c * h)) (𝓝[>] 0) (𝓝 0)
have hm := ih (c := c + 1) (by f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)⊢ ↑k < c + 1 linarith All goals completed! 🐙) succ f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)⊢ Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k + 1] f (a - c * h)) (𝓝[>] 0) (𝓝 0)
have h0 := ih (c := c) (by f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)⊢ ↑k < c linarith All goals completed! 🐙) succ f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)h0:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)⊢ Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k + 1] f (a - c * h)) (𝓝[>] 0) (𝓝 0)
have hcos : Tendsto (fun h : ℝ ↦ 2 * Real.cos (h / 2)) (𝓝[>] 0) (𝓝 2) := by f:ℝ → ℝa:ℝn:ℕk:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k < c⊢ Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)
have h : ContinuousAt (fun h : ℝ ↦ 2 * Real.cos (h / 2)) 0 := by f:ℝ → ℝa:ℝn:ℕk:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k < c⊢ Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0) fun_prop f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)h0:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)h:ContinuousAt (fun h => 2 * Real.cos (h / 2)) 0⊢ Tendsto (fun h => 2 * Real.cos (h / 2)) (𝓝[>] 0) (𝓝 2)
simpa using h.tendsto.mono_left nhdsWithin_le_nhds succ f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)h0:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)hcos:Tendsto (fun h => 2 * Real.cos (h / 2)) (𝓝[>] 0) (𝓝 2)⊢ Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k + 1] f (a - c * h)) (𝓝[>] 0) (𝓝 0)
have hl := (hp.add hm).sub (hcos.mul h0) succ f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)h0:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)hcos:Tendsto (fun h => 2 * Real.cos (h / 2)) (𝓝[>] 0) (𝓝 2)hl:Tendsto
(fun x =>
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c - 1) * x) +
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c + 1) * x) -
2 * Real.cos (x / 2) * (x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - c * x)))
(𝓝[>] 0) (𝓝 (0 + 0 - 2 * 0))⊢ Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k + 1] f (a - c * h)) (𝓝[>] 0) (𝓝 0)
simp only [add_zero, mul_zero, sub_zero] at hl succ f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)h0:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)hcos:Tendsto (fun h => 2 * Real.cos (h / 2)) (𝓝[>] 0) (𝓝 2)hl:Tendsto
(fun x =>
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c - 1) * x) +
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c + 1) * x) -
2 * Real.cos (x / 2) * (x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - c * x)))
(𝓝[>] 0) (𝓝 0)⊢ Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k + 1] f (a - c * h)) (𝓝[>] 0) (𝓝 0)
convert hl using 1 f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)h0:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)hcos:Tendsto (fun h => 2 * Real.cos (h / 2)) (𝓝[>] 0) (𝓝 2)hl:Tendsto
(fun x =>
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c - 1) * x) +
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c + 1) * x) -
2 * Real.cos (x / 2) * (x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - c * x)))
(𝓝[>] 0) (𝓝 0)⊢ (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k + 1] f (a - c * h)) = fun x =>
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c - 1) * x) + x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c + 1) * x) -
2 * Real.cos (x / 2) * (x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - c * x))
funext h f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)h0:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)hcos:Tendsto (fun h => 2 * Real.cos (h / 2)) (𝓝[>] 0) (𝓝 2)hl:Tendsto
(fun x =>
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c - 1) * x) +
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c + 1) * x) -
2 * Real.cos (x / 2) * (x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - c * x)))
(𝓝[>] 0) (𝓝 0)h:ℝ⊢ h⁻¹ ^ n * (modifiedDifference h)^[k + 1] f (a - c * h) =
h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h) + h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h) -
2 * Real.cos (h / 2) * (h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h))
rw [Function.iterate_succ_apply' f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)h0:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)hcos:Tendsto (fun h => 2 * Real.cos (h / 2)) (𝓝[>] 0) (𝓝 2)hl:Tendsto
(fun x =>
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c - 1) * x) +
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c + 1) * x) -
2 * Real.cos (x / 2) * (x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - c * x)))
(𝓝[>] 0) (𝓝 0)h:ℝ⊢ h⁻¹ ^ n * modifiedDifference h ((modifiedDifference h)^[k] f) (a - c * h) =
h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h) + h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h) -
2 * Real.cos (h / 2) * (h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h))] f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)h0:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)hcos:Tendsto (fun h => 2 * Real.cos (h / 2)) (𝓝[>] 0) (𝓝 2)hl:Tendsto
(fun x =>
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c - 1) * x) +
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c + 1) * x) -
2 * Real.cos (x / 2) * (x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - c * x)))
(𝓝[>] 0) (𝓝 0)h:ℝ⊢ h⁻¹ ^ n * modifiedDifference h ((modifiedDifference h)^[k] f) (a - c * h) =
h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h) + h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h) -
2 * Real.cos (h / 2) * (h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h))
unfold modifiedDifference f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)h0:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)hcos:Tendsto (fun h => 2 * Real.cos (h / 2)) (𝓝[>] 0) (𝓝 2)hl:Tendsto
(fun x =>
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c - 1) * x) +
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c + 1) * x) -
2 * Real.cos (x / 2) * (x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - c * x)))
(𝓝[>] 0) (𝓝 0)h:ℝ⊢ h⁻¹ ^ n *
((fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h + h) +
(fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h - h) -
2 * Real.cos (h / 2) * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h)) =
h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c - 1) * h) +
h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c + 1) * h) -
2 * Real.cos (h / 2) * (h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h))
have hp : a - c * h + h = a - (c - 1) * h := by f:ℝ → ℝa:ℝn:ℕk:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k < c⊢ Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0) ring f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp✝:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)h0:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)hcos:Tendsto (fun h => 2 * Real.cos (h / 2)) (𝓝[>] 0) (𝓝 2)hl:Tendsto
(fun x =>
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c - 1) * x) +
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c + 1) * x) -
2 * Real.cos (x / 2) * (x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - c * x)))
(𝓝[>] 0) (𝓝 0)h:ℝhp:a - c * h + h = a - (c - 1) * h⊢ h⁻¹ ^ n *
((fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h + h) +
(fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h - h) -
2 * Real.cos (h / 2) * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h)) =
h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c - 1) * h) +
h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c + 1) * h) -
2 * Real.cos (h / 2) * (h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h))
have hm : a - c * h - h = a - (c + 1) * h := by f:ℝ → ℝa:ℝn:ℕk:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k < c⊢ Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0) ring f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp✝:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm✝:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)h0:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)hcos:Tendsto (fun h => 2 * Real.cos (h / 2)) (𝓝[>] 0) (𝓝 2)hl:Tendsto
(fun x =>
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c - 1) * x) +
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c + 1) * x) -
2 * Real.cos (x / 2) * (x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - c * x)))
(𝓝[>] 0) (𝓝 0)h:ℝhp:a - c * h + h = a - (c - 1) * hhm:a - c * h - h = a - (c + 1) * h⊢ h⁻¹ ^ n *
((fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h + h) +
(fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h - h) -
2 * Real.cos (h / 2) * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h)) =
h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c - 1) * h) +
h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c + 1) * h) -
2 * Real.cos (h / 2) * (h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h))
rw [hp, f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp✝:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm✝:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)h0:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)hcos:Tendsto (fun h => 2 * Real.cos (h / 2)) (𝓝[>] 0) (𝓝 2)hl:Tendsto
(fun x =>
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c - 1) * x) +
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c + 1) * x) -
2 * Real.cos (x / 2) * (x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - c * x)))
(𝓝[>] 0) (𝓝 0)h:ℝhp:a - c * h + h = a - (c - 1) * hhm:a - c * h - h = a - (c + 1) * h⊢ h⁻¹ ^ n *
((fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c - 1) * h) +
(fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h - h) -
2 * Real.cos (h / 2) * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h)) =
h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c - 1) * h) +
h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c + 1) * h) -
2 * Real.cos (h / 2) * (h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h)) hm f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp✝:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm✝:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)h0:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)hcos:Tendsto (fun h => 2 * Real.cos (h / 2)) (𝓝[>] 0) (𝓝 2)hl:Tendsto
(fun x =>
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c - 1) * x) +
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c + 1) * x) -
2 * Real.cos (x / 2) * (x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - c * x)))
(𝓝[>] 0) (𝓝 0)h:ℝhp:a - c * h + h = a - (c - 1) * hhm:a - c * h - h = a - (c + 1) * h⊢ h⁻¹ ^ n *
((fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c - 1) * h) +
(fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c + 1) * h) -
2 * Real.cos (h / 2) * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h)) =
h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c - 1) * h) +
h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c + 1) * h) -
2 * Real.cos (h / 2) * (h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h))] f:ℝ → ℝa:ℝn:ℕhf:Tendsto (fun u => u⁻¹ ^ n * f (a - u)) (𝓝[>] 0) (𝓝 0)k:ℕih:∀ {c : ℝ}, ↑k < c → Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)c:ℝhc:↑k + 1 < chp✝:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c - 1) * h)) (𝓝[>] 0) (𝓝 0)hm✝:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - (c + 1) * h)) (𝓝[>] 0) (𝓝 0)h0:Tendsto (fun h => h⁻¹ ^ n * (modifiedDifference h)^[k] f (a - c * h)) (𝓝[>] 0) (𝓝 0)hcos:Tendsto (fun h => 2 * Real.cos (h / 2)) (𝓝[>] 0) (𝓝 2)hl:Tendsto
(fun x =>
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c - 1) * x) +
x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - (c + 1) * x) -
2 * Real.cos (x / 2) * (x⁻¹ ^ n * (modifiedDifference x)^[k] f (a - c * x)))
(𝓝[>] 0) (𝓝 0)h:ℝhp:a - c * h + h = a - (c - 1) * hhm:a - c * h - h = a - (c + 1) * h⊢ h⁻¹ ^ n *
((fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c - 1) * h) +
(fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c + 1) * h) -
2 * Real.cos (h / 2) * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h)) =
h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c - 1) * h) +
h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - (c + 1) * h) -
2 * Real.cos (h / 2) * (h⁻¹ ^ n * (fun f x => f (x + h) + f (x - h) - 2 * Real.cos (h / 2) * f x)^[k] f (a - c * h))
ring All goals completed! 🐙theorem tendsto_thetaBoundaryRemainder_re_weighted (n : ℕ) :
Tendsto (fun u : ℝ ↦ u⁻¹ ^ n * (thetaBoundaryRemainder (Real.pi / 4 - u)).re)
(𝓝[>] 0) (𝓝 0) := by n:ℕ⊢ Tendsto (fun u => u⁻¹ ^ n * (thetaBoundaryRemainder (Real.pi / 4 - u)).re) (𝓝[>] 0) (𝓝 0)
apply squeeze_zero_norm' _ (tendsto_thetaBoundaryRemainder_weighted n) n:ℕ⊢ ∀ᶠ (n_1 : ℝ) in 𝓝[>] 0,
‖n_1⁻¹ ^ n * (thetaBoundaryRemainder (Real.pi / 4 - n_1)).re‖ ≤
n_1⁻¹ ^ n * ‖thetaBoundaryRemainder (Real.pi / 4 - n_1)‖
filter_upwards [self_mem_nhdsWithin] with u hu n:ℕu:ℝhu:u ∈ Ioi 0⊢ ‖u⁻¹ ^ n * (thetaBoundaryRemainder (Real.pi / 4 - u)).re‖ ≤ u⁻¹ ^ n * ‖thetaBoundaryRemainder (Real.pi / 4 - u)‖
rw [norm_mul, n:ℕu:ℝhu:u ∈ Ioi 0⊢ ‖u⁻¹ ^ n‖ * ‖(thetaBoundaryRemainder (Real.pi / 4 - u)).re‖ ≤ u⁻¹ ^ n * ‖thetaBoundaryRemainder (Real.pi / 4 - u)‖ Real.norm_eq_abs, n:ℕu:ℝhu:u ∈ Ioi 0⊢ |u⁻¹ ^ n| * ‖(thetaBoundaryRemainder (Real.pi / 4 - u)).re‖ ≤ u⁻¹ ^ n * ‖thetaBoundaryRemainder (Real.pi / 4 - u)‖ abs_of_pos (pow_pos (inv_pos.mpr hu) n) n:ℕu:ℝhu:u ∈ Ioi 0⊢ u⁻¹ ^ n * ‖(thetaBoundaryRemainder (Real.pi / 4 - u)).re‖ ≤ u⁻¹ ^ n * ‖thetaBoundaryRemainder (Real.pi / 4 - u)‖] n:ℕu:ℝhu:u ∈ Ioi 0⊢ u⁻¹ ^ n * ‖(thetaBoundaryRemainder (Real.pi / 4 - u)).re‖ ≤ u⁻¹ ^ n * ‖thetaBoundaryRemainder (Real.pi / 4 - u)‖
exact mul_le_mul_of_nonneg_left (Complex.abs_re_le_norm _)
(pow_nonneg (inv_nonneg.mpr (le_of_lt (show 0 < u from hu))) n) All goals completed! 🐙theorem tendsto_scaled_theta_difference (k : ℕ) :
Tendsto (fun h : ℝ ↦ h⁻¹ ^ (2 * k) *
(modifiedDifference h)^[k] (fun α ↦ (thetaBoundaryRemainder α).re)
(Real.pi / 4 - ((k : ℝ) + 1) * h)) (𝓝[>] 0) (𝓝 0) :=
tendsto_scaled_iterate_modifiedDifference (2 * k) k
(tendsto_thetaBoundaryRemainder_re_weighted (2 * k)) (by k:ℕ⊢ ↑k < ↑k + 1 linarith All goals completed! 🐙)