EU3SAT: exactly three distinct variables per clause #
EUThreeSAT uses ordinary disjunction and requires three distinct variables in every clause.
Its native polynomial-time reduction from positive exact-one SAT replaces each triple by its
five-clause truth-table encoding, without new variables. Invalid source syntax is rejected.
There is no occurrence bound in this NP-completeness theorem. In particular, exact-three formulas with distinct variables and at most three occurrences per variable are always satisfiable, by the Hall matching argument; they are not the width-at-most-three 3SAT-3 problem.
Main definitions #
EUThreeSAT: ordinary satisfiability with exact-three distinct-variable syntax.toEUThreeSAT: the reduction from positive exact-three exact-one SAT.
Main results #
PositiveOneInExactThreeSAT.ite_flatMap_mem_iff: total correctness of a guarded clause-wise compiler from positive exact-three exact-one SAT; shared with the NAE reduction.EUThreeSAT_npComplete: NP-completeness under the binary CNF encoding.
The reduction and its computational certificate are original. Its source hardness theorem is
PositiveOneInExactThreeSAT_npComplete.
Ordinary SAT with exactly three distinct variables per clause, with arbitrary signs.
Instances For
Check exact-three distinct-variable syntax, allowing either literal polarity.
Instances For
The executable syntax test agrees with the shared mathematical predicate.
Exact-three distinct-variable syntax is decidable in native polynomial time.
The ordinary SAT verifier guarded by exact-three distinct-variable syntax.
Instances For
The syntax guard preserves the usual first-occurrence certificate convention.
EU3SAT belongs to NP under the ordinary binary formula encoding.
Read a literal position, supplying a fixed value outside the clause.
Emit the five-clause truth table for the first three literal positions.
Instances For
The constant-size clause replacement is computed in native polynomial time.
On a triple, the replacement expresses exactly-one semantics.
The replacement preserves exact-three distinct-variable syntax.
Ordinary EU3SAT with at most three literal occurrences per variable.
Instances For
In the occurrence-three exact-distinct language, the syntax alone ensures satisfiability.
EU3SAT-3 is decidable in native polynomial time by checking only its syntax.
Total correctness of a guarded exact-three compiler. Suppose the compiler rejects inputs
failing the positive exact-three syntax guard and otherwise replaces each clause c by f c.
Suppose also that f preserves exact-three distinct-variable syntax, and that on well-formed
sources the compiled formula satisfies P exactly when the source is exact-one satisfiable. Then
the compiler reduces PositiveOneInExactThreeSAT to {ψ | ψ.IsExactThreeDistinct ∧ P ψ}.
Replace positive exact-one triples by ordinary exact-three clauses; reject invalid syntax.
Instances For
The complete reduction is polynomial-time on binary variable labels.
Total correctness includes source inputs outside the positive exact-three syntax.
Positive exact-three exact-one SAT reduces to ordinary EU3SAT.
EU3SAT is NP-hard. No bound on variable occurrences is imposed.
EU3SAT is NP-complete.