Lightweight state for finite coverage search #
One assigned centre and its eight-bit target-row mask.
Equations
Instances For
The empty pair-occurrence state.
Equations
- Erdos97Octagon.RawIncidence.StaticDirectCoverage.PairState.empty = { seenOnce := 0, seenTwice := 0 }
Instances For
Whether adding a row preserves pair sparsity.
Equations
- state.compatible pairMask = (state.seenTwice &&& pairMask == 0)
Instances For
Update pair occurrences after accepting one row.
Equations
Instances For
Packed byte counters for the number of assigned rows selecting each target.
- counts : UInt64
Eight one-byte column counters.
Instances For
The empty column-count state.
Equations
Instances For
Packed increments contributed by one target-row mask.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Update packed column counts after accepting one row.
Equations
Instances For
Read one packed column counter.
Instances For
Number of remaining rows that can still select a target.
Equations
- Erdos97Octagon.RawIncidence.StaticDirectCoverage.remainingColumnCapacity remaining target = (List.filter (fun (x : Erdos97Octagon.Vertex) => decide (x ≠ target)) remaining).length
Instances For
Fast packed check that every column can still finish with exactly four entries.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Whether a target is selected by an assigned row.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Number of assigned rows selecting one target, computed from the semantic prefix.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Semantic check that every column can still finish with exactly four entries.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Full semantic check that a packed pattern extends the assigned partial table.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Full semantic check that an exact-table code equals all assigned rows.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Add one row to a packed 64-bit incidence-table prefix.
Equations
- Erdos97Octagon.RawIncidence.StaticDirectCoverage.addRowCode code row centre = code ||| (row &&& 255) <<< UInt64.ofNat (8 * ↑centre)