Documentation

Atlas.AnAlgorithmistsToolkit.code.BrunnMinkowski

def BrunnMinkowski.minkowskiSum {α : Type u_1} [Add α] (A B : Set α) :
Set α
Instances For
    theorem BrunnMinkowski.singleton_add_subset_add {G : Type u_1} [AddCommGroup G] {A B : Set G} {a : G} (ha : a A) :
    {a} + B A + B
    theorem BrunnMinkowski.measure_add_ge_max {G : Type u_1} [AddCommGroup G] [MeasurableSpace G] [MeasurableAdd G] (μ : MeasureTheory.Measure G) [μ.IsAddLeftInvariant] {A B : Set G} (hA : A.Nonempty) (hB : B.Nonempty) :
    max (μ A) (μ B) μ (A + B)
    Instances For
      def BrunnMinkowski.slice {E : Type u_2} (K : Set ( × E)) (t : ) :
      Set E
      Instances For
        theorem BrunnMinkowski.slice_volume_concavity_ineq {n : } (hn : 0 < n) (K : Set ( × (Fin n))) (hK : Convex K) (s : Set ) (hs : s = {t : | (slice K t).Nonempty}) t₁ : :
        t₁ s∀ ⦃t₂ : ⦄, t₂ s∀ ⦃a b : ⦄, 0 a0 ba + b = 1a * (MeasureTheory.volume (slice K t₁)).toReal ^ (1 / n) + b * (MeasureTheory.volume (slice K t₂)).toReal ^ (1 / n) (MeasureTheory.volume (slice K (a * t₁ + b * t₂))).toReal ^ (1 / n)
        theorem BrunnMinkowski.brunns_theorem {n : } (hn : 0 < n) (K : Set ( × (Fin n))) (hK : Convex K) (s : Set ) (hs : s = {t : | (slice K t).Nonempty}) :
        ConcaveOn s fun (t : ) => (MeasureTheory.volume (slice K t)).toReal ^ (1 / n)
        theorem BrunnMinkowski.convex_bodyOfRevolution_of_convex {n : } (hn : 0 < n) (K : Set ( × (Fin n))) (hK : Convex K) (s : Set ) (hs : s = {t : | (slice K t).Nonempty}) (f : ) (hf : f = fun (t : ) => (MeasureTheory.volume (slice K t)).toReal ^ (1 / n)) :
        theorem BrunnMinkowski.cone_volume_ratio_le_half (n : ) (hn : 0 < n) :
        (n / (n + 1)) ^ n 1 / 2
        theorem BrunnMinkowski.exp_neg_one_le_cone_volume_ratio (n : ) (hn : 0 < n) :
        Real.exp (-1) (n / (n + 1)) ^ n
        theorem BrunnMinkowski.cone_centroid_cut_bounds (n : ) (hn : 0 < n) :
        Real.exp (-1) (n / (n + 1)) ^ n (n / (n + 1)) ^ n 1 / 2
        theorem BrunnMinkowski.brunn_minkowski_boxes {n : } (hn : 0 < n) (a b : Fin n) (ha : ∀ (i : Fin n), 0 < a i) (hb : ∀ (i : Fin n), 0 < b i) :
        (∏ i : Fin n, (a i + b i)) ^ (1 / n) (∏ i : Fin n, a i) ^ (1 / n) + (∏ i : Fin n, b i) ^ (1 / n)
        theorem BrunnMinkowski.intersection_subset_hyperplane {m : } (A B : Set (Fin (m + 1))) (a₀ : Fin (m + 1)) (ha₀_max : aA, a 0 a₀ 0) (b₀ : Fin (m + 1)) (hb₀_min : bB, b₀ 0 b 0) :
        (A + {b₀}) ({a₀} + B) {x : Fin (m + 1) | x 0 = a₀ 0 + b₀ 0}
        theorem BrunnMinkowski.volume_add_le_volume_minkowski_sum {m : } (A B : Set (Fin (m + 1))) (hA_compact : IsCompact A) (hA_ne : A.Nonempty) (hB_compact : IsCompact B) (hB_ne : B.Nonempty) (hB_meas : MeasurableSet B) :
        noncomputable def GrunbaumsTheorem.centroid {n : } (K : Set (Fin (n + 1))) :
        Fin (n + 1)
        Instances For
          def GrunbaumsTheorem.closedHalfspace {n : } (f : (Fin (n + 1)) →ₗ[] ) (c : ) :
          Set (Fin (n + 1))
          Instances For
            theorem GrunbaumsTheorem.grunbaum_wlog_reduction {n : } (K : Set (Fin (n + 1))) (hK_convex : Convex K) (hK_compact : IsCompact K) (hK_interior : (interior K).Nonempty) (hK_meas : MeasurableSet K) (f : (Fin (n + 1)) →ₗ[] ) (c : ) (hcentroid : centroid K closedHalfspace f c) (hKnotsubH : ¬K closedHalfspace f c) :
            1 n ∃ (K' : Set (Fin (n + 1))), ConvexGeometry.IsConvexBody K' MeasureTheory.volume K' 0 MeasureTheory.volume K' (∃ xK', x 0 > 0) (∃ xK', x 0 < 0) 0 (x : Fin (n + 1)) in K', x 0 MeasureTheory.volume (K closedHalfspace f c) / MeasureTheory.volume K = MeasureTheory.volume (K' {x : Fin (n + 1) | 0 x 0}) / MeasureTheory.volume K'
            Instances For
              noncomputable def GrunbaumConeReplacement.volumeRatio {α : Type u_1} [MeasurableSpace α] (μ : MeasureTheory.Measure α) (K L : Set α) :
              Instances For
                Instances For
                  theorem GrunbaumConeReplacement.volumeRatio_eq_of_measures_eq {α : Type u_1} [MeasurableSpace α] (μ : MeasureTheory.Measure α) {K C L : Set α} (hvol_total : μ K = μ C) (hvol_part : μ (K L) = μ (C L)) :
                  volumeRatio μ K L = volumeRatio μ C L
                  theorem GrunbaumConeReplacement.volumeRatio_mono_right {α : Type u_1} [MeasurableSpace α] (μ : MeasureTheory.Measure α) (K : Set α) {L₁ L₂ : Set α} (h : L₁ L₂) :
                  volumeRatio μ K L₁ volumeRatio μ K L₂
                  theorem GrunbaumConeReplacement.volume_ratio_chain {α : Type u_1} [MeasurableSpace α] (μ : MeasureTheory.Measure α) {K C L L' : Set α} {b : ENNReal} (hvol_total : μ K = μ C) (hvol_part : μ (K L) = μ (C L)) (hL' : L' L) (hbound : b volumeRatio μ C L') :
                  b volumeRatio μ K L
                  theorem GrunbaumConeReplacement.lemma8_cone_construction (n : ) (hn : 1 n) (K' : Set (Fin (n + 1))) (hK' : ConvexGeometry.IsConvexBody K') (hpos : MeasureTheory.volume K' 0) (hfin : MeasureTheory.volume K' ) (hH_pos : xK', x 0 > 0) (hH_neg : xK', x 0 < 0) (hcentroid : 0 (x : Fin (n + 1)) in K', x 0) :
                  theorem GrunbaumConeReplacement.lemma8_volume_ratio_bound (n : ) (hn : 1 n) (K' : Set (Fin (n + 1))) (hK' : ConvexGeometry.IsConvexBody K') (hpos : MeasureTheory.volume K' 0) (hfin : MeasureTheory.volume K' ) (hH_pos : xK', x 0 > 0) (hH_neg : xK', x 0 < 0) (hcentroid : 0 (x : Fin (n + 1)) in K', x 0) :
                  theorem GrunbaumsTheorem.grunbaum_theorem {n : } (K : Set (Fin (n + 1))) (hK_convex : Convex K) (hK_compact : IsCompact K) (hK_interior : (interior K).Nonempty) (hK_meas : MeasurableSet K) (f : (Fin (n + 1)) →ₗ[] ) (c : ) (hcentroid : centroid K closedHalfspace f c) :