NRR.ConvexSubbody — fixed-parent convex subbodies #
This module introduces the fixed-parent hyperspace element type
NRR.ConvexSubbody (K : Geometry.ConvexBody Plane)
whose elements are compact, nonempty, convex Mathlib bodies (_root_.ConvexBody Plane) contained
in the solid parent body K. Unlike the solid geometry body Geometry.ConvexBody, a
ConvexSubbody may be lower-dimensional (degenerate), which is exactly what is needed for a
compact hyperspace under the Hausdorff metric.
The area of a subbody is the real-valued Lebesgue measure of its carrier, matching the convention
of Geometry.ConvexBody.area.
A convex subbody of a fixed solid parent body K: a compact, nonempty, convex Mathlib
body whose carrier is contained in K. Elements may be lower-dimensional.
Equations
- NRR.ConvexSubbody K = { C : ConvexBody NRR.Geometry.Plane // ↑C ⊆ K.carrier }
Instances For
The underlying Mathlib convex body of a subbody.
Instances For
Coercion of a subbody to its underlying carrier set. The ConvexSubbody wrapper is a def
over a subtype, so the subtype/root-body coercion chain does not fire automatically; this instance
restores (C : Set Plane) through C.body.
Equations
- NRR.ConvexSubbody.instCoeHeadSetPlane = { coe := fun (C : NRR.ConvexSubbody K) => ↑C.body }
The carrier of a subbody is contained in the parent body.
Area of a subbody: the real-valued Lebesgue measure of its carrier.
Equations
- C.area = (MeasureTheory.volume ↑C.body).toReal
Instances For
The carrier of a subbody is convex.
The carrier of a subbody is compact.
The carrier of a subbody is nonempty.
The area of a subbody is nonnegative.
The Lebesgue measure of a subbody is finite (its carrier is compact).
Extensionality: two subbodies with equal carriers are equal.
The lower-area subspace: subbodies of K whose area is at least A.
Equations
- NRR.BodySpace K A = { C : NRR.ConvexSubbody K // A ≤ C.area }