Skip to content

[Rule] SetSplitting to NAESatisfiability #1100

Description

@isPANN

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:

  1. 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.
  2. 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).
  3. 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

  1. Source instance: U={0,1,2,3} with subsets [{0,1},{1,2,3},{0,2,3}].
  2. 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).
  3. Target witness: assignment [0,1,0,1].
  4. 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.
  5. 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}
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    GoodAn issue passed all checks.ruleA new reduction rule to be added.

    Type

    No type

    Projects

    Status
    Final review

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions