Documentation

LeanPool.ViscositySolutionTheory.AleksandrovDifferentiability.Statements.Cube.Envelope

Ported for Lean Pool: imports relocated and code adapted to Lean/Mathlib v4.34.0.

Cube-local Lipschitz-envelope squeeze lemmas #

This file isolates the source proof's final envelope argument. Once the coordinate gradient function is squeezed between two Lipschitz envelopes with the same derivative at a good point, the coordinate gradient has the corresponding first-order expansion along the differentiability set.

If U \ D is null and U is open, then U ∩ D is dense in U.

This is the local form of the source proof's statement that a full-measure subset of an open cube is dense in that cube.

The differentiability points in Q_1 are dense enough for the envelope argument on Q_1.

The differentiability points in Q_{3/2} are dense enough for the envelope argument on Q_1.

The density theorem gives a nontrivial differentiability-point sampling filter at each point of Q_1, with sampling still inside Q_1.

The density theorem gives a nontrivial differentiability-point sampling filter at each point of Q_1.

The good set Omega_m lies in the differentiability set D_{3/2} used for envelopes.

The good set Omega_m lies in the working cube Q_1.

Lower boundedness of a coordinate of the gradient on D_{3/2}.

Upper boundedness of a coordinate of the gradient on D_{3/2}.

Cross-estimate input for the coordinate-gradient envelope argument.

The lower McShane-type envelope used in the source proof: inf_y (g y + K * dist x y) over y ∈ E.

