Affine-positioned chips and break lists on a closed face #
This is the closed-orthant companion to the affine-positioned portion of
AffinePositionMultiBreak.lean. It deliberately takes a DegSpec and a
proof that its numerical lengths agree with the affine certificate, rather
than rebuilding a particular DegSpec from the certificate. This is the
form needed by a row leaf: the contraction census chooses the representative
map, while the leaf merely names positions and slopes.
There are two small, independent carriers.
WeightedChipis one affine position with an integral coefficient. In contrast to the positiveMultiCodeformat, a row witness may use an arbitrary integral coefficient before its residual checks prove effectiveness.BreakListis a per-slot ordered list of affine positions and their post-break slopes. The concrete list is fed directly toDegSpec.breakScript; its exact interior and core Laplacian formulae are consequently available on collapsed faces as well.
The only geometry carried by these definitions is LengthCompatible. Bound
certificates remain the existing Code.BoundsCertified facts, so all affine
arithmetic is shared with the positive decoder.
The affine certificate and a closed-face DegSpec read the same concrete
slot lengths at this point.
Equations
- MarkedGraphs.Certificate.AffinePosition.Closed.LengthCompatible d certificate point = ∀ (edge : Fin p), d.length edge = certificate.segmentNat point edge
Instances For
Decode a cone-certified affine code into an arbitrary compatible closed
face. Unlike Code.decodeDegenerateVertex, this does not require the face's
representative map to have been constructed by the certificate census.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every named chip position has its two bounds certified by the local cone.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The divisor denoted by a list of weighted affine chips on a compatible closed face.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The degree of a weighted affine-chip divisor is the sum of its declared coefficients, including negative coefficients.
One entry of a per-slot affine break list: its slope is in force beginning
at position. List order is preserved, matching the C checker's override
semantics and SubdivisionGraph.Spec.breakSlope.
- position : Code m p
The affine slot-position code at which this break entry begins to prescribe a slope.
- slope : ℤ
The integer slope in force from this break position, subject to the ordered list’s later overrides.
Instances For
Ordered break data, grouped by slot. WellFormed prevents a code whose
own slot differs from the list slot from silently being interpreted with the
wrong length.
Equations
Instances For
All affine positions in the break lists have certified bounds.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Evaluate the ordered affine break list for one slot.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A concrete closed-face firing script from affine break lists.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The sole closing condition for an affine break-list script on a closed face. In particular it forces equality of endpoint potentials on a collapsed slot.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The interior Laplacian is the jump of the evaluated ordered break list.
Away from every named affine break, the interior Laplacian vanishes.
The core Laplacian is the usual endpoint-slope sum over the contracted classes, including zero slots.