@@ -326,22 +326,17 @@ theorem irrational_of_isRoot_T_real {n : ℕ} {x : ℝ} (hroot : (T ℝ n).IsRoo
326326theorem abs_iterate_derivative_T_real_le (n k : ℕ) {x : ℝ} (hx : |x| ≤ 1 ) :
327327 |(derivative^[k] (T ℝ n)).eval x| ≤ (derivative^[k] (T ℝ n)).eval 1 := by
328328 have := T_iterate_derivative_mem_span_T (R := ℝ) n k
329- rw [setOf_T_eq_map] at this
330- obtain ⟨f, hf⟩ := Submodule.mem_span_finset'.mp this
331- let g (m : ℕ) := if hm : m ∈ Finset.Icc 0 (n - k) then f ⟨(T ℝ m), by simp [Tnat, hm]⟩ else 0
332- have : ∑ m ∈ Finset.Icc 0 (n - k), g m • (T ℝ m) = ∑ a, f a • a.val := by
333- rw [Finset.univ_eq_attach]
334- apply Finset.sum_bij (fun m hm => ⟨T ℝ m, by simp [Tnat, hm]⟩) (by simp)
335- case i_inj => intros; grind
336- case i_surj => aesop
337- grind
338- replace hf (y : ℝ) :
339- ∑ m ∈ Finset.Icc 0 (n - k), g m * (T ℝ m).eval y = (derivative^[k] (T ℝ n)).eval y := by
340- rw [← hf, ← this, eval_finset_sum]; congr; simp
329+ obtain ⟨f, hfsupp, hfderiv⟩ := Submodule.mem_span_set.mp this
330+ replace hfderiv : ∑ p ∈ f.support, f p • p = derivative^[k] (T ℝ n) := by rw [← hfderiv]; rfl
331+ have hf (y : ℝ) :
332+ ∑ p ∈ f.support, f p • p.eval y = (derivative^[k] (T ℝ n)).eval y := by
333+ rw [← hfderiv, Polynomial.eval_finset_sum]
334+ simp_rw [Polynomial.eval_smul]
341335 rw [← hf x, ← hf 1 ]
342336 grw [Finset.abs_sum_le_sum_abs]
343- refine Finset.sum_le_sum (fun i _ => ?_)
344- grw [abs_mul, abs_eval_T_real_le_one i hx]
337+ refine Finset.sum_le_sum (fun i hi => ?_)
338+ obtain ⟨m, hm, hi⟩ := (Set.mem_image ..).mp (hfsupp hi)
339+ grw [abs_nsmul, ← hi, abs_eval_T_real_le_one m hx]
345340 simp
346341
347342end Polynomial.Chebyshev
0 commit comments