Finite-indexed convex partitions #
The prime-refinement iteration naturally produces nested product index types. This file provides
an index-polymorphic version of ConvexPartition and a canonical conversion back to the public
Fin n-indexed structure.
A convex partition indexed by an arbitrary type. Finiteness is only required when converting
back to the public ConvexPartition structure.
- piece : ι → Body
The convex body assigned to each index of the partition.
Instances For
All indexed pieces have equal area.
Equations
- P.IsEqualArea = ∀ (i j : ι), NRR.Geometry.ConvexBody.area (P.piece i) = NRR.Geometry.ConvexBody.area (P.piece j)
Instances For
All indexed pieces have equal perimeter.
Equations
- P.HasEqualPerimeter = ∀ (i j : ι), NRR.Geometry.ConvexBody.perimeter (P.piece i) = NRR.Geometry.ConvexBody.perimeter (P.piece j)
Instances For
Regard an ordinary Fin n-indexed partition as an indexed partition.
Equations
- NRR.IndexedConvexPartition.ofConvexPartition P = { piece := P.piece, subset := ⋯, covers := ⋯, nullOverlap := ⋯ }
Instances For
The singleton indexed partition.
Equations
- NRR.IndexedConvexPartition.singleton K = { piece := fun (x : Unit) => K, subset := ⋯, covers := ⋯, nullOverlap := ⋯ }
Instances For
Change the ambient body along an equality.
Equations
- NRR.IndexedConvexPartition.castBody h P = h ▸ P
Instances For
Equal area is invariant under changing only the ambient body by equality.
Equal perimeter is invariant under changing only the ambient body by equality.
Reindex a partition along an equivalence.
Equations
Instances For
Convert a finite indexed partition to the public Fin (card ι)-indexed partition.
Equations
- P.toConvexPartition = { piece := fun (i : Fin (Fintype.card ι)) => P.piece ((Fintype.equivFin ι).symm i), subset := ⋯, covers := ⋯, nullOverlap := ⋯ }
Instances For
Equal area is preserved by reindexing.
Equal perimeter is preserved by reindexing.
Conversion to ConvexPartition preserves equal area.
Conversion to ConvexPartition preserves equal perimeter.