NAE-3SAT ordered-FO-reduces to Max Cut #
Correctness of the gadget of DescriptiveComplexity.Problems.MaxCut.Interp. The whole
argument runs through one map, DescriptiveComplexity.MaxCutRed.cutMap, which charges
every edge of the cut to a threshold unit:
- a cut variable edge is charged to the mark of its element;
- a cut occurrence edge is charged to the mark of its occurrence;
- a cut clause edge
{u, v}of a clausecis charged to whichever ofu,vis not the last occurrence ofc– the tie, when neither is, broken towards the side the last occurrence lies on.
The map is injective on the cut (DescriptiveComplexity.MaxCutRed.cutMap_injOn), and
this is exactly where the width bound is used: two cut clause edges with the
same charge would give four distinct occurrences of one clause, two on each
side of the cut. Injectivity gives cut ≤ threshold for every S.
Conversely, given a not-all-equal assignment, the side that puts a literal
vertex with its literal and an occurrence vertex with the negation of its
literal makes the map hit every mark
(DescriptiveComplexity.MaxCutRed.marked_subset_image), so threshold ≤ cut.
Both halves together say that a cut reaches the threshold iff it is “perfect”: every variable edge cut (which reads off an assignment), every occurrence edge cut (which ties the occurrence vertices to it), and every clause gadget non-monochromatic (which is not-all-equal satisfaction). The penalty marks of clauses with at most one occurrence are never charged, which is what rules those clauses out – as it must, since such a clause is never not-all-equal satisfiable.
Occurrence bookkeeping #
The last occurrence of a clause is unique.
Dependency graph
The occurrence vertex of the last occurrence of c (a penalty vertex if
c has no occurrence at all).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
No clause has four distinct occurrence vertices: the width bound, read on the gadget.
Dependency graph
A clause has at most one occurrence exactly when none of its occurrences is a non-first one – the first-order form the marks use.
Dependency graph
The vertex of the last occurrence, as an occurrence vertex.
Dependency graph
Charging a cut edge to a threshold unit #
The cut of the gadget graph determined by S, as a set of pairs.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The threshold, as a set of pairs.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
The endpoint of a clause edge that the threshold unit is charged to.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The charge map: every edge of the cut is charged to a threshold unit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Every edge of the cut, with its charge in explicit form.
Dependency graph
The charge map sends the cut into the threshold.
Dependency graph
The charge map is injective on the cut. This is where the width bound is used: two clause edges with the same charge would exhibit four distinct occurrences of one clause.
Dependency graph
The side of the cut given by an assignment #
The side of the cut determined by an assignment: a literal vertex takes the value of its literal, an occurrence vertex the negation of its literal, and the penalty vertices are outside.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Given a not-all-equal assignment, the charge map hits every threshold unit, so the cut is at least as large as the threshold.
Dependency graph
Correctness #
Correctness of the reduction: a CNF structure is a yes-instance of NAE-3SAT iff its gadget graph has a cut at least as large as its marked relation.
Dependency graph
NAE-3SAT ordered-FO-reduces to Max Cut: the gadget graph, whose cut reaches the threshold exactly when the clauses are not-all-equal satisfiable.
Equations
- One or more equations did not get rendered due to their size.