Unit subdivision of finite orthogonal routes #
Main definitions #
Cslib.Orthogonal.walk: a finite sequence of repeated integer vector steps.Cslib.Orthogonal.segmentWalk,Cslib.Orthogonal.subdivide: unit subdivision of a segment or an entire polygonal route, listing a shared endpoint only once.Cslib.Orthogonal.subdivideWithin: finite enumeration capped by a per-segment step budget.
Main results #
Cslib.Orthogonal.walk_length,Cslib.Orthogonal.walk_head,Cslib.Orthogonal.walk_last: size and endpoint formulas.Cslib.Orthogonal.subdivide_head,Cslib.Orthogonal.subdivide_last: endpoint preservation.Cslib.Orthogonal.subdivide_length: exact point count from original Manhattan wire length.Cslib.Orthogonal.subdivide_unit: every subdivided segment has Manhattan length one.Cslib.Orthogonal.support_subdivide: equality of the complete continuous real supports.Cslib.Orthogonal.wireLength_subdivide: exact wire-length preservation.Cslib.Orthogonal.subdivide_nodup: continuously simple orthogonal routes subdivide without repeating lattice points.Cslib.Orthogonal.subdivideWithin_eq_of_wireLength_le: recover full subdivision from a sufficient total-wire budget.Cslib.Orthogonal.subdivideWithin_length_le: explicit bounded output size.
References #
The unit-walk construction and bounded enumeration are original.
The k+1 lattice points obtained by taking k copies of vector d from a.
Instances For
One more listed point than steps.
The walk always starts at its prescribed first point.
The walk ends after precisely k copies of the step vector.
A step vector in one of the four cardinal unit directions.
Instances For
Cardinal steps have Manhattan length one.
Every consecutive pair of a cardinal walk is unit-adjacent.
A k-step cardinal walk has exactly k units of wire.
Cardinal direction from a toward b; equal points use an arbitrary unit direction.
Instances For
The chosen direction is always a cardinal unit vector.
Unit subdivision of one segment, including both endpoints.
Instances For
Segment subdivision uses exactly one more point than its Manhattan length.
Segment subdivision preserves the first endpoint.
Segment subdivision preserves the last endpoint of every axis-aligned segment.
The subdivision covers the entire original real segment, without adding points.
Each subdivided segment has unit Manhattan length.
Segment subdivision preserves wire length exactly.
Joining routes at a common endpoint, listing that endpoint once, concatenates their segment lists.
A route joined at a common endpoint has the last endpoint of the second route.
Joining at a common endpoint adds the two Manhattan wire lengths.
Replace each consecutive segment by its unit walk, retaining a shared endpoint once.
Instances For
Subdivision preserves the first listed point, including the empty-route convention.
The exact point count is wire length plus one for a nonempty route.
Subdivision preserves the final endpoint of an orthogonal route.
Subdivision preserves the complete real support of every orthogonal route.
Every consecutive pair in the subdivided orthogonal route is a unit grid step.
Unit subdivision preserves total Manhattan wire length exactly.
Unit subdivision is itself a proper orthogonal route.
Omitting the final endpoint gives exactly the strict prefix of the range enumeration.
A flat enumeration of the unit subdivision: emit each segment without its last point, then emit the route's final endpoint. This form supports bounded polynomial-time implementations.
A sufficient per-segment budget recovers the complete geometric subdivision.
Bounded enumeration emits at most budget points per segment, plus the last endpoint.
Each listed segment's length is bounded by the route's total wire length.
A bound for the whole route's wire length is a sufficient subdivision budget.
A cardinal walk never repeats a lattice point.
The unit walk along one segment has no repeated listed point.
Every supported point of a route with at least two listed points belongs to one of its consecutive segments. In this case separate degenerate pieces for listed points are redundant.
Unit subdivision of a continuously simple orthogonal route has no repeated lattice points. The proof uses the original segments' endpoint-contact certificates, not support equality alone.
A sufficient-budget native enumeration also has no repeated points on a simple route.