Documentation

Atlas.ProjectionTheory.code.HamSandwich

The open half-space {x : ⟨v, x⟩ < c} ⊆ ℝⁿ.

Instances For

    The open half-space {x : ⟨v, x⟩ > c} ⊆ ℝⁿ.

    Instances For
      def HamSandwich.Bisects (n : ) (v : EuclideanSpace (Fin n)) (c : ) (A : Set (EuclideanSpace (Fin n))) :

      A hyperplane with normal v and offset c bisects a set A ⊆ ℝⁿ if the two open half-spaces it defines have equal Lebesgue measure when intersected with A.

      Instances For
        noncomputable def HamSandwich.extractNormal (n : ) (θ : EuclideanSpace (Fin (n + 1))) :

        Given θ ∈ ℝⁿ⁺¹ (a parameter on the unit sphere), extractNormal returns the first n coordinates regarded as the normal vector of a hyperplane in ℝⁿ.

        Instances For

          Given θ ∈ ℝⁿ⁺¹, extractOffset returns its last coordinate, interpreted as the constant c of an affine hyperplane ⟨v, x⟩ = c.

          Instances For
            noncomputable def HamSandwich.affineFunctional (n : ) (θ : EuclideanSpace (Fin (n + 1))) (x : EuclideanSpace (Fin n)) :

            The affine functional x ↦ ⟨extractNormal θ, x⟩ - extractOffset θ whose sign determines the two sides of the hyperplane parametrised by θ ∈ Sⁿ.

            Instances For

              extractNormal is linear in θ, in particular it sends negation to negation.

              extractOffset sends negation to negation.

              The affine functional is odd in the parameter θ: replacing θ by flips the sign of affineFunctional n θ x. This antipodal symmetry is what allows Borsuk-Ulam to be applied.

              extractOffset is continuous (it is a coordinate projection).

              theorem HamSandwich.continuousAt_affineFunctional (n : ) (x : EuclideanSpace (Fin n)) (θ₀ : EuclideanSpace (Fin (n + 1))) :
              ContinuousAt (fun (θ : EuclideanSpace (Fin (n + 1))) => affineFunctional n θ x) θ₀

              For fixed x ∈ ℝⁿ, the map θ ↦ affineFunctional n θ x is continuous at every θ₀.

              For fixed θ, the affine functional affineFunctional n θ : ℝⁿ → ℝ is continuous.

              The positive half-space {y : affineFunctional n θ y > 0} is open in ℝⁿ.

              theorem HamSandwich.indicator_halfspace_continuousAt (n : ) (θ₀ : EuclideanSpace (Fin (n + 1))) (x : EuclideanSpace (Fin n)) (hx : affineFunctional n θ₀ x 0) :
              ContinuousAt (fun (θ : EuclideanSpace (Fin (n + 1))) => {y : EuclideanSpace (Fin n) | affineFunctional n θ y > 0}.indicator (fun (x : EuclideanSpace (Fin n)) => 1) x) θ₀

              If affineFunctional n θ₀ x ≠ 0, then the indicator of the positive half-space evaluated at x is continuous in θ at θ₀ (since x is in the interior of one side).

              An affine hyperplane {x : ⟨v, x⟩ = c} in ℝⁿ (with v ≠ 0) has Lebesgue measure zero.

              For any nonzero parameter θ₀ ∈ ℝⁿ⁺¹ and any set A ⊆ ℝⁿ, the affine functional is almost everywhere nonzero on A (the zero set is the hyperplane, which has measure zero when the normal is nonzero, and is empty when the normal is zero but the offset is not).

              theorem HamSandwich.continuousAt_volume_halfspace (n : ) (A : Set (EuclideanSpace (Fin n))) (hBdd : Bornology.IsBounded A) (θ₀ : EuclideanSpace (Fin (n + 1))) ( : θ₀ 0) :
              ContinuousAt (fun (θ : EuclideanSpace (Fin (n + 1))) => (x : EuclideanSpace (Fin n)) in A, {y : EuclideanSpace (Fin n) | affineFunctional n θ y > 0}.indicator (fun (x : EuclideanSpace (Fin n)) => 1) x) θ₀

              For a bounded set A and nonzero θ₀, the volume of A ∩ {affineFunctional n θ · > 0} (as an integral of the indicator) varies continuously in θ at θ₀.

              theorem HamSandwich.continuousAt_volume_halfspace_neg (n : ) (A : Set (EuclideanSpace (Fin n))) (hBdd : Bornology.IsBounded A) (θ₀ : EuclideanSpace (Fin (n + 1))) ( : θ₀ 0) :
              ContinuousAt (fun (θ : EuclideanSpace (Fin (n + 1))) => (x : EuclideanSpace (Fin n)) in A, {y : EuclideanSpace (Fin n) | affineFunctional n θ y < 0}.indicator (fun (x : EuclideanSpace (Fin n)) => 1) x) θ₀

              Same continuity as continuousAt_volume_halfspace but for the negative half-space.

              The integral over A of the indicator of a measurable set S equals the real value of volume (A ∩ S).

              theorem HamSandwich.ham_sandwich_theorem (n : ) (A : Fin nSet (EuclideanSpace (Fin n))) (hOpen : ∀ (i : Fin n), IsOpen (A i)) (hBdd : ∀ (i : Fin n), Bornology.IsBounded (A i)) (hNe : ∀ (i : Fin n), (A i).Nonempty) (hn : 0 < n) :
              ∃ (v : EuclideanSpace (Fin n)) (c : ), v 0 ∀ (i : Fin n), Bisects n v c (A i)

              Corollary (Ham Sandwich Theorem). Given n open, bounded, nonempty sets A₁, …, Aₙ ⊆ ℝⁿ, there exists an affine hyperplane {x : ⟨v, x⟩ = c} (with v ≠ 0) that simultaneously bisects each Aᵢ by Lebesgue measure. The proof applies the Borsuk-Ulam theorem to the odd map on Sⁿ sending a parameter θ to the vector of signed volume-differences.