Inclusions between the counting classes, NP, and coNP
Lax175070.CountClassInclusions · concepts/Lax175070/CountClassInclusions.lean · lax-175070
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
UP ⊆ NP and UP ⊆ ⊕P: a count of at most one is one exactly when it is positive, and exactly when it is odd. NP ⊆ PP: a problem with a witness has more witnesses than a kernel that never holds has. coNP ⊆ PP follows by the closure of PP under complement.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax904597.Problems |
| 2 | import Lax485149.Problems |
| 3 | import Lax485149.Complement |
| 4 | import Lax904597.Classes |
| 5 | import Lax904597.Sat |
| 6 | import Lax904597.Interpretations |
| 7 | import Lax904597.Machines |
| 8 | import Lax564036.Hierarchy |
| 9 | import Lax366625.CountingProblems |
| 10 | import Lax366625.CountingClasses |
| 11 | import Lax366625.WitnessCounting |
| 12 | import Lax366625.CountingSat |
| 13 | import Lax366625.CountingRuns |
| 14 | import Lax175070.CountDefinability |
| 15 | import Lax175070.SelectedSat |
| 16 | |
| 17 | /-! |
| 18 | --- |
| 19 | title: Inclusions between the counting classes, NP, and coNP |
| 20 | type: theorem |
| 21 | --- |
| 22 | UP ⊆ NP and UP ⊆ ⊕P: a count of at most one is one exactly when it is |
| 23 | positive, and exactly when it is odd. NP ⊆ PP: a problem with a witness has |
| 24 | more witnesses than a kernel that never holds has. coNP ⊆ PP follows by the |
| 25 | closure of PP under complement. |
| 26 | -/ |
| 27 | |
| 28 | namespace Lax175070.CountClassInclusions |
| 29 | |
| 30 | open FirstOrder FirstOrder.Language |
| 31 | open Lax904597.Problems Lax904597.Classes Lax904597.Sat Lax904597.Interpretations |
| 32 | Lax904597.Machines Lax564036.Hierarchy |
| 33 | open Lax366625.CountingProblems Lax366625.CountingClasses Lax366625.WitnessCounting |
| 34 | Lax366625.CountingSat |
| 35 | open Lax366625.CountingRuns Lax175070.CountDefinability Lax175070.SelectedSat Lax485149.Problems |
| 36 | open Lax485149.Complement |
| 37 | |
| 38 | /-- UP ⊆ ⊕P. -/ |
| 39 | axiom UP_subset_parityP : |
| 40 | ∀ {L : Language.{0, 0}} [L.IsRelational] (P : DecisionProblem L), |
| 41 | UP.Mem P → ParityP.Mem P |
| 42 | |
| 43 | /-- UP ⊆ NP. -/ |
| 44 | axiom UP_subset_NP : |
| 45 | ∀ {L : Language.{0, 0}} [L.IsRelational] (P : DecisionProblem L), |
| 46 | UP.Mem P → NP.Mem P |
| 47 | |
| 48 | /-- NP ⊆ PP. -/ |
| 49 | axiom NP_subset_PP : |
| 50 | ∀ {L : Language.{0, 0}} [L.IsRelational] (P : DecisionProblem L), |
| 51 | NP.Mem P → PP.Mem P |
| 52 | |
| 53 | /-- coNP ⊆ PP. -/ |
| 54 | axiom coNP_subset_PP : |
| 55 | ∀ {L : Language.{0, 0}} [L.IsRelational] (P : DecisionProblem L), |
| 56 | coNP.Mem P → PP.Mem P |
| 57 | |
| 58 | end Lax175070.CountClassInclusions |
| 59 |
Builds on
Lax175070.CountDefinabilityLax175070.SelectedSatLax366625.CountingClassesLax366625.CountingProblemsLax366625.CountingRunsLax366625.CountingSatLax366625.WitnessCountingLax485149.ComplementLax485149.ProblemsLax564036.HierarchyLax904597.ClassesLax904597.InterpretationsLax904597.MachinesLax904597.ProblemsLax904597.Sat
Used by
none
From Mathlib
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments