@@ -654,10 +654,7 @@ lemma iteratedFDerivWithin_comp_add_left' (n : ℕ) (a : E) :
654654 | zero => simp [iteratedFDerivWithin]
655655 | succ n IH =>
656656 ext v
657- rw [iteratedFDerivWithin_succ_eq_comp_left, iteratedFDerivWithin_succ_eq_comp_left]
658- simp only [Nat.succ_eq_add_one, IH, comp_apply, continuousMultilinearCurryLeftEquiv_symm_apply]
659- congr 2
660- rw [fderivWithin_comp_add_left]
657+ simp [iteratedFDerivWithin_succ_eq_comp_left, IH, fderivWithin_comp_add_left]
661658
662659/-- The iterated derivative commutes with shifting the function by a constant on the left. -/
663660lemma iteratedFDerivWithin_comp_add_left (n : ℕ) (a : E) (x : E) :
@@ -714,25 +711,9 @@ lemma HasFTaylorSeriesUpTo.fderiv_eq (h : HasFTaylorSeriesUpTo n f p)
714711
715712theorem hasFTaylorSeriesUpToOn_univ_iff :
716713 HasFTaylorSeriesUpToOn n f p univ ↔ HasFTaylorSeriesUpTo n f p := by
717- constructor
718- · intro H
719- constructor
720- · exact fun x => H.zero_eq x (mem_univ x)
721- · intro m hm x
722- rw [← hasFDerivWithinAt_univ]
723- exact H.fderivWithin m hm x (mem_univ x)
724- · intro m hm
725- rw [← continuousOn_univ]
726- exact H.cont m hm
727- · intro H
728- constructor
729- · exact fun x _ => H.zero_eq x
730- · intro m hm x _
731- rw [hasFDerivWithinAt_univ]
732- exact H.fderiv m hm x
733- · intro m hm
734- rw [continuousOn_univ]
735- exact H.cont m hm
714+ constructor <;> refine fun H ↦ ⟨by simpa using H.zero_eq, ?_, by simpa using H.cont⟩
715+ · simpa using H.fderivWithin
716+ · simpa using H.fderiv
736717
737718theorem HasFTaylorSeriesUpTo.hasFTaylorSeriesUpToOn (h : HasFTaylorSeriesUpTo n f p) (s : Set E) :
738719 HasFTaylorSeriesUpToOn n f p s :=
@@ -883,11 +864,7 @@ theorem norm_fderiv_iteratedFDeriv {n : ℕ} :
883864
884865theorem iteratedFDerivWithin_univ {n : ℕ} :
885866 iteratedFDerivWithin 𝕜 n f univ = iteratedFDeriv 𝕜 n f := by
886- induction n with
887- | zero => ext x; simp
888- | succ n IH =>
889- ext x m
890- rw [iteratedFDeriv_succ_apply_left, iteratedFDerivWithin_succ_apply_left, IH, fderivWithin_univ]
867+ simp [iteratedFDerivWithin, iteratedFDeriv]
891868
892869variable (𝕜) in
893870/-- If two functions agree in a neighborhood, then so do their iterated derivatives. -/
@@ -916,20 +893,9 @@ theorem HasFTaylorSeriesUpTo.eq_iteratedFDeriv
916893derivative. -/
917894theorem iteratedFDerivWithin_of_isOpen (n : ℕ) (hs : IsOpen s) :
918895 EqOn (iteratedFDerivWithin 𝕜 n f s) (iteratedFDeriv 𝕜 n f) s := by
919- induction n with
920- | zero =>
921- intro x _
922- ext1
923- simp only [iteratedFDerivWithin_zero_apply, iteratedFDeriv_zero_apply]
924- | succ n IH =>
925- intro x hx
926- rw [iteratedFDeriv_succ_eq_comp_left, iteratedFDerivWithin_succ_eq_comp_left]
927- dsimp
928- congr 1
929- rw [fderivWithin_of_isOpen hs hx]
930- apply Filter.EventuallyEq.fderiv_eq
931- filter_upwards [hs.mem_nhds hx]
932- exact IH
896+ intro x hx
897+ rw [← iteratedFDerivWithin_univ]
898+ exact iteratedFDerivWithin_congr_set (Filter.eventuallyEq_univ.mpr <| hs.mem_nhds hx) n
933899
934900theorem ftaylorSeriesWithin_univ : ftaylorSeriesWithin 𝕜 f univ = ftaylorSeries 𝕜 f := by
935901 ext1 x; ext1 n
0 commit comments