Not-all-equal 3-satisfiability

In computational complexity, not-all-equal 3-satisfiability (NAE3SAT) is an NP-complete variant of the Boolean satisfiability problem, often used in proofs of NP-completeness.

[1] Like 3-satisfiability, an instance of the problem consists of a collection of Boolean variables and a collection of clauses, each of which combines three variables or negations of variables.

However, unlike 3-satisfiability, which requires each clause to have at least one true Boolean value, NAE3SAT requires that the three values in each clause are not all equal to each other (in other words, at least one is true, and at least one is false).

[2] The NP-completeness of NAE3SAT can be proven by a reduction from 3-satisfiability (3SAT).

[2] First the nonsymmetric 3SAT is reduced to the symmetric NAE4SAT by adding a common dummy literal

to every clause, then NAE4SAT is reduced to NAE3SAT by splitting clauses as in the reduction of general

In more detail, a 3SAT instance

are arbitrary literals) is reduced to the NAE4SAT instance

Conversely a satisfying assignment with

must have at least one other literal true in each clause and thus be a satisfying assignment for

Finally a satisfying assignment with

be flipped to produce a satisfying assignment with

NAE3SAT remains NP-complete when all clauses are monotone (meaning that variables are never negated), by Schaefer's dichotomy theorem.

[3] Monotone NAE3SAT can also be interpreted as an instance of the set splitting problem, or as a generalization of graph bipartiteness testing to 3-uniform hypergraphs: it asks whether the vertices of a hypergraph can be colored with two colors so that no hyperedge is monochromatic.

More strongly, it is NP-hard to find colorings of 3-uniform hypergraphs with any constant number of colors, even when a 2-coloring exists.

[4] Unlike 3SAT, some variants of NAE3SAT in which graphs representing the structure of variables and clauses are planar graphs can be solved in polynomial time.

In particular this is true when there exists a planar graph with one vertex per variable, one vertex per clause, an edge for each variable–clause incidence, and a cycle of edges connecting all the variable vertices.

Monotone NAE3SAT problems can be represented by vertex coloring a hypergraph so that every edge has at least one vertex of each color. In this case, every edge contains either a red or a green vertex.