Source
SetSplitting
Target
NAESatisfiability
Motivation
Set Splitting is precisely hypergraph two-colorability, while NAE-SAT expresses the same condition clause by clause. This missing reverse edge complements the existing NAE-SAT to Set Splitting rule and connects the source directly to a logical decision model.
Reference
Garey and Johnson, Computers and Intractability, 1979, Appendix A (Set Splitting); Schaefer, “The Complexity of Satisfiability Problems,” STOC 1978 (NAE relations).
Reduction Algorithm
Given universe U={0,...,n-1} and subset vectors S_0,...,S_{m-1}, each of length at least two:
- Create Boolean variable
x_u for every u in U; its truth value denotes the side of the split. Encode positive literal x_u as the signed, 1-indexed CNFClause value (u + 1) as i32.
- For every subset vector
S_j, retain the first occurrence of each distinct element, preserving order. If at least two distinct elements remain, create one NAE clause containing their positive literals. If the only distinct element is u, create the clause (x_u,x_u).
- Extract the split directly from the truth assignment: element
u receives the side represented by x_u.
Removing repeated occurrences does not change whether a subset contains elements from both sides. After canonicalization, a subset with at least two distinct elements is split exactly when its NAE clause has both truth values. A subset whose entries all equal u is unsplittable and becomes the unsatisfiable NAE clause (x_u,x_u). Thus the construction and direct extraction preserve YES and NO instances in both directions.
Size Overhead
| Target metric |
Formula |
num_vars |
universe_size |
num_clauses |
num_subsets |
num_literals |
(universe_size + 1) * num_subsets |
The literal formula is an upper bound. The exact number is the sum, over all source subset vectors, of the number of distinct elements, except that a vector with only one distinct element contributes two literal occurrences.
Validation Method
- Enumerate every two-way split and every Boolean assignment and compare them configuration by configuration.
- Test repeated members, unused universe elements, empty families, and subsets of sizes 2, 3, and larger.
- Check that each emitted clause has at least two literals, uses only valid 1-indexed variable identifiers, and satisfies the stated size bounds.
- The canonical example was exhaustively checked over all 16 assignments.
Example
- Source instance:
U={0,1,2,3} with subsets [{0,1},{1,2,3},{0,2,3}].
- Construction: variables
x_0,...,x_3 and NAE clauses (x_0,x_1), (x_1,x_2,x_3), (x_0,x_2,x_3), encoded respectively as (1,2), (2,3,4), and (1,3,4).
- Target witness: assignment
[0,1,0,1].
- Round trip: the subsets evaluate respectively to
[0,1], [1,0,1], and [0,0,1], so all are split. Assignments such as [0,0,0,1] fail the first subset, making the example sensitive to omitted clauses.
- NO edge case: for
U={0} and subset vector [0,0], canonicalization emits (x_0,x_0), encoded as (1,1). Both assignments make its literals equal, so both source and target are infeasible.
BibTeX
@inproceedings{Schaefer1978,
author = {Schaefer, Thomas J.},
title = {The Complexity of Satisfiability Problems},
booktitle = {Proceedings of the Tenth Annual ACM Symposium on Theory of Computing},
pages = {216--226},
year = {1978},
doi = {10.1145/800133.804350}
}
Source
SetSplitting
Target
NAESatisfiability
Motivation
Set Splitting is precisely hypergraph two-colorability, while NAE-SAT expresses the same condition clause by clause. This missing reverse edge complements the existing NAE-SAT to Set Splitting rule and connects the source directly to a logical decision model.
Reference
Garey and Johnson, Computers and Intractability, 1979, Appendix A (Set Splitting); Schaefer, “The Complexity of Satisfiability Problems,” STOC 1978 (NAE relations).
Reduction Algorithm
Given universe
U={0,...,n-1}and subset vectorsS_0,...,S_{m-1}, each of length at least two:x_ufor everyu in U; its truth value denotes the side of the split. Encode positive literalx_uas the signed, 1-indexedCNFClausevalue(u + 1) as i32.S_j, retain the first occurrence of each distinct element, preserving order. If at least two distinct elements remain, create one NAE clause containing their positive literals. If the only distinct element isu, create the clause(x_u,x_u).ureceives the side represented byx_u.Removing repeated occurrences does not change whether a subset contains elements from both sides. After canonicalization, a subset with at least two distinct elements is split exactly when its NAE clause has both truth values. A subset whose entries all equal
uis unsplittable and becomes the unsatisfiable NAE clause(x_u,x_u). Thus the construction and direct extraction preserve YES and NO instances in both directions.Size Overhead
num_varsuniverse_sizenum_clausesnum_subsetsnum_literals(universe_size + 1) * num_subsetsThe literal formula is an upper bound. The exact number is the sum, over all source subset vectors, of the number of distinct elements, except that a vector with only one distinct element contributes two literal occurrences.
Validation Method
Example
U={0,1,2,3}with subsets[{0,1},{1,2,3},{0,2,3}].x_0,...,x_3and NAE clauses(x_0,x_1),(x_1,x_2,x_3),(x_0,x_2,x_3), encoded respectively as(1,2),(2,3,4), and(1,3,4).[0,1,0,1].[0,1],[1,0,1], and[0,0,1], so all are split. Assignments such as[0,0,0,1]fail the first subset, making the example sensitive to omitted clauses.U={0}and subset vector[0,0], canonicalization emits(x_0,x_0), encoded as(1,1). Both assignments make its literals equal, so both source and target are infeasible.BibTeX