Documentation

Complexitylib.Classes.PCP.Internal.Expander

Expander families, and expanderizing a graph #

Dinur's preprocessing needs a fixed constant degree d and a constant lam < 1 such that every vertex count admits a d-regular graph with spectral bound lam. ExpanderFamily packages exactly that.

The family is given as raw rotation data on Fin n × Fin degree, one involution per vertex count, rather than as a function into RegGraph. That matters downstream: degree reduction puts an expander on the cloud of every vertex at once, and those clouds have different sizes, so all of them must speak the same label type Fin degree. Deriving the graphs from shared data gives that for free, and makes order and deg computations Fintype.card_fin rather than hypotheses.

Isolating the requirement this way matters for a second reason: nothing else in the development depends on how the family is built. Neither Mathlib nor this library currently contains an explicit expander construction — no spectral gap, edge expansion, Cheeger inequality, or zig-zag product — so producing an ExpanderFamily is a self-contained sub-project (zig-zag, or a Margulis-type Cayley construction), and everything downstream is already stated against this interface.

Main definitions #

Main results #

def Complexity.RegGraph.ofRot (d : ) (hd : 0 < d) (n : ) (rot : Fin n × Fin dFin n × Fin d) (hrot : Function.Involutive rot) :

The graph on Fin n with labels Fin d given by a rotation involution.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem Complexity.RegGraph.order_ofRot (d : ) (hd : 0 < d) (n : ) (rot : Fin n × Fin dFin n × Fin d) (hrot : Function.Involutive rot) :
    (ofRot d hd n rot hrot).order = n
    @[simp]
    theorem Complexity.RegGraph.deg_ofRot (d : ) (hd : 0 < d) (n : ) (rot : Fin n × Fin dFin n × Fin d) (hrot : Function.Involutive rot) :
    (ofRot d hd n rot hrot).deg = d

    A family of constant-degree expanders, presented as rotation data: for every vertex count n, an involution on Fin n × Fin degree whose graph contracts mean-zero functions by a fixed lam < 1.

    Instances For

      The member of the family on n vertices.

      Equations
      Instances For

        The identification of the family member's vertices with G's: the numbering G's vertices carry.

        Equations
        Instances For

          G with a family expander superposed on its vertices.

          Equations
          Instances For

            Expanderization. Superposing a family expander gives a graph with a spectral bound.

            The resulting bound is strictly below one, which is what makes powering gain a factor.