Documentation

Mathlib.Analysis.Calculus.ContDiffHolder.Pointwise

Continuously k times differentiable functions with pointwise Hölder continuous derivatives #

We say that a function is of class $C^{k+(α)}$ at a point a, where k is a natural number and 0 ≤ α ≤ 1, if

Note that the Hölder condition used in this definition fixes one of the points at a. In different sources, it is called pointwise, local, or weak Hölder condition, though the term "local" may also mean a stronger condition saying that a function is Hölder continuous on a neighborhood of a.

The immediate reason for adding this definition to the library is its use in [Mor01], where Moreira proves a version of the Morse-Sard theorem for functions that satisfy this condition on their critical set.

In this file, we define ContDiffPointwiseHolderAt to be the predicate saying that a function is $C^{k+(α)}$ in the sense described above and prove basic properties of this predicate.

Implementation notes #

In Moreira's paper, k is assumed to be a strictly positive number. We define the predicate for any k : ℕ, then assume k ≠ 0 whenever it is necessary.

structure ContDiffPointwiseHolderAt {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] (k : ) (α : unitInterval) (f : EF) (a : E) :

A map f is said to be $C^{k+(α)}$ at a, where k is a natural number and 0 ≤ α ≤ 1, if it is $C^k$ at this point and $D^kf(x)-D^kf(a) = O(‖x - a‖ ^ α)$ as x → a.

When naming lemmas about this predicate, k is called "order", and α is called "exponent".

