#NAE-SAT and #Set Splitting #
The counting versions of DescriptiveComplexity.NAESAT and
DescriptiveComplexity.SetSplitting. Their solutions come in complementary
pairs, which is why neither is reached parsimoniously; both are one-call
#P-complete.
- #NAE-SAT (
DescriptiveComplexity.SharpNAESAT) counts the not-all-equal models among the sets of variables of the formula, the convention of #SAT, so that flipping a model inside the variables is again a model. The reduction from #SAT is that of the decision problem unchanged, one fresh variable added positively to every clause: a model of the result is a model of the formula with the fresh variable false, or its flip (DescriptiveComplexity.NaeCount.card_naeModel_map), so the count is halved, rounding up for the formula with no clause, whose only model is empty. - #Set Splitting (
DescriptiveComplexity.SharpSetSplitting) counts the color classes of ground elements splitting every set. The reduction from #NAE-SAT is again that of the decision problem: a splitting of the literal set system is an assignment of every element, the variables of the formula and the others alike, and each element that is no variable doubles the count (DescriptiveComplexity.NaeCount.card_split_map).
#NAE-SAT #
A not-all-equal model: a not-all-equal proper set of variables of the formula.
Equations
- DescriptiveComplexity.NAEModel A ν = (DescriptiveComplexity.NAEProper ν ∧ ∀ (x : A), ν x → DescriptiveComplexity.SatOccurs A x)
Instances For
Dependency graph
The first-order kernel of #NAE-SAT.
Equations
Instances For
Dependency graph
Dependency graph
#NAE-SAT: the number of not-all-equal models of a CNF formula.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The fresh variable #
Dependency graph
Dependency graph
The least element.
Equations
Instances For
Dependency graph
Dependency graph
The count of the formula with the fresh variable: twice the count of the formula when there is a clause.
Dependency graph
#SAT reduces to #NAE-SAT with one call: add one fresh variable to every clause, and halve the count, rounding up.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
#NAE-SAT is one-call #P-complete.
Registered in the Lax archive as
Lax859101.NaeSatComplete.sharpNaeSat_sharpP_oneCallComplete.
Dependency graph
#Set Splitting #
A splitting color class: a set of ground elements meeting every set of the family and its complement.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The splitting color classes are the witnesses of the counting kernel, bijectively.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
#Set Splitting: the number of color classes of ground elements splitting every set of the family.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The splittings of the literal set system are the not-all-equal assignments of every element.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The count of the literal set system: the count of the formula, doubled for each element that is no variable of it.
Dependency graph
The number of elements that are no variable of the formula, as a polynomial term.
Equations
Instances For
Dependency graph
Dependency graph
#NAE-SAT reduces to #Set Splitting with one call: the literal set
system, its count divided by 2 to the number of elements that are no
variable of the formula.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
#Set Splitting is one-call #P-complete.
Registered in the Lax archive as
Lax859101.NaeSatComplete.sharpSetSplitting_sharpP_oneCallComplete.