One round, uniformly #
AlgEdge.stepFn_eq computes a round of amplification for a graph whose sizes
match the constants it is given. Iterating a round needs more: one function
that is right for every graph. This module supplies the constants that do not
depend on the graph — the walk length, the degree, the tester's counts — and
specialises the round to them.
The one fact that makes this possible is that the encoding a round composes with
does not depend on the graph either: the walks it is defined on are
PreWalk E T, whose type is fixed by the expander family alone.
Main definitions #
Complexity.roundOf— the round's constantsComplexity.roundFn— the round, as oneFPfunction
Main results #
Complexity.roundFn_eq— it computes a round of amplification, for every graph
The constants #
The killing rate a round uses.
Equations
- Complexity.qOf F hd = Complexity.Dinur.q₀ (F.toFamily hd)
Instances For
The walk length a round uses.
Equations
Instances For
How many random strings the tester has.
Equations
- Complexity.cZOf F hd = 2 ^ Complexity.Tester.ROf (Complexity.Dinur.bits (F.toFamily hd) (Complexity.walkLen F hd))
Instances For
How many constraints the alphabet has.
Equations
Instances For
The round's constants.
Equations
- Complexity.roundOf F hd = Complexity.dinurRound F hd (Complexity.qOf F hd) Complexity.cRel (Complexity.cZOf F hd)
Instances For
A key to fall back on, for arguments that name no edge.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The encoding a round composes with. It is written at a graph, but does not depend on it: the walks are those of the expander family.
Equations
- Complexity.encOf F hd = Complexity.Dinur.enc (F.toFamily hd) (Complexity.baseCSP []) (Complexity.roundOf F hd).T
Instances For
The round #
The round computes a round of amplification, for every graph.