Documentation

LeanPool.Isoperimetric.PrekopaLeindler

The Prékopa–Leindler inequality #

Following Terence Tao's blog post on the Brunn–Minkowski inequality, this file proves the Prékopa–Leindler inequality on ℝⁿ (with n = d + 1). The proof proceeds by reducing to the one-dimensional case via the layer-cake formula and then induction on the dimension.

theorem brunn_minkowski_1d_compact {A B C : Set } (h : A + B C) (hA_nonempty : A.Nonempty) (hA_compact : IsCompact A) (hB_nonempty : B.Nonempty) (hB_compact : IsCompact B) :

Brunn–Minkowski in one dimension for compact sets.

Brunn–Minkowski in one dimension when one of the sets has infinite volume.

theorem brunn_minkowski_1d {A B C : Set } (h : A + B C) (hA_nonempty : A.Nonempty) (hA_measurable : MeasurableSet A) (hB_nonempty : B.Nonempty) (hB_measurable : MeasurableSet B) :

Brunn–Minkowski in one dimension for measurable sets.

The volume of the superlevel set {x | t ≤ f x} is measurable in t.

theorem layercake {f : ENNReal} (hf_measurable : Measurable f) :

The layer-cake formula for ENNReal-valued functions on .

theorem lintegral_eq_vol_superlevelset_lintegral_01 {f : ENNReal} (hf_bound : f 1) (hf_measurable : Measurable f) :
∫⁻ (x : ), f x = ∫⁻ (t : ) in Set.Ioo 0 1, (fun (t : ) => MeasureTheory.volume {x : | ENNReal.ofReal t f x}) t

Layer-cake formula on (0, 1) for functions bounded by 1.

theorem weighted_amgm {θ a b : } ( : 0 < θ θ < 1) (ha : 0 a) (hb : 0 b) :
((1 - θ) ^ (1 - θ) * θ ^ θ)⁻¹ * a ^ (1 - θ) * b ^ θ a + b

A weighted AM–GM inequality.

theorem prekopa_leindler_1d_normalized {θ : } {f g h : ENNReal} ( : 0 < θ θ < 1) (hf_measurable : Measurable f) (hf_sup1 : iSup f = 1) (hg_measurable : Measurable g) (hg_sup1 : iSup g = 1) (hh_measurable : Measurable h) (hfgh : ∀ (x y : ), f x ^ (1 - θ) * g y ^ θ h (x + y)) :
ENNReal.ofReal ((1 - θ) ^ (1 - θ) * θ ^ θ)⁻¹ * (∫⁻ (x : ), f x) ^ (1 - θ) * (∫⁻ (x : ), g x) ^ θ ∫⁻ (x : ), h x

Prékopa–Leindler in one dimension assuming sup norm 1.

theorem prekopa_leindler_1d_bounded {θ : } {f g h : ENNReal} ( : 0 < θ θ < 1) (hf_measurable : Measurable f) (hf_bounded : iSup f ) (hg_measurable : Measurable g) (hg_bounded : iSup g ) (hh_measurable : Measurable h) (hfgh : ∀ (x y : ), f x ^ (1 - θ) * g y ^ θ h (x + y)) :
ENNReal.ofReal ((1 - θ) ^ (1 - θ) * θ ^ θ)⁻¹ * (∫⁻ (x : ), f x) ^ (1 - θ) * (∫⁻ (x : ), g x) ^ θ ∫⁻ (x : ), h x

Prékopa–Leindler in one dimension assuming bounded sup norm. This removes the sup norm 1 assumption of prekopa_leindler_1d_normalized by scaling.

theorem prekopa_leindler_1d {θ : } {f g h : ENNReal} ( : 0 < θ θ < 1) (hf_measurable : Measurable f) (hg_measurable : Measurable g) (hh_measurable : Measurable h) (hfgh : ∀ (x y : ), f x ^ (1 - θ) * g y ^ θ h (x + y)) :
ENNReal.ofReal ((1 - θ) ^ (1 - θ) * θ ^ θ)⁻¹ * (∫⁻ (x : ), f x) ^ (1 - θ) * (∫⁻ (x : ), g x) ^ θ ∫⁻ (x : ), h x

