Ranked fixed-width rows #
The complement protocol enumerates width-n source rows as least-significant-first
numerals. This file packages that enumeration as the finite vertex type
Fin (|A| ^ n) and records the arithmetic facts used by the semantic proof.
Ranks of all width-n rows over A.
Equations
Instances For
The row at a given rank in the protocol's canonical enumeration.
Equations
Instances For
Rank a row whose length is known to be n.
Equations
- CertifiedRowSystem.Complement.rankOfRow n row hlen = ⟨(CertifiedRowSystem.Complement.vertexCodec A).value row, ⋯⟩
Instances For
Canonical equivalence between ranks and width-indexed list rows.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The rank graph induced by a certified row system at one fixed width.
Equations
- CertifiedRowSystem.Complement.rankEdge D n old new = D.RowStep (CertifiedRowSystem.Complement.rankRow n old) (CertifiedRowSystem.Complement.rankRow n new)
Instances For
The final predicate transported to ranked rows.
Equations
- CertifiedRowSystem.Complement.rankFinal D n row = D.Final (CertifiedRowSystem.Complement.rankRow n row)
Instances For
The ranked source vertex corresponding to a concrete source row.
Equations
- CertifiedRowSystem.Complement.sourceRank n source hlen = CertifiedRowSystem.Complement.rankOfRow n source hlen
Instances For
A ranked edge preserves the intended list-level edge exactly.
Ranked reachability maps to source-row reachability.
Every list-level path starting at a ranked row stays at the fixed width and can be transported back to the rank graph.
Reachability between ranked endpoints is exactly list-level row reachability.
Canonical numeral rows #
The canonical width-n source-alphabet numeral for the natural number k.
Values outside the row capacity wrap around; semantic uses always carry an in-range proof.
Equations
Instances For
The canonical width-n larger-radix count numeral.
Equations
Instances For
The larger-radix count track can represent every number up to the number of
width-n source rows, provided the physical row is nonempty.
Count numerals are injective throughout the complete range of possible reachable vertex counts.
Prefixes of the canonical vertex enumeration #
The first i ranked vertices.
Equations
- CertifiedRowSystem.Complement.rankPrefix n i = {v : CertifiedRowSystem.Complement.RankVertex A n | ↑v < i}