NRR.BodySpace — joint support-function and width continuity #
This module proves that support functions and widths depend continuously on both the body and
the direction, for bodies varying in the fixed-parent hyperspace ConvexSubbody K and in the
lower-area subspace BodySpace K A.
Core reusable lemma #
The heart of the file is a body-parameter continuity criterion for the solid geometry bodies:
if a family K : α → Geometry.ConvexBody Plane is continuous for the Hausdorff-metric topology,
then it is a SupportFunctionContinuousFamily and a WidthContinuousFamily. The proof follows the
standard split of h_{K a}(u) - h_{K a₀}(u₀) into a body-variation term, controlled by the
Hausdorff–Lipschitz estimate abs_supportFunction_sub_le_hausdorffDist_mul_norm, and a
direction-variation term, controlled by the fixed-body direction continuity
continuous_supportFunction.
Possibly-degenerate subbodies #
The project support function Geometry.ConvexBody.supportFunction is defined only on the solid
bundled type Geometry.ConvexBody, whereas a ConvexSubbody K may be lower-dimensional. We
therefore work with the support function of the underlying compact convex set directly — the same
sSup ⟪·, u⟫ formula as Geometry.ConvexBody.supportFunction, now for a possibly-degenerate
carrier — packaged as ConvexSubbody.supportFunction. It agrees with the geometry support function
whenever the subbody is solid. Its joint continuity uses the Hausdorff–Lipschitz estimate (whose
proof needs only carrier compactness and nonemptiness) and the fixed-body direction continuity,
both re-established here at the set level.
Positive lower area #
When A > 0 every element of BodySpace K A is genuinely solid, so the solid bridge
BodySpace.toGeometryConvexBody lands in Geometry.ConvexBody Plane; the solid family predicates
follow from the core reusable lemma applied to the continuous bridge
BodySpace.continuous_toGeometryConvexBody.
Body-parameter width continuity for a Hausdorff-continuous family of solid bodies.
Support function of a convex subbody. The supremum of ⟪x, u⟫ over the (compact, nonempty)
carrier of C. This is the same formula as Geometry.ConvexBody.supportFunction, valid for a
possibly-degenerate carrier; it agrees with the geometry support function on solid subbodies.
Equations
- C.supportFunction u = sSup ((fun (x : NRR.Geometry.Plane) => inner ℝ x u) '' ↑C.body)
Instances For
Unfolding lemma for the subbody support function.
The image {⟪x, u⟫ | x ∈ C} is bounded above (the carrier is compact, hence bounded).
Support point. The supremum defining h_C(u) is attained at some point of the carrier.
Every point of the carrier gives an inner product bounded by the support function.
Agreement with the geometry support function. Whenever a subbody shares its carrier with a
solid geometry body, the two support functions coincide (both are the sSup of ⟪·, u⟫ over the
common carrier). This certifies that ConvexSubbody.supportFunction is the standard support
function, extended to possibly-degenerate carriers.
Width function of a convex subbody: w_C(u) = h_C(u) + h_C(-u).
Equations
- C.widthFunction u = C.supportFunction u + C.supportFunction (-u)
Instances For
Unfolding lemma for the subbody width function.
Fixed-body direction continuity. For a fixed subbody, u ↦ h_C(u) is continuous. The
carrier is compact, hence norm-bounded, and the support function is Lipschitz in u with that
bound.
Hausdorff–Lipschitz estimate for subbodies. The support functions of two subbodies differ
by at most d_H(C, D) · ‖u‖. Only carrier compactness and nonemptiness are used.
Joint support continuity. The map (C, u) ↦ h_C(u) is continuous on
ConvexSubbody K × Plane.
Support-function continuous family for ConvexSubbody K: the joint map (C, u) ↦ h_C(u)
is continuous. (Since the project support function is solid-only, this is the subbody-level analogue
of Geometry.ConvexBody.SupportFunctionContinuousFamily for the carrier support function.)
Joint width continuity. The map (C, u) ↦ w_C(u) is continuous.
Width continuous family for ConvexSubbody K: the joint map (C, u) ↦ w_C(u) is
continuous.
Support-function continuous family for positive lower area. When A > 0, the solid bridge
toGeometryConvexBody yields a Hausdorff-continuous family of solid geometry bodies, so the
geometry support function is a SupportFunctionContinuousFamily.
Width continuous family for positive lower area.