Documentation

LeanPool.NandakumarRamanaRao.NRR.Geometry.ConvexBody.SupportFunctionParametric

NRR.Geometry.ConvexBody — support-function continuity under body parameters #

This module provides the body-parameter continuity API for the support function. the project established continuity of u ↦ h_K(u) in the direction variable for a fixed body K; here we package the joint continuity of

(t, u) ↦ h_{K_t}(u)

when a family of convex bodies K : α → ConvexBody E varies continuously in the parameter t, plus the closure properties (constant, translation, positive scaling) that later partition-cell / perimeter continuity arguments need.

Mathlib hyperspace / Hausdorff situation #

Mathlib does have a metric-space structure on nonempty compact subsets:

However this instance is an EMetricSpace on NonemptyCompacts, not a ConvexBody-level topology, and wiring a ConvexBody E → NonemptyCompacts E map plus its induced topology in just to obtain joint continuity would be a much larger hyperspace development than downstream modules require. We therefore take the two-pronged approach the design allows:

Public API #

Route A — quantitative Hausdorff estimate #

Route B — abstract family-continuity predicate #

A family of convex bodies K : α → ConvexBody E is a support-function continuous family if the map (t, u) ↦ h_{K_t}(u) is (jointly) continuous. This is the abstraction downstream perimeter / partition-cell continuity arguments consume.

Equations
Instances For

    Evaluation. Unfolding the predicate: joint continuity of (t, u) ↦ h_{K_t}(u).

    Constant family. A constant family is a support-function continuous family, by the project's continuous_supportFunction.

    Translated family. Translating a continuous family by a continuous vector field keeps it a support-function continuous family, using h_{K + a}(u) = ⟪a, u⟫ + h_K(u).

    theorem NRR.Geometry.ConvexBody.SupportFunctionContinuousFamily.scalePos {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {α : Type u_2} [TopologicalSpace α] {K : α → ConvexBody E} (hK : SupportFunctionContinuousFamily K) (r : α → ℝ) (hr : ∀ (t : α), 0 < r t) (hcont : Continuous r) :
    SupportFunctionContinuousFamily fun (t : α) => (K t).scalePos (r t) ⋯

    Positively scaled family. Scaling a continuous family by a continuous positive function keeps it a support-function continuous family, using h_{r K}(u) = r · h_K(u).

    Restriction to unit directions. The joint map restricted to the unit sphere Metric.sphere 0 1 is continuous. (the library has no bespoke sphere type; the ambient unit sphere is used.)