Skip to content

Add NAESatisfiability → Satisfiability clause-doubling reduction (#1101) - #1210

Open
montionugera wants to merge 1 commit into
CodingThrust:mainfrom
montionugera:fix/issue-1101
Open

montionugera wants to merge 1 commit into
CodingThrust:mainfrom
montionugera:fix/issue-1101

Conversation

@montionugera

Copy link
Copy Markdown

Closes #1101

Summary

  • Implemented the direct clause-doubling reduction from NAESatisfiability to Satisfiability (src/rules/naesatisfiability_satisfiability.rs), mapping each NAE clause (l_1, ..., l_r) to (l_1 OR ... OR l_r) and (not l_1 OR ... OR not l_r) over the same n variables with identity witness extraction.
  • Registered overhead formulas (num_vars, 2 * num_clauses, 2 * num_literals) and paper documentation (docs/paper/reductions.typ).
  • Added unit tests in src/unit_tests/rules/naesatisfiability_satisfiability.rs covering the empty conjunction, canonical 3-variable truth-table equivalence across all 8 assignments, monochromatic 1-variable unsatisfiable clause, repeated literals, tautological clauses, and higher-arity clauses.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Rule] NAESatisfiability to Satisfiability

1 participant