Least-missing packed ranks #
The projective scheduler sorts a padded power-of-two list of forbidden ranks. This module implements the next fixed-wire step. For each sorted position it creates either rank zero or the current rank's binary successor when that value lies in a genuine gap below a hardwired upper bound. Candidate records are then sorted by a one-bit validity flag (valid first), and the first candidate value is designated as the output.
All ranks use big-endian bit order, matching the verified lexicographic sorter. The construction has linear dependence on the record count up to the sorter's logarithmic-depth factors and a polynomial dependence on rank width.
XNOR for arbitrary Boolean expressions.
Equations
Instances For
Equality of all expression bits before a selected pivot.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A possible first differing coordinate witnessing lexicographic order.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Lexicographic strict comparison of two expression-valued bit strings.
Equations
- One or more equations did not get rendered due to their size.
Instances For
XOR in the De Morgan basis.
Equations
Instances For
Input expression for one bit of one packed rank record.
Equations
- Algebraic.MassProduction.LeastMissing.rankInputExpression depth rankWidth record bit = Algebraic.DeMorgan.Expression.input (finProdFinEquiv (record, bit))
Instances For
Hardwired rank bit family.
Equations
Instances For
Carry into a big-endian bit is the conjunction of all less-significant input bits.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One output bit of the big-endian increment of a packed rank.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Packed rank at one input position.
Equations
- Algebraic.MassProduction.LeastMissing.rankAt input record = Algebraic.MassProduction.Sorting.networkRecord input record
Instances For
Big-endian increment semantics emitted by the increment expressions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Discrete semantics of binary increment #
Big-endian binary increment, modulo 2 ^ width.
Equations
- Algebraic.MassProduction.LeastMissing.binaryIncrement bits bit = (bits bit != Algebraic.MassProduction.LeastMissing.binaryCarry bits bit)
Instances For
Whenever binary increment increases, it is the immediate lexicographic successor.
The first record of every nonempty power-of-two sorting array.
Equations
Instances For
The rank-zero candidate is enabled only at position zero and only when zero is below both the first forbidden rank and the upper bound.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Successor candidate at one sorted rank position.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A position is a candidate if it supplies zero or a valid successor gap.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Candidate value; zero has priority when both local conditions hold.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Candidate records consist of a validity flag followed by rank bits.
Equations
- Algebraic.MassProduction.LeastMissing.candidateRecordWidth rankWidth = rankWidth + 1
Instances For
One output formula of the candidate generator.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pure semantics of all generated candidate records.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Gate count of one independently compiled candidate output.
Equations
- Algebraic.MassProduction.LeastMissing.candidateRecordBitGateCount upperBound depth output = (Algebraic.MassProduction.LeastMissing.candidateRecordBitExpression upperBound depth output).gateCount
Instances For
Explicit circuit generating one candidate record per sorted input rank.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The candidate validity flag is the first bit of its generated record.
Equations
- Algebraic.MassProduction.LeastMissing.candidateFlagBit rankWidth = ⟨0, ⋯⟩
Instances For
The candidate value occupies the remaining bits of its generated record.
Equations
- Algebraic.MassProduction.LeastMissing.candidateValueBit bit = ⟨↑bit + 1, ⋯⟩
Instances For
The one-bit validity key fits every candidate record.
Flat output index selecting a value bit of the first candidate record.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Semantics of candidate generation, descending validity sort, and first candidate selection.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Boolean validity flag generated at one rank position.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Rank value generated at one candidate position.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every asserted candidate is below the upper bound and absent from the entire sorted rank array.
Existence of a generated gap #
Any explicitly missing rank below the upper bound produces either the zero candidate or a successor-gap candidate. No sortedness assumption is needed for existence: the greatest array position whose value is below the missing rank supplies the local gap.
If every in-range array position is covered by a smaller active set, then
some rank below upperBound is absent. Positions holding the upper-bound
sentinel need not belong to active, so padding does not consume capacity.
The indices whose packed ranks lie strictly below the sentinel.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Permuting complete packed rank records preserves the number of non-sentinel records.
A missing rank exists whenever the number of non-sentinel input records is smaller than the valid rank interval.
If the strict interval below upperBound has more ranks than the packed
array has records, then some rank in that interval is absent from the array.
If candidate generation finds any valid gap, the selector returns one valid missing rank.
Cardinality closes the selector's candidate-existence premise: whenever the strict rank interval below the upper bound is larger than the input array, the selected output is a missing in-range rank.
Sentinel-aware selector correctness. Only records whose ranks are below
upperBound count against the available rank interval.
Total gate count of the candidate generator followed by its selector sort.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Explicit least-missing-rank circuit for an already sorted rank array.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Circuit-level form of least-missing soundness.
Circuit-level least-missing correctness under the finite-capacity hypothesis used by the scheduler.
Circuit-level sentinel-aware least-missing correctness.
A uniform polynomial bound for comparing expression bit strings whose
individual bit expressions cost at most bitCost.
Equations
Instances For
Uniform polynomial cost per generated candidate output.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Candidate generation is linear in the record count and polynomial in rank width.
Complete gate ledger for candidate generation and validity selection.