@@ -35,46 +35,47 @@ variable {n : WithTop ℕ∞} {𝕂 : Type*} [RCLike 𝕂] {E' : Type*} [NormedA
3535domain of definition, the term of order 1 of this series is a strict derivative of `f`. -/
3636theorem HasFTaylorSeriesUpToOn.hasStrictFDerivAt {n : WithTop ℕ∞}
3737 {s : Set E'} {f : E' → F'} {x : E'}
38- {p : E' → FormalMultilinearSeries 𝕂 E' F'} (hf : HasFTaylorSeriesUpToOn n f p s) (hn : 1 ≤ n )
38+ {p : E' → FormalMultilinearSeries 𝕂 E' F'} (hf : HasFTaylorSeriesUpToOn n f p s) (hn : n ≠ 0 )
3939 (hs : s ∈ 𝓝 x) : HasStrictFDerivAt f ((continuousMultilinearCurryFin1 𝕂 E' F') (p x 1 )) x :=
4040 hasStrictFDerivAt_of_hasFDerivAt_of_continuousAt (hf.eventually_hasFDerivAt hn hs) <|
41- (continuousMultilinearCurryFin1 𝕂 E' F').continuousAt.comp <| (hf.cont 1 hn).continuousAt hs
41+ (continuousMultilinearCurryFin1 𝕂 E' F').continuousAt.comp <|
42+ (hf.cont 1 <| ENat.one_le_iff_ne_zero_withTop.mpr hn).continuousAt hs
4243
43- /-- If a function is `C^n` with `1 ≤ n ` around a point, and its derivative at that point is given to
44+ /-- If a function is `C^n` with `n ≠ 0 ` around a point, and its derivative at that point is given to
4445us as `f'`, then `f'` is also a strict derivative. -/
4546theorem ContDiffAt.hasStrictFDerivAt' {f : E' → F'} {f' : E' →L[𝕂] F'} {x : E'}
46- (hf : ContDiffAt 𝕂 n f x) (hf' : HasFDerivAt f f' x) (hn : 1 ≤ n ) :
47+ (hf : ContDiffAt 𝕂 n f x) (hf' : HasFDerivAt f f' x) (hn : n ≠ 0 ) :
4748 HasStrictFDerivAt f f' x := by
48- rcases hf.of_le hn 1 le_rfl with ⟨u, H, p, hp⟩
49+ rcases hf.of_le (ENat.one_le_iff_ne_zero_withTop.mpr hn) 1 le_rfl with ⟨u, H, p, hp⟩
4950 simp only [nhdsWithin_univ, mem_univ, insert_eq_of_mem] at H
50- have := hp.hasStrictFDerivAt le_rfl H
51+ have := hp.hasStrictFDerivAt one_ne_zero H
5152 rwa [hf'.unique this.hasFDerivAt]
5253
5354/-- If a function is `C^n` with `1 ≤ n` around a point, and its derivative at that point is given to
5455us as `f'`, then `f'` is also a strict derivative. -/
5556theorem ContDiffAt.hasStrictDerivAt' {f : 𝕂 → F'} {f' : F'} {x : 𝕂} (hf : ContDiffAt 𝕂 n f x)
56- (hf' : HasDerivAt f f' x) (hn : 1 ≤ n ) : HasStrictDerivAt f f' x :=
57+ (hf' : HasDerivAt f f' x) (hn : n ≠ 0 ) : HasStrictDerivAt f f' x :=
5758 hf.hasStrictFDerivAt' hf' hn
5859
5960/-- If a function is `C^n` with `1 ≤ n` around a point, then the derivative of `f` at this point
6061is also a strict derivative. -/
61- theorem ContDiffAt.hasStrictFDerivAt {f : E' → F'} {x : E'} (hf : ContDiffAt 𝕂 n f x) (hn : 1 ≤ n ) :
62+ theorem ContDiffAt.hasStrictFDerivAt {f : E' → F'} {x : E'} (hf : ContDiffAt 𝕂 n f x) (hn : n ≠ 0 ) :
6263 HasStrictFDerivAt f (fderiv 𝕂 f x) x :=
6364 hf.hasStrictFDerivAt' (hf.differentiableAt hn).hasFDerivAt hn
6465
6566/-- If a function is `C^n` with `1 ≤ n` around a point, then the derivative of `f` at this point
6667is also a strict derivative. -/
67- theorem ContDiffAt.hasStrictDerivAt {f : 𝕂 → F'} {x : 𝕂} (hf : ContDiffAt 𝕂 n f x) (hn : 1 ≤ n ) :
68+ theorem ContDiffAt.hasStrictDerivAt {f : 𝕂 → F'} {x : 𝕂} (hf : ContDiffAt 𝕂 n f x) (hn : n ≠ 0 ) :
6869 HasStrictDerivAt f (deriv f x) x :=
6970 (hf.hasStrictFDerivAt hn).hasStrictDerivAt
7071
7172/-- If a function is `C^n` with `1 ≤ n`, then the derivative of `f` is also a strict derivative. -/
72- theorem ContDiff.hasStrictFDerivAt {f : E' → F'} {x : E'} (hf : ContDiff 𝕂 n f) (hn : 1 ≤ n ) :
73+ theorem ContDiff.hasStrictFDerivAt {f : E' → F'} {x : E'} (hf : ContDiff 𝕂 n f) (hn : n ≠ 0 ) :
7374 HasStrictFDerivAt f (fderiv 𝕂 f x) x :=
7475 hf.contDiffAt.hasStrictFDerivAt hn
7576
7677/-- If a function is `C^n` with `1 ≤ n`, then the derivative of `f` is also a strict derivative. -/
77- theorem ContDiff.hasStrictDerivAt {f : 𝕂 → F'} {x : 𝕂} (hf : ContDiff 𝕂 n f) (hn : 1 ≤ n ) :
78+ theorem ContDiff.hasStrictDerivAt {f : 𝕂 → F'} {x : 𝕂} (hf : ContDiff 𝕂 n f) (hn : n ≠ 0 ) :
7879 HasStrictDerivAt f (deriv f x) x :=
7980 hf.contDiffAt.hasStrictDerivAt hn
8081
@@ -87,7 +88,7 @@ theorem HasFTaylorSeriesUpToOn.exists_lipschitzOnWith_of_nnnorm_lt {E F : Type*}
8788 (hK : ‖p x 1 ‖₊ < K) : ∃ t ∈ 𝓝[s] x, LipschitzOnWith K f t := by
8889 set f' := fun y => continuousMultilinearCurryFin1 ℝ E F (p y 1 )
8990 have hder : ∀ y ∈ s, HasFDerivWithinAt f (f' y) s y := fun y hy =>
90- (hf.hasFDerivWithinAt le_rfl (subset_insert x s hy)).mono (subset_insert x s)
91+ (hf.hasFDerivWithinAt one_ne_zero (subset_insert x s hy)).mono (subset_insert x s)
9192 have hcont : ContinuousWithinAt f' s x :=
9293 (continuousMultilinearCurryFin1 ℝ E F).continuousAt.comp_continuousWithinAt
9394 ((hf.cont _ le_rfl _ (mem_insert _ _)).mono (subset_insert x s))
@@ -125,12 +126,12 @@ theorem ContDiffWithinAt.exists_lipschitzOnWith {E F : Type*} [NormedAddCommGrou
125126theorem ContDiffAt.exists_lipschitzOnWith_of_nnnorm_lt {f : E' → F'} {x : E'}
126127 (hf : ContDiffAt 𝕂 1 f x) (K : ℝ≥0 ) (hK : ‖fderiv 𝕂 f x‖₊ < K) :
127128 ∃ t ∈ 𝓝 x, LipschitzOnWith K f t :=
128- (hf.hasStrictFDerivAt le_rfl ).exists_lipschitzOnWith_of_nnnorm_lt K hK
129+ (hf.hasStrictFDerivAt one_ne_zero ).exists_lipschitzOnWith_of_nnnorm_lt K hK
129130
130131/-- If `f` is `C^1` at `x`, then `f` is Lipschitz in a neighborhood of `x`. -/
131132theorem ContDiffAt.exists_lipschitzOnWith {f : E' → F'} {x : E'} (hf : ContDiffAt 𝕂 1 f x) :
132133 ∃ K, ∃ t ∈ 𝓝 x, LipschitzOnWith K f t :=
133- (hf.hasStrictFDerivAt le_rfl ).exists_lipschitzOnWith
134+ (hf.hasStrictFDerivAt one_ne_zero ).exists_lipschitzOnWith
134135
135136/-- If `f` is `C^1`, it is locally Lipschitz. -/
136137lemma ContDiff.locallyLipschitz {f : E' → F'} (hf : ContDiff 𝕂 1 f) : LocallyLipschitz f := by
@@ -140,7 +141,7 @@ lemma ContDiff.locallyLipschitz {f : E' → F'} (hf : ContDiff 𝕂 1 f) : Local
140141
141142/-- A `C^1` function with compact support is Lipschitz. -/
142143theorem ContDiff.lipschitzWith_of_hasCompactSupport {f : E' → F'}
143- (hf : HasCompactSupport f) (h'f : ContDiff 𝕂 n f) (hn : 1 ≤ n ) :
144+ (hf : HasCompactSupport f) (h'f : ContDiff 𝕂 n f) (hn : n ≠ 0 ) :
144145 ∃ C, LipschitzWith C f := by
145146 obtain ⟨C, hC⟩ := (hf.fderiv 𝕂).exists_bound_of_continuous (h'f.continuous_fderiv hn)
146147 refine ⟨⟨max C 0 , le_max_right _ _⟩, ?_⟩
0 commit comments