Deterministic construction of balanced label schedules #
The conditional-expectation construction in Lemma 4.5, printed p. 31 of [OAI26c],
fixes one whole variable or factor label at a time. This module completes the traversal using
bestVariableLabel and bestFactorLabel. A slot that is already assigned is retained, so repeated
slots do not invalidate the fresh-choice premise. Every incidence still reads the same label of
its original variable and factor.
The canonical construction uses the executable enumerations FinEnum.toList and List.Pi.enum.
Its total schedules have joint normalized potential no greater than the initial finite average.
Factors with empty scopes receive the specified constant label. This is an executable finite
algorithm and its mathematical correctness proof; rational bit-cost and native-machine bounds
are separate obligations.
Main definitions #
Cslib.BalancedSchedules.greedyLabelStep: fix one fresh variable or factor label.Cslib.BalancedSchedules.greedyLabelPass: traverse an explicit list of slots.Cslib.BalancedSchedules.greedySchedules: construct both complete schedule families.
Main results #
Cslib.BalancedSchedules.greedyLabelPass_spec: completion, preservation and score monotonicity.Cslib.BalancedSchedules.greedySchedules_candidates_length: the exactr ^ Qcandidate count.Cslib.BalancedSchedules.greedySchedules_slots_length: the exact number of slots.Cslib.BalancedSchedules.greedySchedules_score_le: the output beats the initial average.Cslib.BalancedSchedules.greedySchedules_empty_factor: empty-factor normalization.Cslib.BalancedSchedules.greedySchedules_balanced: both pointwise occupancy bounds.
References #
- [OAI26c], §4.4, Lemma 4.5, printed pp. 30–31.
Fix one fresh whole label using the first minimizing candidate. Already fixed labels are retained. Empty candidate lists leave a fresh slot unassigned.
Instances For
Traverse slots in the supplied order, retaining each selected whole label for all later score evaluations. This accepts repeated slots without overwriting an earlier selection.
Instances For
The full pass never increases the joint score, fills every visited slot and preserves all initially assigned labels. Candidate coverage concerns whole words; duplicates are allowed.
The traversal visits exactly one slot for each variable and factor.
Construct schedules by fixing all variables, then all factors, in their explicit finite
orders. Candidate whole labels use List.Pi.enum; no good-label witness is supplied. Normalize
empty factors to the constant g₀ schedule after the pass.
Instances For
Every empty factor gets the specified constant schedule, independently of tie breaking.
The complete deterministic construction has joint normalized potential at most the initial finite-uniform average. All choices are whole schedules; repeated incidence endpoints remain correlated. Empty index types and zero normalization denominators retain their rational meaning.
Under the incidence degree bounds, the constructed schedules have normalized potential at most two, by the established finite-average incidence and group estimates.
The actual constructed schedules satisfy both occupancy bounds of Lemma 4.5 under its
size hypotheses. Empty factors have the prescribed constant labels by
greedySchedules_empty_factor. This certifies the result of the program, not its bit cost.