Affine-described positions on a subdivided slot #
This is the small bridge between a passive affine certificate and the
dependent PathPosition type of a concrete subdivision. A code names a
slot, an affine offset measured from one of its endpoints, and a direction.
The certificate contains no proofs: the two rows asserting that the offset
lies in its slot are required literally in its local cone. Cone soundness
then supplies the bounds needed to construct a typed path position.
Passive name for a point on a slot. fromHead = true reads offset
from the head, so its tail-oriented coordinate is length - offset.
- edge : Fin p
The core slot containing the affine-coded position.
- fromHead : Bool
Whether the offset is measured from the slot's head; otherwise it is measured from the tail.
The affine expression for the distance from the selected endpoint, with bounds checked separately.
Instances For
The lower-bound row for a position code.
Instances For
The upper-bound row for a position code on a particular certificate.
Equations
Instances For
The local cone explicitly contains the two rows which say that the offset is between zero and the length of its named slot.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Proof-free check that one required bound row is either identically zero or literally present in the local cone.
Equations
Instances For
Executable fail-closed bounds check for an affine position code.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The raw natural offset recovered from an integral affine evaluation.
Equations
- code.rawOffset point = (Utilities.Certificate.AffineCover.AffineForm.eval code.offset point).toNat
Instances For
Cone-certified offsets evaluate nonnegatively.
Cone-certified offsets do not exceed their named segment length.
At a certified point, coercing the raw offset back to ℤ recovers its
affine value exactly.
The raw natural offset is bounded by the concrete subdivision length.
Tail-oriented numerical coordinate of a code in the concrete subdivision.
Equations
Instances For
The orientation-normalized coordinate lies on its named slot.
Typed path position decoded from a cone-certified affine position.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The actual subdivision vertex named by an affine position code.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Tail-oriented codes retain their raw coordinate.
Head-oriented codes use the complementary tail coordinate.
Tail-oriented decoding is definitionally the ordinary bounded path position constructor.
A decoded position is interior whenever its normalized coordinate is strictly between the two endpoints.
Coordinate zero decodes to the tail core vertex.
Coordinate equal to the slot length decodes to the head core vertex.