Executable degree reduction #
The executable construction uses every half-edge as a vertex. Each has one original edge-link and one cloud-link for every label of a fixed enumerated graph family. Original constraints retain their orientation; cloud-links use equality. The program is polynomial-time given one uniform certificate for the numerical cloud rotation.
Main definitions #
Cslib.PCP.Encoded.Graph.halfEdgeNumber: number the half-edges by consecutive naturals.Cslib.PCP.Encoded.Graph.degreeReduce: the executable edge-list transformation.Cslib.PCP.Encoded.Graph.degreeReduceEval: interpret original and equality constraints.
Main results #
Cslib.PCP.Encoded.Graph.isPolyTime_degreeReduce: the entire transformation is polynomial-time.Cslib.PCP.Encoded.Graph.toGraph_degreeReduce: exact agreement with degree reduction.Cslib.PCP.Encoded.Graph.le_unsatVal_degreeReduce: the retained constraint-violation gap.
References #
Numbering half-edges uses only unary arithmetic.
Numbering does not identify the two ends of a loop or distinct parallel edges.
The constraint descriptor is none for equality or some (reverse, original) for an
original edge constraint, with its argument order retained.
Instances For
Evaluate an original oriented constraint or a cloud equality constraint.
Instances For
Enumerating all darts of degree reduction charges the full output list.
Every output edge is computed uniformly in the input graph and dart.
The whole edge-list construction is uniformly polynomial-time, including all cloud scans, searches, rotation calls, copying, and storage of the resulting graph.
Constraint evaluation remains polynomial-time, with equality implemented by comparison of encoded labels.
Enumerating distinct labels gives one occurrence of every dart.
The ordered output occurrences are indexed by the mathematical degree-reduction darts. The original edge precedes the cloud edges at each half-edge.
Instances For
The complete edge-list program is the existing degree reduction, with explicitly numbered vertices and the proved enumeration of its darts.
Every generated endpoint is in the output vertex range. The original graph's declared vertex bound is irrelevant, because its edges themselves index the new vertices.
Restricting half-edge numbering to existing edges is still injective.
The executable output has exactly the value of the mathematical degree reduction.
The executable output has exactly the satisfiability of the mathematical degree reduction.
The uniform spectral bound transfers through the computed cloud enumeration, so the existing Dinur degree-reduction gap estimate applies to the executable graph.
Degree reduction does not increase the number of violations after normalizing by its degree.