Instances For
    theorem contDiffPointwiseHolderAt_iff {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] (k : ) (α : unitInterval) (f : EF) (a : E) :
    ContDiffPointwiseHolderAt k α f a ContDiffAt (↑k) f a (fun (x : E) => iteratedFDeriv k f x - iteratedFDeriv k f a) =O[nhds a] fun (x : E) => x - a ^ α
    theorem ContDiffAt.contDiffPointwiseHolderAt {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {k : } {f : EF} {a : E} {n : WithTop ℕ∞} (h : ContDiffAt n f a) (hk : k < n) (α : unitInterval) :

    A $C^n$ map is a $C^{k+(α)}$ map for any k < n.

    theorem ContDiffPointwiseHolderAt.continuousAt {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {k : } {α : unitInterval} {f : EF} {a : E} (h : ContDiffPointwiseHolderAt k α f a) :
    theorem ContDiffPointwiseHolderAt.differentiableAt {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {k : } {α : unitInterval} {f : EF} {a : E} (h : ContDiffPointwiseHolderAt k α f a) (hk : k 0) :
    @[simp]

    A function is $C^{k+(0)}$ at a point if and only if it is $C^k$ at the point.

    theorem ContDiffPointwiseHolderAt.zero_order_iff {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {α : unitInterval} {f : EF} {a : E} :
    ContDiffPointwiseHolderAt 0 α f a ContDiffAt 0 f a (fun (x : E) => f x - f a) =O[nhds a] fun (x : E) => x - a ^ α

    A function is $C^{0+(α)}$ at a point if and only if it is $C^0$ at the point (i.e., it is continuous on a neighborhood of the point) and $f(x) - f(a) = O(‖x - a‖ ^ α)$.

    theorem ContDiffPointwiseHolderAt.of_exponent_le {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {k : } {α β : unitInterval} {f : EF} {a : E} (hf : ContDiffPointwiseHolderAt k α f a) (hle : β α) :
    theorem ContDiffPointwiseHolderAt.of_order_lt {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {k l : } {α β : unitInterval} {f : EF} {a : E} (hf : ContDiffPointwiseHolderAt k α f a) (hlt : l < k) :
    theorem ContDiffPointwiseHolderAt.of_toLex_le {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {k l : } {α β : unitInterval} {f : EF} {a : E} (hf : ContDiffPointwiseHolderAt k α f a) (hle : toLex (l, β) toLex (k, α)) :
    theorem ContDiffPointwiseHolderAt.of_order_le {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {k l : } {α : unitInterval} {f : EF} {a : E} (hf : ContDiffPointwiseHolderAt k α f a) (hl : l k) :
    theorem ContDiffPointwiseHolderAt.of_contDiffOn_holderOnWith {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {k : } {α : unitInterval} {f : EF} {a : E} {s : Set E} {C : NNReal} (hf : ContDiffOn (↑k) f s) (hs : s nhds a) (hd : HolderOnWith C α, (iteratedFDeriv k f) s) :

    If a function is $C^{k+α}$ on a neighborhood of a point a, i.e., it is $C^k$ on this neighborhood and $D^k f$ is Hölder continuous on it, then the function is $C^{k+(α)}$ at a.

    theorem ContDiffPointwiseHolderAt.prodMk {E : Type u_1} {F : Type u_2} {G : Type u_3} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedAddCommGroup G] [NormedSpace G] {k : } {α : unitInterval} {f : EF} {a : E} {g : EG} (hf : ContDiffPointwiseHolderAt k α f a) (hg : ContDiffPointwiseHolderAt k α g a) :
    ContDiffPointwiseHolderAt k α (fun (x : E) => (f x, g x)) a
    theorem ContDiffPointwiseHolderAt.comp_of_differentiableAt {E : Type u_1} {F : Type u_2} {G : Type u_3} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedAddCommGroup G] [NormedSpace G] {k : } {α : unitInterval} {f : EF} (a : E) {g : FG} (hg : ContDiffPointwiseHolderAt k α g (f a)) (hf : ContDiffPointwiseHolderAt k α f a) (hd : DifferentiableAt g (f a) DifferentiableAt f a) :

    Composition of two $C^{k+(α)}$ functions is a $C^{k+(α)}$ function, provided that one of them is differentiable.

    The latter condition follows automatically from the functions being $C^{k+(α)}$, if k ≠ 0, see comp below.

    theorem ContDiffPointwiseHolderAt.comp {E : Type u_1} {F : Type u_2} {G : Type u_3} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedAddCommGroup G] [NormedSpace G] {k : } {α : unitInterval} {f : EF} (a : E) {g : FG} (hg : ContDiffPointwiseHolderAt k α g (f a)) (hf : ContDiffPointwiseHolderAt k α f a) (hk : k 0) :

    Composition of two $C^{k+(α)}$ functions, k ≠ 0, is a $C^{k+(α)}$ function.

    theorem ContDiffPointwiseHolderAt.comp₂_of_differentiableAt {E : Type u_1} {F : Type u_2} {G : Type u_3} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedAddCommGroup G] [NormedSpace G] {k : } {α : unitInterval} (a : E) {H : Type u_4} [NormedAddCommGroup H] [NormedSpace H] {g : F × GH} {f₁ : EF} {f₂ : EG} (hg : ContDiffPointwiseHolderAt k α g (f₁ a, f₂ a)) (hf₁ : ContDiffPointwiseHolderAt k α f₁ a) (hf₂ : ContDiffPointwiseHolderAt k α f₂ a) (hdiff : DifferentiableAt g (f₁ a, f₂ a) DifferentiableAt f₁ a DifferentiableAt f₂ a) :
    ContDiffPointwiseHolderAt k α (fun (x : E) => g (f₁ x, f₂ x)) a
    theorem ContDiffPointwiseHolderAt.continuousLinearMap_comp {E : Type u_1} {F : Type u_2} {G : Type u_3} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedAddCommGroup G] [NormedSpace G] {k : } {α : unitInterval} {f : EF} {a : E} (hf : ContDiffPointwiseHolderAt k α f a) (g : F →L[] G) :
    theorem ContDiffPointwiseHolderAt.fderiv {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {k l : } {α : unitInterval} {f : EF} {a : E} (hf : ContDiffPointwiseHolderAt k α f a) (hl : l < k) :

    The derivative of a $C^{k + (α)}$ function is a $C^{l + (α)}$ function, if l < k.

    theorem ContDiffPointwiseHolderAt.iteratedFDeriv {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {k l m : } {α : unitInterval} {f : EF} {a : E} (hf : ContDiffPointwiseHolderAt k α f a) (hl : l + m k) :

    If f is a $C^{k+(α)}$ function and l + m ≤ k, then $D^mf$ is a $C^{l + (α)}$ function.

    theorem ContDiffPointwiseHolderAt.congr_of_eventuallyEq {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {k : } {α : unitInterval} {f : EF} {a : E} {g : EF} (hf : ContDiffPointwiseHolderAt k α f a) (hfg : f =ᶠ[nhds a] g) :
    theorem ContDiffPointwiseHolderAt.clm_apply {E : Type u_1} {F : Type u_2} {G : Type u_3} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedAddCommGroup G] [NormedSpace G] {k : } {α : unitInterval} {a : E} {f : EF →L[] G} {g : EF} (hf : ContDiffPointwiseHolderAt k α f a) (hg : ContDiffPointwiseHolderAt k α g a) :
    ContDiffPointwiseHolderAt k α (fun (x : E) => (f x) (g x)) a