Parallel request-group scheduling #
The manuscript permits a resource coordinate to be reused across different request groups, while requiring punctured recovery lines to be disjoint inside each group. This module realizes that exact rectangular construction by replicating the verified greedy scheduler on disjoint group input blocks.
The group count and group size are ordinary natural parameters. In particular, no finite-type or field instances are exported by this layer.
Row-major target bits for a rectangular (group, request) family.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One independent greedy scheduler per request group.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Evaluate all group schedulers on the rectangular target family.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Select the schedule-output block belonging to one group.
Equations
- Algebraic.MassProduction.GroupedScheduler.groupScheduleBits output group = Algebraic.MassProduction.directProductInput output group
Instances For
Replication evaluates the verified one-group scheduler independently on the selected group target block.
Exact grouped scheduler invariant: every output is a punctured affine line through its target, and lines are pairwise disjoint within each group. No disjointness is asserted across groups, matching the bounded-demand construction.
Replication charges exactly one scheduler cost per group.
The finite grouped cost ledger: groups * requestsPerGroup copies of the
fixed-capacity scheduler/enumerator stage.
Padding an arbitrary request count into fixed groups #
Maximum group size for totalRequests requests split over a positive
number of groups.
Equations
- Algebraic.MassProduction.GroupedScheduler.requestGroupSize totalRequests groups = totalRequests ⌈/⌉ groups
Instances For
The rectangular group array has room for every real request.
Rectangular (group, local request) position assigned to one real
request by row-major order.
Equations
- Algebraic.MassProduction.GroupedScheduler.requestGroupSlot capacity request = finProdFinEquiv.symm (Fin.castLE capacity request)
Instances For
Pad unused rectangular request slots with an arbitrary fixed target.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Padding leaves every real request at its assigned rectangular slot.
Decode one real request's point from the padded grouped output.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Recovery set decoded for one real request in a padded grouped output.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Arbitrary request counts inherit exact line recovery and within-group
disjointness after padding to groups * ceil(totalRequests / groups) slots.