mathlib documentation

analysis.calculus.fderiv_measurable

Derivative is measurable #

In this file we prove that the derivative of any function with complete codomain is a measurable function. Namely, we prove:

Implementation #

We give a proof that avoids second-countability issues, by expressing the differentiability set as a function of open sets in the following way. Define A (L, r, ε) to be the set of points where, on a ball of radius roughly r around x, the function is uniformly approximated by the linear map L, up to ε r. It is an open set. Let also B (L, r, s, ε) = A (L, r, ε) ∩ A (L, s, ε): we require that at two possibly different scales r and s, the function is well approximated by the linear map L. It is also open.

We claim that the differentiability set of f is exactly D = ⋂ ε > 0, ⋃ δ > 0, ⋂ r, s < δ, ⋃ L, B (L, r, s, ε). In other words, for any ε > 0, we require that there is a size δ such that, for any two scales below this size, the function is well approximated by a linear map, common to the two scales.

The set ⋃ L, B (L, r, s, ε) is open, as a union of open sets. Converting the intersections and unions to countable ones (using real numbers of the form 2 ^ (-n)), it follows that the differentiability set is measurable.

To prove the claim, there are two inclusions. One is trivial: if the function is differentiable at x, then x belongs to D (just take L to be the derivative, and use that the differentiability exactly says that the map is well approximated by L). This is proved in mem_A_of_differentiable and differentiable_set_subset_D.

For the other direction, the difficulty is that L in the union may depend on ε, r, s. The key point is that, in fact, it doesn't depend too much on them. First, if x belongs both to A (L, r, ε) and A (L', r, ε), then L and L' have to be close on a shell, and thus ∥L - L'∥ is bounded by ε (see norm_sub_le_of_mem_A). Assume now x ∈ D. If one has two maps L and L' such that x belongs to A (L, r, ε) and to A (L', r', ε'), one deduces that L is close to L' by arguing as follows. Consider another scale s smaller than r and r'. Take a linear map L₁ that approximates f around x both at scales r and s w.r.t. ε (it exists as x belongs to D). Take also L₂ that approximates f around x both at scales r' and s w.r.t. ε'. Then L₁ is close to L (as they are close on a shell of radius r), and L₂ is close to L₁ (as they are close on a shell of radius s), and L' is close to L₂ (as they are close on a shell of radius r'). It follows that L is close to L', as we claimed.

It follows that the different approximating linear maps that show up form a Cauchy sequence when ε tends to 0. When the target space is complete, this sequence converges, to a limit f'. With the same kind of arguments, one checks that f is differentiable with derivative f'.

To show that the derivative itself is measurable, add in the definition of B and D a set K of continuous linear maps to which L should belong. Then, when K is complete, the set D K is exactly the set of points where f is differentiable with a derivative in K.

Tags #

derivative, measurable function, Borel σ-algebra

@[instance]
def continuous_linear_map.measurable_space {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nondiscrete_normed_field 𝕜] [normed_group E] [normed_space 𝕜 E] [normed_group F] [normed_space 𝕜 F] :
Equations
@[instance]
def continuous_linear_map.borel_space {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nondiscrete_normed_field 𝕜] [normed_group E] [normed_space 𝕜 E] [normed_group F] [normed_space 𝕜 F] :
theorem continuous_linear_map.measurable_apply {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nondiscrete_normed_field 𝕜] [normed_group E] [normed_space 𝕜 E] [normed_group F] [normed_space 𝕜 F] [measurable_space F] [borel_space F] (x : E) :
measurable (λ (f : E →L[𝕜] F), f x)
theorem continuous_linear_map.measurable_apply' {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nondiscrete_normed_field 𝕜] [normed_group E] [normed_space 𝕜 E] [normed_group F] [normed_space 𝕜 F] [measurable_space E] [opens_measurable_space E] [measurable_space F] [borel_space F] :
measurable (λ (x : E) (f : E →L[𝕜] F), f x)
theorem continuous_linear_map.measurable_coe {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nondiscrete_normed_field 𝕜] [normed_group E] [normed_space 𝕜 E] [normed_group F] [normed_space 𝕜 F] [measurable_space F] [borel_space F] :
measurable (λ (f : E →L[𝕜] F) (x : E), f x)
def fderiv_measurable_aux.A {𝕜 : Type u_1} [nondiscrete_normed_field 𝕜] {E : Type u_2} [normed_group E] [normed_space 𝕜 E] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] (f : E → F) (L : E →L[𝕜] F) (r ε : ) :
set E

The set A f L r ε is the set of points x around which the function f is well approximated at scale r by the linear map L, up to an error ε. We tweak the definition to make sure that this is an open set.

Equations
def fderiv_measurable_aux.B {𝕜 : Type u_1} [nondiscrete_normed_field 𝕜] {E : Type u_2} [normed_group E] [normed_space 𝕜 E] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] (f : E → F) (K : set (E →L[𝕜] F)) (r s ε : ) :
set E

The set B f K r s ε is the set of points x around which there exists a continuous linear map L belonging to K (a given set of continuous linear maps) that approximates well the function f (up to an error ε), simultaneously at scales r and s.

Equations
def fderiv_measurable_aux.D {𝕜 : Type u_1} [nondiscrete_normed_field 𝕜] {E : Type u_2} [normed_group E] [normed_space 𝕜 E] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] (f : E → F) (K : set (E →L[𝕜] F)) :
set E

The set D f K is a complicated set constructed using countable intersections and unions. Its main use is that, when K is complete, it is exactly the set of points where f is differentiable, with a derivative in K.

