Documentation

Complexitylib.Classes.PCP.Internal.DegreeReductionSound

Soundness of degree reduction #

Completeness was proved in DegreeReduction; this is the other half. An assignment A of the reduced system is decoded to a vertex assignment by plurality, and the unsatisfied darts of A are charged against the edges that decoding fails:

An edge escapes the second bill only by having a disagreeing half-edge, and those are already billed by the first. Trading the two off gives a bound of min 1 c times the original unsatisfied fraction, with c = (1 - lam) · degree / card α.

Main definitions #

Main results #

The constant factor degree reduction costs: the trade-off between the cloud charge (1 - lam) · degree / card α and the edge charge 1, diluted by the (1 + degree)-fold increase in darts.

Equations
Instances For

    Splitting the unsatisfied darts #

    The unsatisfied cloud-links.

    Equations
    Instances For

      The unsatisfied edge-links.

      Equations
      Instances For

        The cloud charge lands entirely among the unsatisfied cloud-links.

        The original edges that decoding fails and whose two half-edges both agree with their vertices' labels.

        Equations
        Instances For

          Each such edge contributes an unsatisfied edge-link: the link carries exactly the original constraint, evaluated at the decoded labels.

          An edge that decoding fails is either billed to an edge-link or has a disagreeing half-edge.

          Soundness #

          theorem Complexity.ConstraintGraph.card_unsatDarts_ge {α : Type} [Fintype α] [DecidableEq α] [Nonempty α] (G : ConstraintGraph α) (E : ExpanderFamily) (A : (G.reduce E).Assignment) :
          min 1 ((1 - E.lam) * E.degree / (Fintype.card α)) * (G.unsatEdges (G.decode A)).card ((G.reduce E).unsatDarts A).card

          The combined charge. With c = (1 - lam) · degree / card α, the unsatisfied darts number at least min 1 c times the edges that decoding fails.

          theorem Complexity.ConstraintGraph.unsatFrac_reduce_ge {α : Type} [Fintype α] [DecidableEq α] [Nonempty α] (G : ConstraintGraph α) (E : ExpanderFamily) (A : (G.reduce E).Assignment) :
          min 1 ((1 - E.lam) * E.degree / (Fintype.card α)) / (2 * (1 + E.degree)) * G.unsatVal ((G.reduce E).unsatFrac A)

          Soundness of degree reduction. The reduced system's unsatisfied fraction is at least a constant times the original's unsatisfiability value, the constant depending only on the alphabet size and the cloud expander.

          Soundness of degree reduction, on values.