Descriptive complexity: a catalog of parsimoniously #P-complete problems
No public endorsements yet.
Loading review…
Sign in with ORCIDAbstract
A catalog of parsimoniously #P-complete problems, from the descriptive-complexity library. It builds on the NP core registered as lax-904597, the catalog of NP-complete problems lax-799700, the submission on counting problems, #P, and FP (lax-366625), and the submissions it requires on logarithmic space (lax-485149), polynomial time (lax-535992), and AC⁰ (lax-895169).
Seventeen counting problems are parsimoniously #P-complete: #3SAT, #1-in-SAT, #Exact Cover, #Knapsack, #0-1 Integer Programming, #Clique, #Independent Set, #Vertex Cover, #Set Packing, #Set Cover, #Hitting Set, #Dominating Set, #Feedback Vertex Set, #Feedback Arc Set, #Steiner Tree, #Directed Hamilton Circuit, and #Hamilton Circuit. Each counts the solutions of a problem of the NP catalog, at exactly the threshold size where the decision problem asks for one at least or at most that large, so that the reductions can be parsimonious. Each is in #P, and its hardness is carried along a parsimonious first-order reduction, ordered or relativized where needed, from a problem proved complete before it; the proofs form the library's tree of reductions rooted at #SAT. The reductions are parsimonious versions of reductions between the decision problems that go back to Karp, and to Schaefer for 1-in-SAT; parsimonious reductions are due to Simon, and the #P-completeness of such counting problems goes back to Valiant. The support of each problem, the instances with a positive count, is the corresponding decision problem, or for four of them implies it.
The proofs are those of the library's development after version 1.2.2, on its Lean 4.33 branch, sliced to what these statements use; they assume the submission's own statements and those of the submissions it requires where they compose. The library and its documentation are at https://github.com/PierreSenellart/descriptive-complexity and https://pierresenellart.github.io/descriptive-complexity/DescriptiveComplexity.html. The Lean code was written with the assistance of several Claude models; the design and the statements are the author's.
Concepts
- thm✓
CliqueComplete - lem✓
CliquesValues - thm✓
DirHamCircuitComplete - thm✓
DominatingSetComplete - lem✓
DominatingSetsValues - thm✓
ExactCoverComplete - thm✓
FeedbackArcSetComplete - lem✓
FeedbackSetsValues - thm✓
FeedbackVertexSetComplete - thm✓
HamCircuitComplete - lem✓
HamiltonCircuitsValues - thm✓
HittingSetComplete - thm✓
IndependentSetComplete - thm✓
KnapsackComplete - lem✓
KnapsacksValues - thm✓
OneInSATComplete - lem✓
SatVariantsValues - thm✓
SetCoverComplete - lem✓
SetFamiliesValues - thm✓
SetPackingComplete - thm✓
SteinerTreeComplete - lem✓
SteinerTreesValues - thm✓
ThreeSATComplete - thm✓
VertexCoverComplete - thm✓
ZeroOneIPComplete
- def
CountingCliques - def
CountingDominatingSets - def
CountingFeedbackSets - def
CountingHamiltonCircuits - def
CountingKnapsacks - def
CountingSatVariants - def
CountingSetFamilies - def
CountingSteinerTrees
- thm✓
Lax366625.SharpSatComplete - lem✓
Lax366625.SharpSatValue - thm✓
Lax799700.CliqueFamily - thm✓
Lax799700.DominatingSet - thm✓
Lax799700.Feedback - thm✓
Lax799700.Hamilton - thm✓
Lax799700.Knapsack - thm✓
Lax799700.OneInSat - thm✓
Lax799700.SetFamily - thm✓
Lax799700.Steiner - thm✓
Lax799700.ThreeSat - thm✓
Lax799700.ZeroOneIP - def✓
Lax904597.Machines
- def
Lax366625.CountingClasses - def
Lax366625.CountingProblems - def
Lax366625.CountingRuns - def
Lax366625.CountingSat - def
Lax366625.HornNumbers - def
Lax366625.MachineNumbers - def
Lax366625.NumberedCircuits - def
Lax366625.QuantitativeLogic - def
Lax366625.SecondOrderCounting - def
Lax366625.WitnessCounting - def
Lax485149.Complement - def
Lax485149.Problems - def
Lax485149.SecondOrderAtoms - def
Lax535992.CircuitValue - def
Lax535992.ClassPTIME - def
Lax535992.DeterministicMachines - def
Lax535992.HornFragment - def
Lax535992.HornSat - def
Lax535992.LeastFixedPoint - def
Lax799700.Common - def
Lax799700.Problems - def
Lax895169.BitPredicate - def
Lax904597.Classes - def
Lax904597.Interpretations - def
Lax904597.Problems - def
Lax904597.Relativized - def
Lax904597.Sat - def
Lax904597.SecondOrder
Concept map
Proofs
Proof networkview on GitHub
Proof list
-
⊢
Lax280166Proofs.Bridge.feedbackArcSet_of_sharpFeedbackArcSet_support -
⊢
Lax280166Proofs.Bridge.hittingSet_of_sharpHittingSet_support -
⊢
Lax280166Proofs.Bridge.sharpClique_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.sharpDirHamCircuit_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.sharpDominatingSet_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.sharpExactCover_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.sharpFeedbackArcSet_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.sharpFeedbackVertexSet_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.sharpHamCircuit_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.sharpHittingSet_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.sharpIndependentSet_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.sharpKnapsack_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.sharpOneInSat_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.sharpSetCover_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.sharpSetPacking_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.sharpSteinerTree_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.sharpThreeSat_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.sharpVertexCover_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.sharpZeroOneIP_sharpP_parsimoniousComplete -
⊢
Lax280166Proofs.Bridge.steinerTree_of_sharpSteinerTree_support
Lean sources for these proofs: proofs/ on GitHub
Proof code is not displayed; the archive records each proof's checked relationship between claims.
Related submissions
Submission map
Cite this
This is only the formalizers. The authors of the formalized results may be different (see References).
@misc{lax-280166,
author = {Pierre Senellart and Claude (Anthropic)},
title = {Descriptive complexity: a catalog of parsimoniously #P-complete problems},
year = {2026},
howpublished = {Lax Archive, lax-280166},
url = {https://laxarchive.org/lax-280166/},
note = {draft},
}
References
- Pierre Senellart. DescriptiveComplexity: Completeness by First-Order Reductions in Lean. 2026. doi:10.5281/zenodo.21678423 · github.com/PierreSenellart/descriptive-complexity
- Richard M. Karp. Reducibility Among Combinatorial Problems. In Proceedings of a symposium on the Complexity of Computer Computations, held March 20-22, 1972, at the IBM Thomas J. Watson Research Center, Yorktown Heights, New York, USA 85–103, 1972. doi:10.1007/978-1-4684-2001-2_9
- Thomas J. Schaefer. The Complexity of Satisfiability Problems. In Proceedings of the 10th Annual ACM Symposium on Theory of Computing, May 1-3, 1978, San Diego, California, USA 216–226, 1978. doi:10.1145/800133.804350
- Janos Simon. On the Difference Between One and Many (Preliminary Version). In Automata, Languages and Programming, Fourth Colloquium, ICALP 1977 52:480–491, 1977. doi:10.1007/3-540-08342-1_37
- Leslie G. Valiant. The Complexity of Enumeration and Reliability Problems. SIAM J. Comput. 8(3):410–421, 1979. doi:10.1137/0208032
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments