#2SAT, #HORN-SAT, #Monotone-2SAT, and all the vertex covers of a graph #
The model counts of the CNF formulas of a restricted shape:
DescriptiveComplexity.SharpTwoSAT (at most two literals per clause),
DescriptiveComplexity.SharpHornSAT (at most one positive literal per clause)
and DescriptiveComplexity.SharpMonotoneTwoSAT (at most two literals per
clause, all positive), each #SAT restricted to a first-order definable class
of formulas (DescriptiveComplexity.CountingProblem.restrict), and
DescriptiveComplexity.SharpAllVertexCovers, the number of vertex covers of a
graph. Deciding the first three is in PTIME; counting their models is one-call
#P-complete (Valiant 1979).
The vertex covers of a graph are the complements of its independent sets, so
the last problem is counting all the independent sets under another name
(DescriptiveComplexity.sharpAllVertexCovers_eq). The three others are
reached from it by one reduction with a sign (DescriptiveComplexity.edgeInterp):
one clause per edge, holding its two ends as literals of that sign. With the
negative sign the models are the independent sets, the formula is a 2-CNF
and a Horn formula; with the positive sign the models are the vertex covers,
the formula a monotone 2-CNF. In both cases the models are sets of
non-isolated vertices, the variables of the formula, and each isolated
vertex doubles the count of the graph: the post-processing multiplies by 2
to the number of isolated vertices.
The classes of formulas #
The literal (x, s) occurs in the clause c, over the vocabulary of CNF
formulas.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
At most two literals per clause: among any three occurrences of a clause, two coincide.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
At most one positive literal per clause.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
No negative literal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
No clause has a negative literal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
The problems #
#2SAT: the number of models of a CNF formula with at most two literals
per clause, 0 on the other formulas.
Equations
Instances For
Dependency graph
#HORN-SAT: the number of models of a Horn formula, 0 on the other
formulas.
Equations
Instances For
Dependency graph
#Monotone-2SAT: the number of models of a CNF formula with at most two
literals per clause, all positive, 0 on the other formulas.
Equations
Instances For
Dependency graph
Graphs: independent sets and vertex covers #
An edge of a graph: two distinct adjacent vertices.
Equations
Instances For
Dependency graph
A vertex is not isolated: it is an end of an edge.
Equations
- DescriptiveComplexity.NonIso x = ∃ (y : A), DescriptiveComplexity.GEdge x y ∨ DescriptiveComplexity.GEdge y x
Instances For
Dependency graph
A vertex cover: every edge has an end in it.
Equations
- DescriptiveComplexity.GVertexCover A C = ∀ (x y : A), x ≠ y → FirstOrder.Language.Structure.RelMap FirstOrder.Language.adj ![x, y] → C x ∨ C y
Instances For
Dependency graph
The vertex covers are the complements of the independent sets.
Dependency graph
Counting all the vertex covers of a graph.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Counting all the vertex covers of a graph is one-call #P-complete.
Registered in the Lax archive as
Lax859101.AllSetsComplete.sharpAllVertexCovers_sharpP_oneCallComplete.
Dependency graph
One clause per edge #
The adjacency symbol, over the ordered expansion.
Instances For
Dependency graph
The domain of the clauses: the edges.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The variable is an end of the clause.
Equations
Instances For
Dependency graph
One clause per edge, holding its two ends as literals of sign s: the
tag true carries the clauses, on the edges, and the tag false the
variables, on the diagonal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
The adjacency symbol.
Instances For
Dependency graph
x is isolated.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The number of isolated vertices, as a polynomial term.
Equations
Instances For
Dependency graph
Dependency graph
The count of the graph is the model count of the formula of its edges, doubled for each isolated vertex.
Dependency graph
Counting all the independent sets reduces to #SAT with one call, the
formula being one clause of sign s per edge.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
What the formula of the edges is #
Dependency graph
Dependency graph
Dependency graph
Completeness #
#2SAT is one-call #P-complete.
Registered in the Lax archive as
Lax859101.RestrictedSatComplete.sharpTwoSat_sharpP_oneCallComplete.
Dependency graph
#HORN-SAT is one-call #P-complete.
Registered in the Lax archive as
Lax859101.RestrictedSatComplete.sharpHornSat_sharpP_oneCallComplete.
Dependency graph
#Monotone-2SAT is one-call #P-complete.
Registered in the Lax archive as
Lax859101.RestrictedSatComplete.sharpMonotoneTwoSat_sharpP_oneCallComplete.