The polygonal overlay #
Finitely many segments become a plane graph once they are subdivided at their meets and each
duplicated subsegment is named once (lem:polygonal-overlay).
Blueprint #
polygonal_overlay— Lemma 3.7 (polygonal overlay).
Two more properties of subdivide #
Both belong in Schoenflies/Subdivide.lean beside the other four; they are here because that
module is on main.
subdivide_subset is subdivide_interior_subset with the closed inclusion carried
alongside the open one, in one existential: separation reads a piece's ends off its source
segment and its interior off the source's interior, and it needs both at the same source.
subdivide_ends is the endpoint criterion — an end of a piece that is not a cut point was an
end all along. Without it the case of two pieces from different sources does not close: two
different subpieces can both sit inside one long overlap.
What the cut points have to cover #
Two conditions, and between them they are the blueprint's "subdivide at all old endpoints,
isolated intersections, and endpoints of overlapping intervals". The second asks for some
pair of ends of each meet rather than every pair, because that is what a construction can
supply: a meet is segment ℝ u v and segment ℝ v u alike, and that a nondegenerate
segment's ends are determined by its point set is a theorem this development does not have and
does not need.
Every end of every source piece is a cut point.
Equations
- Schoenflies.EndsAreCut pieces points = ∀ P ∈ pieces, ∀ (z : Schoenflies.Plane), z = P.1 ∨ z = P.2 → z ∈ points
Instances For
With the source ends cut too, the endpoint criterion says outright that every end of every piece of the subdivision is a cut point.
Producing the cut points #
Nothing computes them. The overlay is stated existentially, so the list is built by the
induction that proves it exists, and segment_inter_segment hands over the ends of a meet the
moment the meet is known to be nonempty. That is what keeps the choice operator out: the
witnesses of segment_inter_segment are not unique, so there is nothing to name.
The whole list: the ends of each piece, and both ends of each meet. No sort and no choice operator — the point list is existential throughout.
Separation #
Cut at every end of every source piece and at both ends of every meet, and two pieces of the subdivision that share an interior point are the same segment — equal, not disjoint. Overlapping collinear pieces cannot be pulled apart by cutting; after enough cuts they coincide, which is what the blueprint's deduplication clause is for.
Collinearity: two pieces of the subdivision that share an interior point lie inside one nondegenerate segment. If they came from the same source piece, that piece; if from different ones, the sources' overlap — nondegenerate because the shared point is interior to it, the overlap's ends being cut points and so interior to nothing.
Separation. Two pieces of the subdivision that share an interior point are the same segment, in one order or the other.