Documentation

ConvexSubgaussian.Internal.GaussianProof

Internal Gaussian Proof #

This internal module contains the main body of the existing formal proof.

Reader-facing API wrappers live in:

theorem OneDimConvexDom.stopLossDom_integral_convex {mu nu : MeasureTheory.Measure ℝ} [MeasureTheory.IsProbabilityMeasure mu] [MeasureTheory.IsProbabilityMeasure nu] (hDom : StopLossDom mu nu) {f : ℝ → ℝ} (hf : IsSimpleConvex f) (hIntMuId : MeasureTheory.Integrable (fun (x : ℝ) => x) mu) (hIntNuId : MeasureTheory.Integrable (fun (x : ℝ) => x) nu) (_hmu : MeasureTheory.Integrable f mu) (_hnu : MeasureTheory.Integrable f nu) :
∫ (x : ℝ), f x ∂mu ≤ ∫ (x : ℝ), f x ∂nu

2. Tail cap and envelope constants #

Equations
Instances For
    theorem OneDimConvexDom.J_of_le_a {u : ℝ} (hu : u ≤ a) :
    J u = B - p0 * u
    theorem OneDimConvexDom.J_of_gt_a {u : ℝ} (hu : a < u) :
    J u = ∫ (t : ℝ) in Set.Ioi u, s t
    theorem OneDimConvexDom.s_eq_gauss_tail_of_gt_t0 {x : ℝ} (hx : x > t0) :
    s x = 2 * Real.exp (-x ^ 2 / 2)

    3. Tail constraints and envelope #

    Equations
    Instances For
      theorem OneDimConvexDom.layer_cake_hinge {Ω : Type u_1} [MeasurableSpace Ω] {P : MeasureTheory.Measure Ω} [MeasureTheory.IsProbabilityMeasure P] {Y : Ω → ℝ} (hY : MeasureTheory.Integrable Y P) (u : ℝ) :
      ∫ (ω : Ω), hinge u (Y ω) ∂P = ∫ (t : ℝ) in Set.Ioi u, (P {ω : Ω | Y ω > t}).toReal
      theorem OneDimConvexDom.stopLoss_envelope_case_le_a {mu : MeasureTheory.Measure ℝ} [MeasureTheory.IsProbabilityMeasure mu] (hIntMuId : MeasureTheory.Integrable (fun (x : ℝ) => x) mu) (htail : subgaussianTail mu) (hmean : mean mu = 0) (u : ℝ) (hu0 : 0 ≤ u) (hua : u ≤ a) :
      stopLoss mu u ≤ J u
      theorem OneDimConvexDom.stopLoss_envelope {mu : MeasureTheory.Measure ℝ} [MeasureTheory.IsProbabilityMeasure mu] (hIntMuId : MeasureTheory.Integrable (fun (x : ℝ) => x) mu) (htail : subgaussianTail mu) (hmean : mean mu = 0) :
      (∀ (u : ℝ), 0 ≤ u → stopLoss mu u ≤ J u) ∧ ∀ (u : ℝ), 0 ≤ u → stopLoss (MeasureTheory.Measure.map (fun (x : ℝ) => -x) mu) u ≤ J u
      theorem OneDimConvexDom.stopLoss_extend_all_u {mu nu : MeasureTheory.Measure ℝ} [MeasureTheory.IsProbabilityMeasure mu] [MeasureTheory.IsProbabilityMeasure nu] (hIntMu : MeasureTheory.Integrable (fun (x : ℝ) => x) mu) (hIntNu : MeasureTheory.Integrable (fun (x : ℝ) => x) nu) (hmean : mean mu = mean nu) (hpos : ∀ (u : ℝ), 0 ≤ u → stopLoss mu u ≤ stopLoss nu u) (hneg : ∀ (u : ℝ), 0 ≤ u → stopLoss (MeasureTheory.Measure.map (fun (x : ℝ) => -x) mu) u ≤ stopLoss (MeasureTheory.Measure.map (fun (x : ℝ) => -x) nu) u) (u : ℝ) :

      4. Gaussian objects and comparison #

      Equations
      Instances For
        Equations
        Instances For
          theorem OneDimConvexDom.gaussian_call_closed_form (c u : ℝ) (hc : 0 < c) :
          ∫ (x : ℝ), hinge u (c * x) * phi x = c * phi (u / c) - u * PhiBar (u / c)
          theorem OneDimConvexDom.gSL_eq_gClosed (c u : ℝ) (hc : 0 < c) :
          gSL c u = gClosed c u
          theorem OneDimConvexDom.gClosed_deriv (c : ℝ) (hc : 0 < c) :
          (deriv fun (u : ℝ) => gClosed c u) = fun (u : ℝ) => -PhiBar (u / c)
          theorem OneDimConvexDom.gClosed_convex (c : ℝ) (hc : 0 < c) :
          ConvexOn ℝ Set.univ fun (u : ℝ) => gClosed c u
          theorem OneDimConvexDom.lemma_gauss_ge_J_case1 (_h_cond1 : a * (1 - 1 / c0 ^ 2) > 1) (_h_cond2 : c0 > 1) (u : ℝ) (_hu : 0 ≤ u) (hua : u ≤ a) :

          Numeric side condition kept as an explicit assumption.

          G1 boundary for Gaussian-vs-envelope: tail limit of J.

          Canonical Mills-ratio upper bound: phi / PhiBar ≤ x + 1/x for x>0.

          theorem OneDimConvexDom.phi_tail_ibp_Ioi (x : ℝ) (hx : 0 < x) :
          PhiBar x = phi x / x - ∫ (t : ℝ) in Set.Ioi x, phi t / t ^ 2
          theorem OneDimConvexDom.mills_bounds (x : ℝ) (hx : 0 < x) :
          x / (1 + x ^ 2) * phi x ≤ PhiBar x ∧ PhiBar x ≤ 1 / x * phi x
          theorem OneDimConvexDom.mills_ratio_bound (x : ℝ) :
          0 < x → phi x / PhiBar x ≤ x + 1 / x
          theorem OneDimConvexDom.R_strict_mono_on (h_cond1 : a * (1 - 1 / c0 ^ 2) > 1) (h_cond2 : c0 > 1) :
          StrictMonoOn (fun (u : ℝ) => R c0 u) (Set.Ici a)

          Ratio monotonicity used in the Gaussian-vs-envelope comparison (Rmono in LaTeX).

          theorem OneDimConvexDom.J_deriv_ge_a (u : ℝ) (hu : a < u) :
          deriv J u = -s u
          theorem OneDimConvexDom.D_deriv_ge_a (h_cond2 : c0 > 1) (u : ℝ) (hu : a < u) :
          deriv (fun (u : ℝ) => gClosed c0 u - J u) u = 2 * Real.exp (-u ^ 2 / 2) * (1 - R c0 u)
          theorem OneDimConvexDom.monotone_ratio_principle {a : ℝ} {D κ R : ℝ → ℝ} (hcont : ContinuousOn D (Set.Ici a)) (hdiff : DifferentiableOn ℝ D (Set.Ioi a)) (hderiv : ∀ u > a, deriv D u = κ u * (1 - R u)) (hkappa_pos : ∀ u > a, 0 < κ u) (hR_mono : MonotoneOn R (Set.Ioi a)) (h_start : 0 ≤ D a) (h_end : Filter.Tendsto D Filter.atTop (nhds 0)) (u : ℝ) :
          u ≥ a → 0 ≤ D u

          Monotone-ratio principle used in the Gaussian-vs-envelope comparison.

          5. Convex domination at scale c0 #

          6a. Extremal measure construction #

          noncomputable def OneDimConvexDom.fStar (x : ℝ) :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem OneDimConvexDom.integral_Ioi_fStar_of_lt_a {t : ℝ} (ht : t < a) (ht0 : 0 ≤ t) :
            ∫ (x : ℝ) in Set.Ioi t, fStar x = 2 * Real.exp (-a ^ 2 / 2)
            theorem OneDimConvexDom.hasDerivAt_two_exp_neg_sq_half (x : ℝ) :
            HasDerivAt (fun (x : ℝ) => 2 * Real.exp (-x ^ 2 / 2)) (-2 * x * Real.exp (-x ^ 2 / 2)) x
            theorem OneDimConvexDom.integral_Icc_neg_a_neg_t_fStar {t : ℝ} (ht0 : t0 ≤ t) (hta : t ≤ a) :
            ∫ (x : ℝ) in Set.Icc (-a) (-t), fStar x = 2 * Real.exp (-t ^ 2 / 2) - p0
            theorem OneDimConvexDom.integral_Iio_fStar_of_ge_t0_lt_a {t : ℝ} (ht0 : t0 ≤ t) (hta : t < a) :
            ∫ (x : ℝ) in Set.Iio (-t), fStar x = 2 * Real.exp (-t ^ 2 / 2) - p0
            theorem OneDimConvexDom.integral_Iio_fStar_of_lt_t0 {t : ℝ} (ht : t < t0) (ht0_nonneg : 0 ≤ t) :
            ∫ (x : ℝ) in Set.Iio (-t), fStar x = 1 - p0
            theorem OneDimConvexDom.s_eq_one_of_nonneg_lt_t0 {t : ℝ} (ht0 : 0 ≤ t) (ht : t < t0) :
            s t = 1
            theorem OneDimConvexDom.exists_extremal_measure :
            ∃ (muStar : MeasureTheory.Measure ℝ), MeasureTheory.IsProbabilityMeasure muStar ∧ mean muStar = 0 ∧ (∀ (t : ℝ), 0 ≤ t → absTail muStar t = s t) ∧ ∀ (u : ℝ), 0 ≤ u → stopLoss muStar u = J u
            theorem OneDimConvexDom.optimality_c0 (c : ℝ) :
            0 < c → c < c0 → ∃ (muStar : MeasureTheory.Measure ℝ), MeasureTheory.IsProbabilityMeasure muStar ∧ mean muStar = 0 ∧ subgaussianTail muStar ∧ ∃ (u : ℝ), stopLoss muStar u > stopLoss (gaussianScale c) u

            Main Convex-Domination Pipeline (Grouped API) #

            Simple-convex endpoint at scale c0 (renamed interface).

            The only remaining missing ingredient for full convex domination: reduce an arbitrary convex integrand to the simple-convex case.

            Aristotle finite max-affine proof (in-file) #

            In-file Aristotle proof: MaxAffineIsSimpleStatement.psi through max_affine_is_simple. Transport to this file's IsSimpleConvex/psi via the bridge theorem below.

            Equations
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem OneDimConvexDom.MaxAffineIsSimpleStatement.IsSimpleConvex_induction {P : (ℝ → ℝ) → Prop} (h_affine : ∀ (a b : ℝ), P fun (x : ℝ) => a * x + b) (h_add_hinge : ∀ (f : ℝ → ℝ) (u w : ℝ), P f → 0 ≤ w → P fun (x : ℝ) => f x + w * psi u x) (f : ℝ → ℝ) :
                IsSimpleConvex f → P f
                Equations
                Instances For
                  Equations
                  Instances For
                    Equations
                    Instances For
                      theorem OneDimConvexDom.MaxAffineIsSimpleStatement.glue_w_nonneg (s t : Finset ℝ) (w z : ℝ → ℝ) (u a b c d : ℝ) (hw : ∀ v ∈ s, 0 ≤ w v) (hz : ∀ v ∈ t, 0 ≤ z v) (f : ℝ → ℝ) (hf : ∀ (x : ℝ), f x = a * x + b + ∑ v ∈ s, w v * psi v x) (g : ℝ → ℝ) (hg : ∀ (x : ℝ), g x = c * x + d + ∑ v ∈ t, z v * psi v x) (h_eq : f u = g u) (h_le : ∀ x ≤ u, g x ≤ f x) (h_ge : ∀ x ≥ u, f x ≤ g x) (v : ℝ) :
                      v ∈ glue_s s t u → 0 ≤ glue_w s t w z u a c v
                      theorem OneDimConvexDom.MaxAffineIsSimpleStatement.glue_eq (s t : Finset ℝ) (w z : ℝ → ℝ) (u a b c d : ℝ) (f : ℝ → ℝ) (hf : ∀ (x : ℝ), f x = a * x + b + ∑ v ∈ s, w v * psi v x) (g : ℝ → ℝ) (hg : ∀ (x : ℝ), g x = c * x + d + ∑ v ∈ t, z v * psi v x) (h_eq : f u = g u) (x : ℝ) :
                      (if x ≤ u then f x else g x) = a * x + b + ∑ v ∈ glue_s s t u, glue_w s t w z u a c v * psi v x
                      theorem OneDimConvexDom.MaxAffineIsSimpleStatement.IsSimpleConvex_glue (f g : ℝ → ℝ) (u : ℝ) (hf : IsSimpleConvex f) (hg : IsSimpleConvex g) (h_eq : f u = g u) (h_le : ∀ x ≤ u, g x ≤ f x) (h_ge : ∀ x ≥ u, f x ≤ g x) :
                      IsSimpleConvex fun (x : ℝ) => if x ≤ u then f x else g x
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        theorem OneDimConvexDom.MaxAffineIsSimpleStatement.flatten_w_nonneg (s : Finset ℝ) (w : ℝ → ℝ) (u v : ℝ) (hw : ∀ x ∈ s, 0 ≤ w x) (h_uv : u < v) (x : ℝ) :
                        x ∈ flatten_s s u v → 0 ≤ flatten_w s w u v x
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            theorem OneDimConvexDom.MaxAffineIsSimpleStatement.flatten_w_v3_nonneg (s : Finset ℝ) (w : ℝ → ℝ) (u v : ℝ) (hw : ∀ x ∈ s, 0 ≤ w x) (h_uv : u < v) (x : ℝ) :
                            x ∈ flatten_s s u v → 0 ≤ flatten_w_v3 s w u v x
                            Equations
                            Instances For
                              Equations
                              Instances For
                                theorem OneDimConvexDom.MaxAffineIsSimpleStatement.Cu_add_Cv (s : Finset ℝ) (w : ℝ → ℝ) (u v : ℝ) (h_ne : u ≠ v) :
                                Cu s w u v + Cv s w u v = ∑ k ∈ s, if u < k ∧ k < v then w k else 0
                                theorem OneDimConvexDom.MaxAffineIsSimpleStatement.u_Cu_add_v_Cv (s : Finset ℝ) (w : ℝ → ℝ) (u v : ℝ) (h_ne : u ≠ v) :
                                u * Cu s w u v + v * Cv s w u v = ∑ k ∈ s, if u < k ∧ k < v then w k * k else 0
                                theorem OneDimConvexDom.MaxAffineIsSimpleStatement.flatten_w_v3_sum (s : Finset ℝ) (w : ℝ → ℝ) (u v : ℝ) (h_uv : u < v) :
                                ∑ k ∈ flatten_s s u v, flatten_w_v3 s w u v k = s.sum w
                                theorem OneDimConvexDom.MaxAffineIsSimpleStatement.flatten_w_v3_moment (s : Finset ℝ) (w : ℝ → ℝ) (u v : ℝ) (h_uv : u < v) :
                                ∑ k ∈ flatten_s s u v, flatten_w_v3 s w u v k * k = ∑ k ∈ s, w k * k
                                theorem OneDimConvexDom.MaxAffineIsSimpleStatement.flatten_w_v3_moment' (s : Finset ℝ) (w : ℝ → ℝ) (u v : ℝ) (h_uv : u < v) :
                                ∑ k ∈ flatten_s s u v, flatten_w_v3 s w u v k * k = ∑ k ∈ s, w k * k
                                theorem OneDimConvexDom.MaxAffineIsSimpleStatement.flatten_w_v3_moment_eq (s : Finset ℝ) (w : ℝ → ℝ) (u v : ℝ) (h_uv : u < v) :
                                ∑ k ∈ flatten_s s u v, flatten_w_v3 s w u v k * k = ∑ k ∈ s, w k * k
                                theorem OneDimConvexDom.MaxAffineIsSimpleStatement.sum_psi_eq_of_moments_eq (s1 s2 : Finset ℝ) (w1 w2 : ℝ → ℝ) (v : ℝ) (h_sum : s1.sum w1 = s2.sum w2) (h_moment : ∑ k ∈ s1, w1 k * k = ∑ k ∈ s2, w2 k * k) (h_supp : ∀ k ≥ v, (k ∈ s1 ↔ k ∈ s2) ∧ (k ∈ s1 → w1 k = w2 k)) (x : ℝ) :
                                x ≥ v → ∑ k ∈ s1, w1 k * psi k x = ∑ k ∈ s2, w2 k * psi k x
                                theorem OneDimConvexDom.MaxAffineIsSimpleStatement.sum_psi_eq_ge_v (s1 s2 : Finset ℝ) (w1 w2 : ℝ → ℝ) (v : ℝ) (h_sum : s1.sum w1 = s2.sum w2) (h_moment : ∑ k ∈ s1, w1 k * k = ∑ k ∈ s2, w2 k * k) (h_eq : ∀ k > v, (k ∈ s1 ↔ k ∈ s2) ∧ (k ∈ s1 → w1 k = w2 k)) (x : ℝ) :
                                x ≥ v → ∑ k ∈ s1, w1 k * psi k x = ∑ k ∈ s2, w2 k * psi k x
                                theorem OneDimConvexDom.MaxAffineIsSimpleStatement.flatten_eq_le_u (s : Finset ℝ) (w : ℝ → ℝ) (u v a b : ℝ) (f : ℝ → ℝ) (hf : ∀ (x : ℝ), f x = a * x + b + ∑ k ∈ s, w k * psi k x) (h_uv : u < v) (x : ℝ) :
                                x ≤ u → a * x + b + ∑ k ∈ flatten_s s u v, flatten_w_v3 s w u v k * psi k x = f x
                                theorem OneDimConvexDom.MaxAffineIsSimpleStatement.flatten_eq_ge_v (s : Finset ℝ) (w : ℝ → ℝ) (u v a b : ℝ) (f : ℝ → ℝ) (hf : ∀ (x : ℝ), f x = a * x + b + ∑ k ∈ s, w k * psi k x) (h_uv : u < v) (x : ℝ) :
                                x ≥ v → a * x + b + ∑ k ∈ flatten_s s u v, flatten_w_v3 s w u v k * psi k x = f x
                                theorem OneDimConvexDom.MaxAffineIsSimpleStatement.flatten_eq_ge_v' (s : Finset ℝ) (w : ℝ → ℝ) (u v a b : ℝ) (f : ℝ → ℝ) (hf : ∀ (x : ℝ), f x = a * x + b + ∑ k ∈ s, w k * psi k x) (h_uv : u < v) (x : ℝ) :
                                x ≥ v → a * x + b + ∑ k ∈ flatten_s s u v, flatten_w_v3 s w u v k * psi k x = f x
                                theorem OneDimConvexDom.MaxAffineIsSimpleStatement.max_affine_is_simple {ι : Type u_1} [DecidableEq ι] (s : Finset ι) (hs : s.Nonempty) (L : ι → ℝ →L[ℝ] ℝ) (c : ι → ℝ) :
                                IsSimpleConvex fun (x : ℝ) => s.sup' hs fun (i : ι) => (L i) x + c i
                                theorem OneDimConvexDom.max_affine_is_simple {ι : Type u_1} (s : Finset ι) (hs : s.Nonempty) (L : ι → ℝ →L[ℝ] ℝ) (c : ι → ℝ) :
                                IsSimpleConvex fun (x : ℝ) => s.sup' hs fun (i : ι) => (L i) x + c i

                                Bridge: transport Aristotle's max_affine_is_simple to this file's IsSimpleConvex/psi.

                                theorem OneDimConvexDom.real_univ_sSup_of_nat_affine_le_eq {f : ℝ → ℝ} (hLsc : LowerSemicontinuous f) (hConv : ConvexOn ℝ Set.univ f) :
                                ∃ (l : ℕ → ℝ →L[ℝ] ℝ) (c : ℕ → ℝ), (∀ (i : ℕ) (x : ℝ), (l i) x + c i ≤ f x) ∧ ⨆ (i : ℕ), ⇑(l i) + Function.const ℝ (c i) = f
                                theorem OneDimConvexDom.convex_simpleApprox_exists {f : ℝ → ℝ} (hfConv : ConvexOn ℝ Set.univ f) :
                                ∃ (fn : ℕ → ℝ → ℝ), (∀ (n : ℕ), IsSimpleConvex (fn n)) ∧ (∀ (x : ℝ), Monotone fun (n : ℕ) => fn n x) ∧ ∀ (x : ℝ), Filter.Tendsto (fun (n : ℕ) => fn n x) Filter.atTop (nhds (f x))
                                noncomputable def OneDimConvexDom.simpleApproxSeq {f : ℝ → ℝ} (hfConv : ConvexOn ℝ Set.univ f) :
                                ℕ → ℝ → ℝ
                                Equations
                                Instances For
                                  theorem OneDimConvexDom.simpleApproxSeq_mono {f : ℝ → ℝ} (hfConv : ConvexOn ℝ Set.univ f) (x : ℝ) :
                                  Monotone fun (n : ℕ) => simpleApproxSeq hfConv n x
                                  theorem OneDimConvexDom.simpleApproxSeq_tendsto {f : ℝ → ℝ} (hfConv : ConvexOn ℝ Set.univ f) (x : ℝ) :
                                  Filter.Tendsto (fun (n : ℕ) => simpleApproxSeq hfConv n x) Filter.atTop (nhds (f x))
                                  theorem OneDimConvexDom.convexReduction_to_simple_c0 {mu : MeasureTheory.Measure ℝ} [MeasureTheory.IsProbabilityMeasure mu] (hIntMuId : MeasureTheory.Integrable (fun (x : ℝ) => x) mu) (_htail : subgaussianTail mu) (_hmean : mean mu = 0) {f : ℝ → ℝ} (hfConv : ConvexOn ℝ Set.univ f) (hmu : MeasureTheory.Integrable f mu) (hG : MeasureTheory.Integrable f (gaussianScale c0)) (hSimpleStep : ∀ {g : ℝ → ℝ}, IsSimpleConvex g → MeasureTheory.Integrable g mu → MeasureTheory.Integrable g (gaussianScale c0) → ∫ (x : ℝ), g x ∂mu ≤ ∫ (x : ℝ), g x ∂gaussianScale c0) :
                                  ∫ (x : ℝ), f x ∂mu ≤ ∫ (x : ℝ), f x ∂gaussianScale c0

                                  Two-step interface theorem:

                                  1. reduce convex f to simple-convex test functions,
                                  2. invoke the already-proved c0 simple-convex bound.