Composition: alphabet reduction #
The powering step of Dinur's proof of the PCP theorem amplifies the value of a constraint graph at the cost of an enormous, though constant, alphabet. Composition Dinur, Section 3.3 brings the alphabet back to a fixed one, losing a constant factor of the value that does not depend on the alphabet being reduced: that independence is what lets powering win.
Composition replaces every edge e of a constraint graph G over a finite alphabet α by the
Hadamard assignment tester of its constraint (PCP.hadamardTester), on the labels in α
themselves. The testers of all the edges share the tables of the vertices: the composed proof
holds, for every vertex, a table that is supposedly the long code of its label, and for every edge,
the linear and quadratic tables of its tester. The composed test
(ConstraintGraph.composeTest) runs the tester of a uniformly random edge on the tables of the ends
of that edge and on its own tables, and the composed constraint graph G.compose is the constraint
graph of that test (LocalTest.toConstraintGraph). Its alphabet Bool × (HadamardTester.Query → Bool) has 2 ^ 18 symbols, whatever α is.
A labelling satisfying G gives the honest composed proof, which the composed test passes on every
random string (ConstraintGraph.satisfiable_compose). Conversely, a labelling of the composed graph
is decoded to a labelling of G by reading at every vertex the label whose long code is within
relative distance 1/4 of its table (ConstraintGraph.decodeLabelling). If the decoded labelling
violates an edge of G, the tester of that edge rejects with probability at least 1/28: otherwise
its soundness would give labels satisfying the edge, with long codes within 1/4 of the tables of
its ends, which the decoding must return. So the composed test rejects with probability at least
1/28 times the proportion of the edges of G that the decoded labelling violates, and since it
makes 17 queries, the composed graph has value at least 1/476 times that of G
(ConstraintGraph.le_unsatVal_compose). The number of edges is multiplied by a constant depending
only on |α| (ConstraintGraph.card_edges_compose).
Main definitions #
Cslib.PCP.ConstraintGraph.decodeLabel: the label whose long code is close to a table.Cslib.PCP.ConstraintGraph.composeTest: the composed test of a constraint graph.Cslib.PCP.ConstraintGraph.compose: the composed constraint graph.Cslib.PCP.ConstraintGraph.composeProof: the honest composed proof of a labelling.Cslib.PCP.ConstraintGraph.decodeLabelling: the labelling decoded from a composed proof.
Main results #
Cslib.PCP.ConstraintGraph.satisfiable_compose,Cslib.PCP.ConstraintGraph.unsatVal_compose_le: completeness of composition.Cslib.PCP.ConstraintGraph.one_div_le_one_sub_acceptProb_of_not_satisfies: the tester of an edge violated by the decoded labelling rejects.Cslib.PCP.ConstraintGraph.unsatFrac_decodeLabelling_le,Cslib.PCP.ConstraintGraph.le_unsatVal_compose: soundness of composition.Cslib.PCP.ConstraintGraph.satisfiable_compose_iff: composition preserves satisfiability.Cslib.PCP.ConstraintGraph.card_edges_compose,Cslib.PCP.ConstraintGraph.card_vertices_compose,Cslib.PCP.ConstraintGraph.card_alphabet_compose: the size of the composed graph.
References #
The Hadamard tester as data for binary-constraint composition. Its distance-soundness theorem remains separate; composition needs only rejection on a violated decoded constraint.
Instances For
The Hadamard construction has perfect completeness in the generic composition interface.
The positions of a composed proof, for vertices V, edges E and labels in α: the bit
inl (v, r) of the table of the vertex v at r, and the bit inr (e, y) of the tables of the
tester of the edge e at the position y of its linear or quadratic table.
Instances For
The positions of a composed proof are finitely many.
Decoding the long code #
The label decoded from a table T: the label whose long code is within relative distance 1/4
of T, if there is one (it is then unique, decodeLabel_eq), and an arbitrary label otherwise.
Instances For
A violated constraint on the uniquely decoded input tables is rejected with probability at
least 1/28. This is the soundness contract required by generic composition.
The composed constraint graph #
Where the tester of the edge e reads in a composed proof: the table of its end b is the
table of the vertex G.ends e b, and its linear and quadratic tables are those of e.
Instances For
The composed test Dinur, Section 3.3: on a uniformly random edge e, run the
Hadamard assignment tester of the constraint of e on the tables of the ends of e and the tables
of its tester.
Instances For
The composed constraint graph Dinur, Section 3.3: the constraint graph of the
composed test, over the alphabet Bool × (HadamardTester.Query → Bool), which does not depend on
α.
Instances For
Completeness #
The honest composed proof of a labelling σ of G: the long code of the label of every
vertex as its table, and the honest proof of the labels of its ends as the tables of the tester of
every edge.
Instances For
The tester of the edge e reads in the honest composed proof the honest proof of the labels of
the ends of e.
The composed test passes the honest composed proof of σ on every random string of the edges
satisfied by σ.
Completeness of composition Dinur, Lemma 3.6: if G is satisfiable, so is
the composed graph.
The labelling of the composed graph by the honest composed proof of σ violates at most the
proportion of the edges of G that σ violates.
Completeness of composition, quantitatively: composition does not increase the value.
Soundness #
The labelling of G decoded from a composed proof π: every vertex gets the label decoded from
its table.
Instances For
A violated edge makes its tester reject: if the labelling decoded from a composed proof π
violates the edge e, the tester of e rejects π with probability at least 1/28.
Soundness of composition, for a labelling: every labelling A of the composed graph
violates a proportion of the edges at least 1/476 times the proportion of the edges of G
violated by the labelling decoded from it.
Soundness of composition Dinur, Lemma 3.6: composition divides the value of a
constraint graph by at most 476, whatever its alphabet.
Composition preserves satisfiability.
Size #
The size of the composed graph: every edge of G gives 17 · 2 ^ (20 k² + 15 k + 3) edges,
where k = |α|, a constant depending only on the alphabet.
The composed graph has a vertex for each position of the table of every vertex of G, and for
each position of the tables of the tester of every edge and each random string of that tester.
The alphabet of the composed graph has 2 ^ 18 symbols.