Documentation

LeanPool.NandakumarRamanaRao.NRR.Geometry.ConvexBody.HalfspaceCut

NRR.Geometry.ConvexBody — cutting a convex body by a closed halfspace #

This module provides a reusable API for intersecting a solid ConvexBody with a closed halfspace determined by a normal vector u and a threshold t. It is a core primitive for cutting convex bodies by hyperplanes and building partitions.

Setup #

E is a real inner product space. For a normal vector u : E and threshold t : ℝ we define the two closed halfspaces

Each is convex (from linearity of the inner product) and closed (as the sublevel/superlevel set of a continuous functional).

Cuts #

Intersecting a convex body K with a closed halfspace always yields a compact convex set (a closed subset of the compact K, and an intersection of convex sets). It is again a solid ConvexBody only when its interior is nonempty, so the constructors

require the nonempty-interior hypothesis hInt explicitly. We do not claim the cut is a ConvexBody unconditionally, and we do not introduce an axiom for the nonempty interior.

Halfspace definitions are local #

There is no oriented-hyperplane file over a general inner product space in the library yet (the plane-specific NRR.Halfspace lives in a different, E2-specific development), so the halfspace definitions are kept minimal here; downstream modules may generalize them.

Note on inner #

In the current Mathlib the real inner product is written inner ℝ u x (the scalar field is an explicit argument), which is what appears throughout this file.

Import policy #

Following the library-wide policy, Basic.lean already pulls in import Mathlib, so no extra imports are required here.

Closed halfspaces #

The closed lower halfspace with normal u and threshold t: {x | inner ℝ u x ≤ t}.

Equations
Instances For

    The closed upper halfspace with normal u and threshold t: {x | t ≤ inner ℝ u x}.

    Equations
    Instances For

      Compactness of the intersection #

      The cuts #

      The cut of a convex body K by the closed lower halfspace {x | inner ℝ u x ≤ t}, as a ConvexBody. Solidity is not automatic, so the nonempty-interior hypothesis hInt is required explicitly.

      Equations
      Instances For

        The cut of a convex body K by the closed upper halfspace {x | t ≤ inner ℝ u x}, as a ConvexBody. Solidity is not automatic, so the nonempty-interior hypothesis hInt is required explicitly.

        Equations
        Instances For