Integer points and local neighborhoods of orthogonal unit paths #
Main definitions #
Cslib.Orthogonal.StraightThrough: a consecutive three-point neighborhood in either direction.
Main results #
Cslib.Orthogonal.mem_iff_realPoint_mem_support: for unit paths, integer support membership is exactly membership in the finite listed-point data.Cslib.Orthogonal.StraightThrough.getD_neighbors: exact indexed predecessor/successor lookups.Cslib.Orthogonal.subdivide_horizontal,.subdivide_vertical: strict interior grid points retain consecutive straight neighborhoods after subdivision.Cslib.Orthogonal.point_bounds_of_mem_support: listed-point bounds hold on all integer support.
References #
These are original finite-list proofs of elementary lattice-segment facts.
A unit path passes straight through p, with its two immediate neighbors p-d and p+d.
The three points occur consecutively, in either orientation.
Instances For
A rectangle containing every listed point also contains every integer point of the continuous orthogonal support.
Changing the sign only interchanges the two orientations of a straight neighborhood.
A straight neighborhood remains consecutive inside any larger list containing the path.
The consecutive neighborhood gives the exact predecessor/successor lookups used by finite wire compilers, at every valid occurrence index of the middle point.
Every non-endpoint index of a walk has its two immediately neighboring steps.
A strict interior integer point of an axis-aligned segment has both neighboring unit points consecutively present in that segment's subdivision.
A horizontal segment is traversed horizontally at every strict interior grid point.
A vertical segment is traversed vertically at every strict interior grid point.
Every original segment's complete unit walk occurs consecutively in the subdivided route.
Horizontal strict interior neighborhoods survive subdivision of an entire route.
Vertical strict interior neighborhoods survive subdivision of an entire route.