Equations
Instances For

    The upper McShane-type envelope, defined by duality from the lower envelope.

    Equations
    Instances For
      theorem AleksandrovDifferentiability.lowerMcShaneEnvelope_lipschitzWith {n : ℕ} {K : NNReal} {E : Set (SourceCubeSpace n)} {g : SourceCubeSpace n → ℝ} [Nonempty ↑E] (hbound : ∃ (M : ℝ), ∀ y ∈ E, -M ≤ g y) :

      A bounded-below lower McShane envelope is globally Lipschitz with the same constant.

      The proof is the standard source-envelope estimate: compare every cone based at y using the triangle inequality, then pass to the infimum.

      theorem AleksandrovDifferentiability.lowerMcShaneEnvelope_le_base {n : ℕ} {K : NNReal} {E : Set (SourceCubeSpace n)} {g : SourceCubeSpace n → ℝ} (hbound : ∃ (M : ℝ), ∀ y ∈ E, -M ≤ g y) {x y : SourceCubeSpace n} (hy : y ∈ E) :
      lowerMcShaneEnvelope K E g x ≤ g y + ↑K * dist x y

      The lower envelope is bounded above by every defining cone.

      theorem AleksandrovDifferentiability.upperMcShaneEnvelope_lipschitzWith {n : ℕ} {K : NNReal} {E : Set (SourceCubeSpace n)} {g : SourceCubeSpace n → ℝ} [Nonempty ↑E] (hbound : ∃ (M : ℝ), ∀ y ∈ E, g y ≤ M) :

      A bounded-above upper McShane envelope is globally Lipschitz with the same constant.

      theorem AleksandrovDifferentiability.base_le_upperMcShaneEnvelope {n : ℕ} {K : NNReal} {E : Set (SourceCubeSpace n)} {g : SourceCubeSpace n → ℝ} (hbound : ∃ (M : ℝ), ∀ y ∈ E, g y ≤ M) {x y : SourceCubeSpace n} (hy : y ∈ E) :
      g y - ↑K * dist x y ≤ upperMcShaneEnvelope K E g x

      Every defining cone lies below the upper envelope.

      theorem AleksandrovDifferentiability.lowerMcShaneEnvelope_eq_on_of_cross_bound {n : ℕ} {K : NNReal} {E F : Set (SourceCubeSpace n)} {g : SourceCubeSpace n → ℝ} (hbound : ∃ (M : ℝ), ∀ y ∈ E, -M ≤ g y) (hFE : F ⊆ E) (hcross : ∀ x ∈ F, ∀ y ∈ E, |g y - g x| ≤ ↑K * dist y x) {x : SourceCubeSpace n} (hx : x ∈ F) :

      The lower envelope agrees with g at points where the source cross estimate is based.

      theorem AleksandrovDifferentiability.upperMcShaneEnvelope_eq_on_of_cross_bound {n : ℕ} {K : NNReal} {E F : Set (SourceCubeSpace n)} {g : SourceCubeSpace n → ℝ} (hbound : ∃ (M : ℝ), ∀ y ∈ E, g y ≤ M) (hFE : F ⊆ E) (hcross : ∀ x ∈ F, ∀ y ∈ E, |g y - g x| ≤ ↑K * dist y x) {x : SourceCubeSpace n} (hx : x ∈ F) :

      The upper envelope agrees with g at points where the source cross estimate is based.

      theorem AleksandrovDifferentiability.lowerMcShaneEnvelope_increment_le_of_cross_bound {n : ℕ} {K : NNReal} {E F : Set (SourceCubeSpace n)} {g : SourceCubeSpace n → ℝ} (hbound : ∃ (M : ℝ), ∀ y ∈ E, -M ≤ g y) (hFE : F ⊆ E) (hcross : ∀ x ∈ F, ∀ y ∈ E, |g y - g x| ≤ ↑K * dist y x) {x : SourceCubeSpace n} (hx : x ∈ F) :

      Lower-envelope increments are below the original increments at cross-estimate base points.

      theorem AleksandrovDifferentiability.le_upperMcShaneEnvelope_increment_of_cross_bound {n : ℕ} {K : NNReal} {E F : Set (SourceCubeSpace n)} {g : SourceCubeSpace n → ℝ} (hbound : ∃ (M : ℝ), ∀ y ∈ E, g y ≤ M) (hFE : F ⊆ E) (hcross : ∀ x ∈ F, ∀ y ∈ E, |g y - g x| ≤ ↑K * dist y x) {x : SourceCubeSpace n} (hx : x ∈ F) :

      Original increments are below upper-envelope increments at cross-estimate base points.

      theorem AleksandrovDifferentiability.lowerMcShaneEnvelope_le_upperMcShaneEnvelope_of_mem {n : ℕ} {K : NNReal} {E : Set (SourceCubeSpace n)} {g : SourceCubeSpace n → ℝ} (hLowerBound : ∃ (M : ℝ), ∀ y ∈ E, -M ≤ g y) (hUpperBound : ∃ (M : ℝ), ∀ y ∈ E, g y ≤ M) {x : SourceCubeSpace n} (hx : x ∈ E) :

      The concrete envelopes are ordered on the defining set E.

      theorem AleksandrovDifferentiability.lowerMcShaneEnvelope_le_upperMcShaneEnvelope_of_mem_closure {n : ℕ} {K : NNReal} {E : Set (SourceCubeSpace n)} {g : SourceCubeSpace n → ℝ} [Nonempty ↑E] (hLowerBound : ∃ (M : ℝ), ∀ y ∈ E, -M ≤ g y) (hUpperBound : ∃ (M : ℝ), ∀ y ∈ E, g y ≤ M) {x : SourceCubeSpace n} (hx : x ∈ closure E) :

      By continuity, the concrete envelopes are ordered on closure E.

      theorem AleksandrovDifferentiability.lowerMcShaneEnvelope_eventually_le_upperMcShaneEnvelope_of_mem_open_subset_closure {n : ℕ} {K : NNReal} {E U : Set (SourceCubeSpace n)} {g : SourceCubeSpace n → ℝ} [Nonempty ↑E] (hLowerBound : ∃ (M : ℝ), ∀ y ∈ E, -M ≤ g y) (hUpperBound : ∃ (M : ℝ), ∀ y ∈ E, g y ≤ M) (hUopen : IsOpen U) (hUclosure : U ⊆ closure E) {x : SourceCubeSpace n} (hxU : x ∈ U) :

      Local order of the concrete envelopes near points in an open set contained in closure E.

      theorem AleksandrovDifferentiability.lipschitzEnvelope_touching_hasFDerivAt_eq {n : ℕ} {gminus gplus : SourceCubeSpace n → ℝ} {x0 : SourceCubeSpace n} {Lminus Lplus : SourceCubeSpace n →L[ℝ] ℝ} (horder : ∀ᶠ (x : SourceCubeSpace n) in nhds x0, gminus x ≤ gplus x) (htouch : gminus x0 = gplus x0) (hdminus : HasFDerivAt gminus Lminus x0) (hdplus : HasFDerivAt gplus Lplus x0) :
      Lminus = Lplus

      If two differentiable envelopes are ordered near a point and touch at that point, then their derivatives agree there.

      This is the Fermat-theorem step in the source proof, applied to gplus - gminus.

      theorem AleksandrovDifferentiability.lipschitzEnvelope_squeeze_expansion {n : ℕ} {E : Set (SourceCubeSpace n)} {g gminus gplus : SourceCubeSpace n → ℝ} {x0 ell : SourceCubeSpace n} (hlower : ∀ᶠ (x : SourceCubeSpace n) in nhdsWithin x0 E, gminus x - gminus x0 ≤ g x - g x0) (hupper : ∀ᶠ (x : SourceCubeSpace n) in nhdsWithin x0 E, g x - g x0 ≤ gplus x - gplus x0) (hdminus : HasFDerivAt gminus ((InnerProductSpace.toDual ℝ (SourceCubeSpace n)) ell) x0) (hdplus : HasFDerivAt gplus ((InnerProductSpace.toDual ℝ (SourceCubeSpace n)) ell) x0) :
      (fun (x : SourceCubeSpace n) => g x - g x0 - inner ℝ ell (x - x0)) =o[nhdsWithin x0 E] fun (x : SourceCubeSpace n) => ‖x - x0‖

      Abstract squeeze step for the source proof's Lipschitz envelopes.

      In the source notation, gminus and gplus are the lower and upper McShane envelopes of a coordinate derivative g on the dense differentiability set E. If the two envelopes are differentiable at x0 with the same derivative ell, and the increments of g are eventually squeezed between the envelope increments along E, then g has the same first-order expansion along E.

      theorem AleksandrovDifferentiability.lipschitzEnvelope_touching_squeeze_expansion {n : ℕ} {E : Set (SourceCubeSpace n)} {g gminus gplus : SourceCubeSpace n → ℝ} {x0 : SourceCubeSpace n} {Lminus Lplus : SourceCubeSpace n →L[ℝ] ℝ} (horder : ∀ᶠ (x : SourceCubeSpace n) in nhds x0, gminus x ≤ gplus x) (htouch : gminus x0 = gplus x0) (hlower : ∀ᶠ (x : SourceCubeSpace n) in nhdsWithin x0 E, gminus x - gminus x0 ≤ g x - g x0) (hupper : ∀ᶠ (x : SourceCubeSpace n) in nhdsWithin x0 E, g x - g x0 ≤ gplus x - gplus x0) (hdminus : HasFDerivAt gminus Lminus x0) (hdplus : HasFDerivAt gplus Lplus x0) :
      ∃ (ell : SourceCubeSpace n), (fun (x : SourceCubeSpace n) => g x - g x0 - inner ℝ ell (x - x0)) =o[nhdsWithin x0 E] fun (x : SourceCubeSpace n) => ‖x - x0‖

      Packaged touching-envelope squeeze step.

      This combines the Fermat-theorem derivative-agreement step with lipschitzEnvelope_squeeze_expansion. It returns the row vector representing the common derivative of the two scalar envelopes.

      theorem AleksandrovDifferentiability.lipschitzEnvelope_ae_touching_squeeze_expansion_of_mem {n : ℕ} {E F : Set (SourceCubeSpace n)} {g gminus gplus : SourceCubeSpace n → ℝ} {Kminus Kplus : NNReal} (hminusLip : LipschitzWith Kminus gminus) (hplusLip : LipschitzWith Kplus gplus) (horder : ∀ (x : SourceCubeSpace n), gminus x ≤ gplus x) (htouch : ∀ x ∈ F, gminus x = gplus x) (hlower : ∀ x ∈ F, ∀ᶠ (y : SourceCubeSpace n) in nhdsWithin x E, gminus y - gminus x ≤ g y - g x) (hupper : ∀ x ∈ F, ∀ᶠ (y : SourceCubeSpace n) in nhdsWithin x E, g y - g x ≤ gplus y - gplus x) :
      ∀ᵐ (x : SourceCubeSpace n), x ∈ F → ∃ (ell : SourceCubeSpace n), (fun (y : SourceCubeSpace n) => g y - g x - inner ℝ ell (y - x)) =o[nhdsWithin x E] fun (y : SourceCubeSpace n) => ‖y - x‖

      A.e. envelope bridge for a fixed coordinate-gradient function.

      Once the lower and upper envelopes are globally Lipschitz, Rademacher gives differentiability of both envelopes almost everywhere. At points of the touching set F, the touching/squeeze lemma then gives the first-order expansion of the squeezed function along E.

      theorem AleksandrovDifferentiability.lipschitzEnvelope_ae_touching_squeeze_expansion_of_mem_localOrder {n : ℕ} {E F : Set (SourceCubeSpace n)} {g gminus gplus : SourceCubeSpace n → ℝ} {Kminus Kplus : NNReal} (hminusLip : LipschitzWith Kminus gminus) (hplusLip : LipschitzWith Kplus gplus) (horder : ∀ x ∈ F, ∀ᶠ (y : SourceCubeSpace n) in nhds x, gminus y ≤ gplus y) (htouch : ∀ x ∈ F, gminus x = gplus x) (hlower : ∀ x ∈ F, ∀ᶠ (y : SourceCubeSpace n) in nhdsWithin x E, gminus y - gminus x ≤ g y - g x) (hupper : ∀ x ∈ F, ∀ᶠ (y : SourceCubeSpace n) in nhdsWithin x E, g y - g x ≤ gplus y - gplus x) :
      ∀ᵐ (x : SourceCubeSpace n), x ∈ F → ∃ (ell : SourceCubeSpace n), (fun (y : SourceCubeSpace n) => g y - g x - inner ℝ ell (y - x)) =o[nhdsWithin x E] fun (y : SourceCubeSpace n) => ‖y - x‖

      A.e. envelope bridge with only local order near points of F.

      This is the form used by the source proof: the envelopes are ordered on the working open cube, so they are ordered in a neighborhood of each point of F.

      theorem AleksandrovDifferentiability.lipschitzEnvelope_ae_touching_squeeze_expansion {n : ℕ} {E F : Set (SourceCubeSpace n)} {g gminus gplus : SourceCubeSpace n → ℝ} {Kminus Kplus : NNReal} (hminusLip : LipschitzWith Kminus gminus) (hplusLip : LipschitzWith Kplus gplus) (horder : ∀ (x : SourceCubeSpace n), gminus x ≤ gplus x) (htouch : ∀ x ∈ F, gminus x = gplus x) (hlower : ∀ x ∈ F, ∀ᶠ (y : SourceCubeSpace n) in nhdsWithin x E, gminus y - gminus x ≤ g y - g x) (hupper : ∀ x ∈ F, ∀ᶠ (y : SourceCubeSpace n) in nhdsWithin x E, g y - g x ≤ gplus y - gplus x) (hF : MeasurableSet F) :
      ∀ᵐ (x : SourceCubeSpace n) ∂MeasureTheory.volume.restrict F, ∃ (ell : SourceCubeSpace n), (fun (y : SourceCubeSpace n) => g y - g x - inner ℝ ell (y - x)) =o[nhdsWithin x E] fun (y : SourceCubeSpace n) => ‖y - x‖

      Restricted-measure form of lipschitzEnvelope_ae_touching_squeeze_expansion_of_mem.

      theorem AleksandrovDifferentiability.lipschitzEnvelope_ae_touching_squeeze_expansion_localOrder {n : ℕ} {E F : Set (SourceCubeSpace n)} {g gminus gplus : SourceCubeSpace n → ℝ} {Kminus Kplus : NNReal} (hminusLip : LipschitzWith Kminus gminus) (hplusLip : LipschitzWith Kplus gplus) (horder : ∀ x ∈ F, ∀ᶠ (y : SourceCubeSpace n) in nhds x, gminus y ≤ gplus y) (htouch : ∀ x ∈ F, gminus x = gplus x) (hlower : ∀ x ∈ F, ∀ᶠ (y : SourceCubeSpace n) in nhdsWithin x E, gminus y - gminus x ≤ g y - g x) (hupper : ∀ x ∈ F, ∀ᶠ (y : SourceCubeSpace n) in nhdsWithin x E, g y - g x ≤ gplus y - gplus x) (hF : MeasurableSet F) :
      ∀ᵐ (x : SourceCubeSpace n) ∂MeasureTheory.volume.restrict F, ∃ (ell : SourceCubeSpace n), (fun (y : SourceCubeSpace n) => g y - g x - inner ℝ ell (y - x)) =o[nhdsWithin x E] fun (y : SourceCubeSpace n) => ‖y - x‖

      Restricted-measure local-order form of lipschitzEnvelope_ae_touching_squeeze_expansion_of_mem_localOrder.

      theorem AleksandrovDifferentiability.lowerUpperMcShaneEnvelope_ae_squeeze_of_cross_bound {n : ℕ} {K : NNReal} {E F : Set (SourceCubeSpace n)} {g : SourceCubeSpace n → ℝ} [Nonempty ↑E] (hLowerBound : ∃ (M : ℝ), ∀ y ∈ E, -M ≤ g y) (hUpperBound : ∃ (M : ℝ), ∀ y ∈ E, g y ≤ M) (hFE : F ⊆ E) (hcross : ∀ x ∈ F, ∀ y ∈ E, |g y - g x| ≤ ↑K * dist y x) (horder : ∀ (x : SourceCubeSpace n), lowerMcShaneEnvelope K E g x ≤ upperMcShaneEnvelope K E g x) (hF : MeasurableSet F) :
      ∀ᵐ (x : SourceCubeSpace n) ∂MeasureTheory.volume.restrict F, ∃ (ell : SourceCubeSpace n), (fun (y : SourceCubeSpace n) => g y - g x - inner ℝ ell (y - x)) =o[nhdsWithin x E] fun (y : SourceCubeSpace n) => ‖y - x‖

      Concrete McShane-envelope a.e. squeeze wrapper.

      After the source proof establishes the remaining order fact g^- <= g^+ for the concrete envelopes, the boundedness and cross-estimate hypotheses give all other inputs needed by the abstract a.e. envelope bridge.

      theorem AleksandrovDifferentiability.lowerUpperMcShaneEnvelope_ae_squeeze_of_cross_bound_on_open {n : ℕ} {K : NNReal} {E F U : Set (SourceCubeSpace n)} {g : SourceCubeSpace n → ℝ} [Nonempty ↑E] (hLowerBound : ∃ (M : ℝ), ∀ y ∈ E, -M ≤ g y) (hUpperBound : ∃ (M : ℝ), ∀ y ∈ E, g y ≤ M) (hFE : F ⊆ E) (hFU : F ⊆ U) (hUopen : IsOpen U) (hUclosure : U ⊆ closure E) (hcross : ∀ x ∈ F, ∀ y ∈ E, |g y - g x| ≤ ↑K * dist y x) (hF : MeasurableSet F) :
      ∀ᵐ (x : SourceCubeSpace n) ∂MeasureTheory.volume.restrict F, ∃ (ell : SourceCubeSpace n), (fun (y : SourceCubeSpace n) => g y - g x - inner ℝ ell (y - x)) =o[nhdsWithin x E] fun (y : SourceCubeSpace n) => ‖y - x‖

      Concrete McShane-envelope a.e. squeeze wrapper on an open working set.

      This is the source-faithful form: if the working open set U lies in closure E, then density and continuity provide the local order g^- <= g^+ near every point of F ⊆ U.

      theorem AleksandrovDifferentiability.lowerUpperMcShaneEnvelope_ae_squeeze_of_cross_bound_on_open_of_mem {n : ℕ} {K : NNReal} {E F U : Set (SourceCubeSpace n)} {g : SourceCubeSpace n → ℝ} [Nonempty ↑E] (hLowerBound : ∃ (M : ℝ), ∀ y ∈ E, -M ≤ g y) (hUpperBound : ∃ (M : ℝ), ∀ y ∈ E, g y ≤ M) (hFE : F ⊆ E) (hFU : F ⊆ U) (hUopen : IsOpen U) (hUclosure : U ⊆ closure E) (hcross : ∀ x ∈ F, ∀ y ∈ E, |g y - g x| ≤ ↑K * dist y x) :
      ∀ᵐ (x : SourceCubeSpace n), x ∈ F → ∃ (ell : SourceCubeSpace n), (fun (y : SourceCubeSpace n) => g y - g x - inner ℝ ell (y - x)) =o[nhdsWithin x E] fun (y : SourceCubeSpace n) => ‖y - x‖

      Ambient-measure version of lowerUpperMcShaneEnvelope_ae_squeeze_of_cross_bound_on_open, avoiding a measurability assumption on the touching set F.

      Concrete source-envelope conclusion for one coordinate of the Fréchet gradient on an integer good set.

      For almost every ambient point, membership in Omega_m implies that the i-th coordinate of grad u has a first-order expansion as the variable tends to the point through the differentiability set D_{3/2}.

      Source-envelope output assembled over all coordinates: at almost every point of an integer good set, the Fréchet gradient has a first-order expansion along D_{3/2}.

      Source-route a.e. gradient expansion after choosing an integer good set.

      This is the countable-good-set assembly of cubeGoodSet_nat_ae_frechetGradient_expansion_three_halves_of_mem: the source cover theorem shows that Q_1 is covered up to a null set by the integer good sets, and the fixed-good-set envelope theorem supplies the linearization on whichever good set contains the point.