Lautemann's covering lemma #
The combinatorial core of the Sipser–Lautemann theorem, stated for an event
E in the seed space Fin m → Bool and the XOR shift action on that space.
XOR shift of a seed by a vector.
Equations
- Complexity.Lautemann.shift r u i = (r i ^^ u i)
Instances For
The t shifts u 0, …, u (t-1) of the event E cover the whole seed
space: every seed lands in E after at least one of them.
Equations
- Complexity.Lautemann.Covers E u = ∀ (r : Fin m → Bool), ∃ (i : Fin t), Complexity.Lautemann.shift r (u i) ∈ E
Instances For
The number of seeds is 2 ^ m.
The number of t-tuples of shift vectors is (2 ^ m) ^ t.
Existence of covering shifts. If the complement of E is small enough
that 2 ^ m translates of its m-fold product miss the whole shift space,
some m-tuple of shifts covers every seed. This is the counting form of the
probabilistic argument: a uniformly random tuple fails to cover a fixed seed
with probability (1 - eventProb E) ^ m, and a union bound over the 2 ^ m
seeds leaves a covering tuple.
Probability form #
Lautemann's covering lemma, completeness direction. If the event E
fails with probability at most 2 ^ (-k), and the seed length m is below
k * t, then some t shifts of E cover the whole seed space. Since the
failure probability enters as its t-th power against a union bound over the
2 ^ m seeds, any k ≥ 2 suffices at t ≥ m.
Lautemann's covering lemma, soundness direction. If the event E holds
with probability at most 2 ^ (-k) and the number of shifts t is below
2 ^ k, then no t shifts of E cover the seed space.