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 ustopLoss mu u J u) ∀ (u : ), 0 ustopLoss (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 ustopLoss mu u stopLoss nu u) (hneg : ∀ (u : ), 0 ustopLoss (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 < xphi 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 a0 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 tabsTail muStar t = s t) ∀ (u : ), 0 ustopLoss muStar u = J u
            theorem OneDimConvexDom.optimality_c0 (c : ) :
            0 < cc < 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 f0 wP fun (x : ) => f x + w * psi u x) (f : ) :
                IsSimpleConvex fP 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 : vs, 0 w v) (hz : vt, 0 z v) (f : ) (hf : ∀ (x : ), f x = a * x + b + vs, w v * psi v x) (g : ) (hg : ∀ (x : ), g x = c * x + d + vt, z v * psi v x) (h_eq : f u = g u) (h_le : xu, g x f x) (h_ge : xu, f x g x) (v : ) :
                      v glue_s s t u0 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 + vs, w v * psi v x) (g : ) (hg : ∀ (x : ), g x = c * x + d + vt, z v * psi v x) (h_eq : f u = g u) (x : ) :
                      (if x u then f x else g x) = a * x + b + vglue_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 : xu, g x f x) (h_ge : xu, 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 : xs, 0 w x) (h_uv : u < v) (x : ) :
                        x flatten_s s u v0 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 : xs, 0 w x) (h_uv : u < v) (x : ) :
                            x flatten_s s u v0 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 = ks, 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 = ks, 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) :
                                kflatten_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) :
                                kflatten_s s u v, flatten_w_v3 s w u v k * k = ks, w k * k
                                theorem OneDimConvexDom.MaxAffineIsSimpleStatement.flatten_w_v3_moment' (s : Finset ) (w : ) (u v : ) (h_uv : u < v) :
                                kflatten_s s u v, flatten_w_v3 s w u v k * k = ks, w k * k
                                theorem OneDimConvexDom.MaxAffineIsSimpleStatement.flatten_w_v3_moment_eq (s : Finset ) (w : ) (u v : ) (h_uv : u < v) :
                                kflatten_s s u v, flatten_w_v3 s w u v k * k = ks, 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 : ks1, w1 k * k = ks2, w2 k * k) (h_supp : kv, (k s1 k s2) (k s1w1 k = w2 k)) (x : ) :
                                x vks1, w1 k * psi k x = ks2, 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 : ks1, w1 k * k = ks2, w2 k * k) (h_eq : k > v, (k s1 k s2) (k s1w1 k = w2 k)) (x : ) :
                                x vks1, w1 k * psi k x = ks2, 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 + ks, w k * psi k x) (h_uv : u < v) (x : ) :
                                x ua * x + b + kflatten_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 + ks, w k * psi k x) (h_uv : u < v) (x : ) :
                                x va * x + b + kflatten_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 + ks, w k * psi k x) (h_uv : u < v) (x : ) :
                                x va * x + b + kflatten_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 gMeasureTheory.Integrable g muMeasureTheory.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.