Sparse periodic masks #
The bookkeeping in this file is purely combinatorial. In particular it does not use a matrix-mortality theorem: that theorem will be a hypothesis of the sequence construction.
We use the integral invariant 4 * assigned < period. If a compatible word
has length l, repeating the old mask 4*l+1 times before installing the word
preserves this invariant. Thus no limiting density or geometric-series
calculation is needed.
All assignments, at all sites, of M persist in N.
Equations
- KoetheCounterexample.MaskSequence.Extends N M = ∀ (n : ℕ) (z : KoetheCounterexample.Triple k), M.lookup n = some z → N.lookup n = some z
Instances For
The unassigned mask of period one.
Equations
- KoetheCounterexample.MaskSequence.emptyMask = { period := 1, period_pos := KoetheCounterexample.MaskSequence.emptyMask._proof_1, value := fun (x : Fin 1) => none, nonzero := ⋯ }
Instances For
Refine a mask by installing a nonzero compatible word in its first block. Outside that block every previous assignment is retained.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Installing the word adds at most its length to the lifted assigned set.
An adaptive integral density budget: the positive old slack is amplified
by 4 * length + 1, whereas the cost of the new block is at most 4 * length.
The new slack is therefore still at least one.