3SAT FO-reduces to SAT #
This file constructs a first-order reduction from 3SAT to SAT,
DescriptiveComplexity.threeSat_fo_reduction_sat : ThreeSAT ≤ᶠᵒ SAT, over the identity
of vocabularies. The point of the reduction is the width bound: a 3SAT
instance is a SAT instance plus the promise that every clause has at most
three literals, and the promise is checked by a closed first-order sentence.
The interpretation (DescriptiveComplexity.ThreeSatToSat.threeSatToSat) is
identity-like – one tag, dimension one – with all relation formulas gated on
the sentence DescriptiveComplexity.ThreeSatToSat.wideS (“some clause has at least four
distinct literal occurrences”):
- if the input is not wide, the output is a copy of the input, so the output is satisfiable iff the input is (and the width promise holds);
- if the input is wide, every element of the output becomes an empty clause, so the output is unsatisfiable, matching the violated promise.
The order is not needed: this is an order-free FO reduction (though not a
quantifier-free one, since wideS quantifies over clauses and occurrences).
Order-free formulas over the vocabulary of CNF instances #
c is a clause, as a formula.
Equations
Instances For
Dependency graph
x occurs positively in c, as a formula.
Equations
Instances For
Dependency graph
x occurs negatively in c, as a formula.
Equations
Instances For
Dependency graph
x = y, as a formula.
Equations
Instances For
Dependency graph
The literal (x, s) occurs in the clause c, as a formula.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Some clause has at least four distinct literal occurrences, as a sentence:
the clause is variable 0 and the four occurrence variables are 1, …, 4;
the disjunction ranges over the sign vectors, and distinctness is only
required between occurrences carrying the same sign.
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
Dependency graph
Some clause has at least four distinct literal occurrences. This is the
negation of the width bound of 3SAT (wide_iff_not_widthAtMostThree).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Realization of the formula wideS (under any assignment of its – absent –
free variables).
Dependency graph
The same check over the ordered expansion #
The reductions that build gadgets over SatOcc.satOrd (Max Cut, 1-in-SAT)
gate themselves on the width check too, and need it as a formula of the
ordered vocabulary.
Some clause has at least four distinct literal occurrences, as a formula
over the ordered expansion: wideS read there.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
The interpretation #
The identity-like interpretation of SAT instances in 3SAT instances, gated on the width check: a faithful copy if no clause is wide, an unsatisfiable structure made of empty clauses otherwise.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Correctness #
Correctness of the reduction: a CNF structure is a yes-instance of 3SAT iff the interpreted CNF structure is satisfiable.
Dependency graph
3SAT FO-reduces to SAT. The identity-like interpretation
ThreeSatToSat.threeSatToSat, gated on the first-order width check, maps a
CNF structure to a satisfiable CNF instance iff it is a yes-instance of
3SAT.
Equations
- One or more equations did not get rendered due to their size.