#DNF is #P-complete, by one call and by subtraction
Lax859101.DnfComplete · concepts/Lax859101/DnfComplete.lean · lax-859101
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
#SAT reduces to #DNF by a subtraction: the models of a CNF formula are the assignments of its variables, of them, minus the models of the DNF formula of its negation, as Durand, Hermann, and Kolaitis showed and as Durand, Haak, Kontinen, and Vollmer used for #AC. Hence #DNF is #P-complete under subtractive reductions, and one-call #P-complete, although its support, the satisfiability of a DNF formula, is easy.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax904597.Problems |
| 2 | import Lax904597.Sat |
| 3 | import Mathlib.ModelTheory.Graph |
| 4 | import Lax799700.SetFamily |
| 5 | import Lax366625.CountingProblems |
| 6 | import Lax366625.CountingClasses |
| 7 | import Lax366625.WitnessCounting |
| 8 | import Lax366625.CountingSat |
| 9 | import Lax859101.OneCallReductions |
| 10 | import Lax859101.SubtractiveReductions |
| 11 | import Lax859101.CountingDnf |
| 12 | import Lax859101.CountingNaeSat |
| 13 | import Lax859101.CountingRestrictedSat |
| 14 | import Lax859101.CountingAllSets |
| 15 | import Lax859101.CountingBipartite |
| 16 | |
| 17 | /-! |
| 18 | --- |
| 19 | title: #DNF is #P-complete, by one call and by subtraction |
| 20 | type: theorem |
| 21 | --- |
| 22 | #SAT reduces to #DNF by a subtraction: the models of a CNF formula are the |
| 23 | assignments of its variables, of them, minus the models of the DNF |
| 24 | formula of its negation, as Durand, Hermann, and Kolaitis showed and as |
| 25 | Durand, Haak, Kontinen, and Vollmer used for #AC. Hence #DNF is |
| 26 | #P-complete under subtractive reductions, and one-call #P-complete, although |
| 27 | its support, the satisfiability of a DNF formula, is easy. |
| 28 | -/ |
| 29 | |
| 30 | namespace Lax859101.DnfComplete |
| 31 | |
| 32 | open FirstOrder FirstOrder.Language FirstOrder.Language.Structure |
| 33 | open Lax904597.Problems Lax904597.Sat Lax799700.SetFamily |
| 34 | open Lax366625.CountingProblems Lax366625.CountingClasses Lax366625.WitnessCounting |
| 35 | Lax366625.CountingSat |
| 36 | open Lax859101.OneCallReductions Lax859101.SubtractiveReductions Lax859101.CountingDnf |
| 37 | Lax859101.CountingNaeSat Lax859101.CountingRestrictedSat Lax859101.CountingAllSets |
| 38 | Lax859101.CountingBipartite |
| 39 | |
| 40 | /-- #SAT reduces to #DNF by a subtractive reduction. -/ |
| 41 | axiom sharpSat_subtractive_sharpDnf : |
| 42 | SubtractiveReducible SharpSAT SharpDNF |
| 43 | |
| 44 | /-- #DNF is #P-complete under subtractive reductions. -/ |
| 45 | axiom sharpDnf_sharpP_complete : |
| 46 | SubtractiveComplete SharpP SharpDNF |
| 47 | |
| 48 | /-- #DNF is one-call #P-complete. -/ |
| 49 | axiom sharpDnf_sharpP_oneCallComplete : |
| 50 | OneCallComplete SharpP SharpDNF |
| 51 | |
| 52 | end Lax859101.DnfComplete |
| 53 |
Builds on
Lax366625.CountingClassesLax366625.CountingProblemsLax366625.CountingSatLax366625.WitnessCountingLax799700.SetFamilyLax859101.CountingAllSetsLax859101.CountingBipartiteLax859101.CountingDnfLax859101.CountingNaeSatLax859101.CountingRestrictedSatLax859101.OneCallReductionsLax859101.SubtractiveReductionsLax904597.ProblemsLax904597.Sat
Used by
none
From Mathlib
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments