Documentation

Complexitylib.Classes.PCP.Internal.CubeBlocks

Blocks of a cube, and marginals #

An assignment tester makes several reads, each with its own randomness. The Fourier layer supplies probability over one cube point (Pr) and over a pair (Pr₂), but not over k independent points, and building a k-fold product measure would be a detour.

The alternative taken here is to bundle: the tester's whole random string is a single point of a larger cube, and each read uses its own block. What makes this work is that the uniform measure on the big cube restricts to the uniform measure on each block — proved below — so the existing one-variable lemmas apply to each read, and the existing union bound combines them.

Main definitions #

Main results #

The first block of a point of the combined cube.

Equations
Instances For

    The second block of a point of the combined cube.

    Equations
    Instances For

      Splitting a point of the combined cube into its blocks is a bijection.

      Equations
      Instances For

        The first block is uniform. A predicate depending only on the first block has the same probability over the combined cube as over its own.

        The second block is uniform too.

        A union bound over many reads #

        theorem Complexity.prob_forall_ge {m : } (k : ) (P : Fin kBooleanAnalysis.Cube mProp) (ε : ) :
        (∀ (i : Fin k), 1 - ε BooleanAnalysis.prob (P i))1 - k * ε BooleanAnalysis.prob fun (z : BooleanAnalysis.Cube m) => ∀ (i : Fin k), P i z

        Union bound over k events. If each of k events holds except with probability ε, all hold except with probability k · ε. With the tester's randomness bundled into one point, each read's correctness is an event on that point, so this is the bound that combines them.

        Composed blocks #

        Marginals compose: a block of a block is still uniform. Iterating this gives a bundled random string with any fixed number of independent blocks, which is all a tester with constantly many reads needs.

        Pairs are two blocks #

        Pr₂ is a bundled Pr. The Fourier layer's probability over a pair of independent points is the probability over a single point of the doubled cube, read as two blocks.

        This is the bridge that lets the pair-based statements (the consistency check) and the block-based statements (the self-corrected reads) be combined: after rewriting, both are probabilities over one cube, so a union bound applies.

        A pair drawn from the first block of a bundled string is a uniform pair, so a Pr₂ statement can be read as a statement about the bundled randomness that the tester's other reads also draw from.

        Transfer along a likely good event. If E implies F whenever A holds, then E is no likelier than F plus the chance that A fails.

        This is how a tester's observed acceptance is converted into a statement about the decoded tables: E is "the tester accepts", A is "every self-corrected read returned the true value", and F is the check as made on the decoded codewords.

        Conditioning on an earlier block #

        Fubini for blocks. A predicate reading both blocks has probability equal to the average, over the first block, of its conditional probability in the second.

        This is what lets a tester choose where to read using early randomness and still get a uniform correction string: the read point is fixed by u, and the inner probability is the ordinary one-variable statement.

        A bound that holds for every earlier outcome holds overall.

        theorem Complexity.prob_and_ge {m : } {P Q : BooleanAnalysis.Cube mProp} {p q : } (hP : 1 - p BooleanAnalysis.prob P) (hQ : 1 - q BooleanAnalysis.prob Q) :
        1 - (p + q) BooleanAnalysis.prob fun (z : BooleanAnalysis.Cube m) => P z Q z

        Two likely events are jointly likely. The union bound in the form the tester uses: each read fails with its own probability, and the failures add.

        A likely event happens. Used to turn a probabilistic guarantee about a tester's reads into a single random string on which every read is right — the argument for a check whose conclusion is deterministic.

        A probability is a count over the cube.