Equations
theorem fderiv_measurable_aux.is_open_A {𝕜 : Type u_1} [nondiscrete_normed_field 𝕜] {E : Type u_2} [normed_group E] [normed_space 𝕜 E] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] {f : E → F} (L : E →L[𝕜] F) (r ε : ) :
theorem fderiv_measurable_aux.is_open_B {𝕜 : Type u_1} [nondiscrete_normed_field 𝕜] {E : Type u_2} [normed_group E] [normed_space 𝕜 E] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] {f : E → F} {K : set (E →L[𝕜] F)} {r s ε : } :
theorem fderiv_measurable_aux.A_mono {𝕜 : Type u_1} [nondiscrete_normed_field 𝕜] {E : Type u_2} [normed_group E] [normed_space 𝕜 E] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] {f : E → F} (L : E →L[𝕜] F) (r : ) {ε δ : } (h : ε δ) :
theorem fderiv_measurable_aux.le_of_mem_A {𝕜 : Type u_1} [nondiscrete_normed_field 𝕜] {E : Type u_2} [normed_group E] [normed_space 𝕜 E] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] {f : E → F} {r ε : } {L : E →L[𝕜] F} {x : E} (hx : x fderiv_measurable_aux.A f L r ε) {y z : E} (hy : y metric.closed_ball x (r / 2)) (hz : z metric.closed_ball x (r / 2)) :
f z - f y - L (z - y) ε * r
theorem fderiv_measurable_aux.mem_A_of_differentiable {𝕜 : Type u_1} [nondiscrete_normed_field 𝕜] {E : Type u_2} [normed_group E] [normed_space 𝕜 E] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] {f : E → F} {ε : } (hε : 0 < ε) {x : E} (hx : differentiable_at 𝕜 f x) :
∃ (R : ) (H : R > 0), ∀ (r : ), r set.Ioo 0 Rx fderiv_measurable_aux.A f (fderiv 𝕜 f x) r ε
theorem fderiv_measurable_aux.norm_sub_le_of_mem_A {𝕜 : Type u_1} [nondiscrete_normed_field 𝕜] {E : Type u_2} [normed_group E] [normed_space 𝕜 E] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] {f : E → F} {c : 𝕜} (hc : 1 < c) {r ε : } (hε : 0 < ε) (hr : 0 < r) {x : E} {L₁ L₂ : E →L[𝕜] F} (h₁ : x fderiv_measurable_aux.A f L₁ r ε) (h₂ : x fderiv_measurable_aux.A f L₂ r ε) :
L₁ - L₂ (4 * c) * ε
theorem fderiv_measurable_aux.differentiable_set_subset_D {𝕜 : Type u_1} [nondiscrete_normed_field 𝕜] {E : Type u_2} [normed_group E] [normed_space 𝕜 E] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] {f : E → F} (K : set (E →L[𝕜] F)) :
{x : E | differentiable_at 𝕜 f x fderiv 𝕜 f x K} fderiv_measurable_aux.D f K

Easy inclusion: a differentiability point with derivative in K belongs to D f K.

theorem fderiv_measurable_aux.D_subset_differentiable_set {𝕜 : Type u_1} [nondiscrete_normed_field 𝕜] {E : Type u_2} [normed_group E] [normed_space 𝕜 E] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] {f : E → F} {K : set (E →L[𝕜] F)} (hK : is_complete K) :
fderiv_measurable_aux.D f K {x : E | differentiable_at 𝕜 f x fderiv 𝕜 f x K}

Harder inclusion: at a point in D f K, the function f has a derivative, in K.

theorem fderiv_measurable_aux.differentiable_set_eq_D {𝕜 : Type u_1} [nondiscrete_normed_field 𝕜] {E : Type u_2} [normed_group E] [normed_space 𝕜 E] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] {f : E → F} (K : set (E →L[𝕜] F)) (hK : is_complete K) :
{x : E | differentiable_at 𝕜 f x fderiv 𝕜 f x K} = fderiv_measurable_aux.D f K
theorem measurable_set_of_differentiable_at_of_is_complete (𝕜 : Type u_1) [nondiscrete_normed_field 𝕜] {E : Type u_2} [normed_group E] [normed_space 𝕜 E] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] (f : E → F) [measurable_space E] [opens_measurable_space E] {K : set (E →L[𝕜] F)} (hK : is_complete K) :
measurable_set {x : E | differentiable_at 𝕜 f x fderiv 𝕜 f x K}

The set of differentiability points of a function, with derivative in a given complete set, is Borel-measurable.

theorem measurable_set_of_differentiable_at (𝕜 : Type u_1) [nondiscrete_normed_field 𝕜] {E : Type u_2} [normed_group E] [normed_space 𝕜 E] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] (f : E → F) [measurable_space E] [opens_measurable_space E] [complete_space F] :

The set of differentiability points of a function taking values in a complete space is Borel-measurable.

theorem measurable_fderiv (𝕜 : Type u_1) [nondiscrete_normed_field 𝕜] {E : Type u_2} [normed_group E] [normed_space 𝕜 E] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] (f : E → F) [measurable_space E] [opens_measurable_space E] [complete_space F] :
theorem measurable_fderiv_apply_const (𝕜 : Type u_1) [nondiscrete_normed_field 𝕜] {E : Type u_2} [normed_group E] [normed_space 𝕜 E] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] (f : E → F) [measurable_space E] [opens_measurable_space E] [complete_space F] [measurable_space F] [borel_space F] (y : E) :
measurable (λ (x : E), (fderiv 𝕜 f x) y)
theorem measurable_deriv {𝕜 : Type u_1} [nondiscrete_normed_field 𝕜] {F : Type u_3} [normed_group F] [normed_space 𝕜 F] [complete_space F] [measurable_space 𝕜] [opens_measurable_space 𝕜] [measurable_space F] [borel_space F] (f : 𝕜 → F) :