Prékopa–Leindler in one dimension. This removes the boundedness assumption of prekopa_leindler_1d_bounded using an approximation argument.

theorem lintegral_fin1 (F : (Fin 1)ENNReal) :
∫⁻ (v : Fin 1), F v = ∫⁻ (x : ), F fun (x_1 : Fin 1) => x

Lebesgue integral over Fin 1 → ℝ rewritten as an integral over .

def append {d : } (x : Fin d) (t : Fin 1) :
Fin (d + 1)

Append a single coordinate to a vector to get a vector with one more coordinate.

Equations
Instances For
    theorem append_measurable {d : } (x : Fin d) :

    append x is measurable in its second argument.

    theorem append_measurable' {d : } (t : Fin 1) :
    Measurable fun (x : Fin d) => append x t

    append · t is measurable in its first argument.

    theorem append_linear {d : } (x1 y1 : Fin (d + 1)) (x y : Fin 1) :
    append x1 x + append y1 y = append (x1 + y1) (x + y)

    append distributes over addition.

    def fix {d : } (F : (Fin (d + 1))ENNReal) (x : Fin d) :
    (Fin 1)ENNReal

    Turn a function F : ℝ^{d+1} → ENNReal into a function ℝ^1 → ENNReal by fixing the first d components to x.

    Equations
    Instances For
      theorem fix_measurable {d : } {F : (Fin (d + 1))ENNReal} (hF : Measurable F) (x : Fin d) :

      fix of a measurable function is measurable.

      theorem fix_apply {d : } (F : (Fin (d + 1))ENNReal) (x : Fin d) (y : Fin 1) :
      fix F x y = F (append x y)

      Application form of fix.

      theorem lintegral_fix_eq_lmarginal {d : } (F : (Fin (d + 2))ENNReal) (x1 : Fin (d + 1)) :
      ∫⁻ (y : Fin 1), fix F x1 y = (∫⋯∫⁻_{d + 1, }, F fun (x : Fin (d + 2)) => MeasureTheory.volume) (append x1 default)

      The integral of fix F x1 over Fin 1 → ℝ equals an lmarginal of F.

      theorem lintegral_fix_lintegral_eq_lintegral {d : } {f : (Fin (d + 2))ENNReal} (hf_measurable : Measurable f) :
      ∫⁻ (x : Fin (d + 1)) (t : Fin 1), fix f x t = ∫⁻ (x : Fin (d + 2)), f x

      Iterated integral of fix f recovers the integral of f.

      def PLConditions (n : ) (θ : ) (f g h : (Fin n)ENNReal) :

      The hypotheses of the Prékopa–Leindler inequality bundled together.

      Equations
      Instances For
        theorem prekopa_leindler_1d_fin1 {θ : } {f g h : (Fin 1)ENNReal} (hθfgh : PLConditions 1 θ f g h) :
        ENNReal.ofReal ((1 - θ) ^ (1 - θ) * θ ^ θ)⁻¹ * (∫⁻ (x : Fin 1), f x) ^ (1 - θ) * (∫⁻ (x : Fin 1), g x) ^ θ ∫⁻ (x : Fin 1), h x

        Prékopa–Leindler for Fin 1 → ℝ (a small wrapper around prekopa_leindler_1d).

        theorem prekopa_leindler {d : } {θ : } {f g h : (Fin (d + 1))ENNReal} (hθfgh : PLConditions (d + 1) θ f g h) :
        ENNReal.ofReal ((1 - θ) ^ ((d + 1) * (1 - θ)) * θ ^ ((d + 1) * θ))⁻¹ * (∫⁻ (x : Fin (d + 1)), f x) ^ (1 - θ) * (∫⁻ (x : Fin (d + 1)), g x) ^ θ ∫⁻ (x : Fin (d + 1)), h x

        The Prékopa–Leindler inequality in arbitrary dimension, proved by induction over the dimension.