Documentation

Complexitylib.Classes.PCP.Internal.Dinur

One round of Dinur's amplification #

Preprocess, power, compose: the three steps assembled into a single transformation of constraint graphs over a fixed alphabet, packaged as an Amplifier. Given an expander family, the round

The alphabet is the one the composition produces, Alpha ReadIdx. Powering blows it up to KOpinion, whose size is a fixed function of the powering length and the preprocessed degree; composition brings it back.

The only free parameter is the killing rate q. The powering bound's slope grows linearly in q while every other loss — preprocessing, composition — is a constant, so a large enough q makes the round double the value. q is chosen by an Archimedean argument, and the threshold is any rational below the powering bound's floor.

Main definitions #

Main results #

@[reducible, inline]

The fixed alphabet of the amplification: the composition's alphabet.

Equations
Instances For

    The powered alphabet's size #

    The degree after preprocessing.

    Equations
    Instances For

      The number of walks of length at most T out of a vertex.

      Equations
      Instances For

        The number of powered labels, as bits of a one-hot encoding.

        Equations
        Instances For

          The encoding #

          The encoding of a powered label: the basis vector at its index.

          Equations
          Instances For

            One round #

            The alphabet's size, the K of the powering parameters.

            Deliberately a def and not an abbrev. The alphabet has 2^23 symbols, and K occurs inside powT K q, which is itself an exponent; letting a tactic unfold K to a numeral there produces terms far too large to elaborate.

            Equations
            Instances For

              One round of amplification with killing rate q.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                The constant factor by which a round multiplies the edge count.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  The value #

                  The value of one round, for a fixed q ≥ 2 and any graph with an edge: at least the min of the powering slope (times the preprocessing constant) times the value, and the powering floor, all divided by the composition's loss.

                  Choosing the killing rate #

                  noncomputable def Complexity.Dinur.q₀ (E : ExpanderFamily) :

                  The chosen killing rate.

                  Equations
                  Instances For

                    The powering floor at the chosen rate.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      theorem Complexity.Dinur.exists_gap (E : ExpanderFamily) :
                      ∃ (g : ), 0 < g g 1 g floor₀ E / 704

                      A rational threshold below the floor (after the composition's loss) and below one.

                      noncomputable def Complexity.Dinur.gap₀ (E : ExpanderFamily) :

                      The chosen threshold.

                      Equations
                      Instances For

                        An edgeless graph has value zero.

                        The value at least doubles, up to the threshold.

                        The amplifier #

                        Dinur's round as an Amplifier.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For