Packed ranks for projective directions #
For a normalized nonzero vector with pivot h, the manuscript's block rank
is represented by dimension blocks of width bits:
- every block before
his the unsigned binary digit one; - block
his the unsigned binary digit zero; - every later block is the corresponding normalized field-coordinate bits.
With most-significant bits first this is exactly
B_h + val_q(tail), but it avoids an addition circuit. This module builds
the rank circuit after the existing projective normalizer, proves its exact
semantics, and supplies a polynomial cost ledger.
Big-endian width-bit representation of the unsigned integer one.
Equations
- Algebraic.MassProduction.unsignedOneBits width bit = decide (↑bit + 1 = width)
Instances For
Direct first-nonzero flag over packed field-coordinate bits.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One rank bit selected after the pivot is known.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One output bit of the packed projective rank.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pure packed-bit semantics of the rank transformation.
Equations
- Algebraic.MassProduction.projectiveRankPackedBits input output = Algebraic.DeMorgan.Expression.eval input (Algebraic.MassProduction.projectiveRankBitExpression dimension width output)
Instances For
Field-level block-rank representation when the pivot is known.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Canonical block-rank key of a projective direction.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One width-bit block of a packed rank.
Equations
- Algebraic.MassProduction.projectiveRankBlock rank coordinate bit = rank (finProdFinEquiv (coordinate, bit))
Instances For
First rank block different from the unsigned digit one. Valid ranks have one-blocks before the pivot and a zero-block at the pivot.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Semantic inverse of the packed rank on valid ranks. The first non-one block identifies the pivot; earlier field coordinates are zero, the pivot is field one, and later coordinates are copied from the rank tail.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Unranking inverts ranking for any vector already normalized at its first nonzero coordinate.
Projective normalization keeps the first nonzero coordinate.
The pivot coordinate of a normalized vector is field one.
Semantic unranking recovers the canonical normalized key of every projective direction.
The packed block rank is injective on projective directions.
The exact initial interval of valid projective ranks #
First invalid packed projective rank: one field digit in every block.
Equations
- Algebraic.MassProduction.projectiveRankSentinel dimension width output = Algebraic.MassProduction.unsignedOneBits width (finProdFinEquiv.symm output).2
Instances For
A normalized block rank is strictly below the all-one-digit sentinel.
Any rank below the sentinel has a first non-one block, and that block is the all-zero pivot block. All preceding blocks are unsigned one.
Field vector decoded from the semantic projective unranker.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Ranking after semantic unranking is the identity on the valid initial interval.
The projective direction represented by a packed rank below the sentinel.
Equations
- Algebraic.MassProduction.projectiveDirectionOfRank widthPositive rank rankLt = Classical.choose ⋯
Instances For
Packed projective ranks are exactly the strict initial lexicographic interval below the all-one-digit sentinel.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Test a selected input bit against one hardwired rank bit.
Equations
- Algebraic.MassProduction.rankBitEqualsConstantExpression expected input = if expected = true then Algebraic.DeMorgan.Expression.input input else (Algebraic.DeMorgan.Expression.input input).not
Instances For
Equality of one rank block with the big-endian unsigned digit one.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Boolean flag computed by rankBlockOneExpression.
Equations
- Algebraic.MassProduction.rankBlockOneFlag rank coordinate = Algebraic.DeMorgan.Expression.eval rank (Algebraic.MassProduction.rankBlockOneExpression dimension width coordinate)
Instances For
One-hot flag for the first rank block that is not unsigned one.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One output value selected by a candidate unrank pivot.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One output bit of the projective unrank circuit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Gate count of one independently compiled unrank output.
Equations
- Algebraic.MassProduction.projectiveUnrankBitGateCount dimension widthPositive output = (Algebraic.MassProduction.projectiveUnrankBitExpression dimension widthPositive output).gateCount
Instances For
Explicit circuit reconstructing the canonical normalized vector from a valid packed projective rank.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Circuit-level rank/unrank correctness on every projective direction.
Polynomial gate ledger for projective unranking.
Gate count of the independently compiled rank outputs.
Equations
- Algebraic.MassProduction.projectiveRankBitGateCount dimension width output = (Algebraic.MassProduction.projectiveRankBitExpression dimension width output).gateCount
Instances For
Explicit circuit converting a normalized nonzero vector to its block rank.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Normalize a projective representative and then emit its block rank.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The exact gate count of projectiveDirectionRankCircuit.
Polynomial gate ledger for the packed rank transformation.
The complete normalizer-plus-ranker remains polynomial in the extension width for fixed projective dimension.