Nisan--Wigderson overlap hardwiring -- definitions #
Fixing an NW output coordinate turns its block input into a challenge and leaves all seed coordinates outside that block fixed. A predecessor block can then vary only through the challenge coordinates lying in the two blocks' intersection. This module defines that challenge experiment and its canonical hardwiring table.
Challenge coordinates of current whose seed positions also occur in
previous.
Equations
- design.challengeOverlap current previous = {input : Fin inputLength | (design.coordinates current) input ∈ design.support previous}
Instances For
Replace the seed coordinates in one design block by a challenge, retaining an outside assignment on every other coordinate. The finite inverse of the block embedding makes this operation executable.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The input seen by a block when current carries the challenge and all
coordinates outside current are fixed.
Equations
- design.challengedBlock current previous outside challenge = design.restrictSeed previous (design.seedWithChallenge current outside challenge)
Instances For
The canonical advice table for an observed predecessor-block value. Its indices are assignments to precisely the overlap coordinates.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Total number of Boolean entries in all predecessor tables at one output coordinate.
Equations
- design.predecessorTableEntriesAt current = ∑ previous < current, Fintype.card (↥(design.challengeOverlap current previous) → Bool)