While this submission is a draft, it cannot be used by other submissions.

Inclusions between the counting classes, NP, and coNP

Lax175070.CountClassInclusions · concepts/Lax175070/CountClassInclusions.lean · lax-175070

proven

Loading review…

Sign in with ORCID

Community review

Flags

Each flag is tied to a public ORCID identity and explains why this concept may be incorrect.

No flags have been submitted.

    Community review

    Flag this concept

    State precisely what appears incorrect. This explanation will be public under your ORCID name.

    No source line selected.

    Natural 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
    23 concepts
    100%
    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A
    Evidence

    This concept declares 4 statements. Each proof establishes one of them relative to its assumptions.

    Lean source view on GitHub

    1import Lax904597.Problems
    2import Lax485149.Problems
    3import Lax485149.Complement
    4import Lax904597.Classes
    5import Lax904597.Sat
    6import Lax904597.Interpretations
    7import Lax904597.Machines
    8import Lax564036.Hierarchy
    9import Lax366625.CountingProblems
    10import Lax366625.CountingClasses
    11import Lax366625.WitnessCounting
    12import Lax366625.CountingSat
    13import Lax366625.CountingRuns
    14import Lax175070.CountDefinability
    15import Lax175070.SelectedSat
    16
    17/-!
    18---
    19title: Inclusions between the counting classes, NP, and coNP
    20type: theorem
    21---
    22UP ⊆ NP and UP ⊆ ⊕P: a count of at most one is one exactly when it is
    23positive, and exactly when it is odd. NP ⊆ PP: a problem with a witness has
    24more witnesses than a kernel that never holds has. coNP ⊆ PP follows by the
    25closure of PP under complement.
    26-/
    27
    28namespace Lax175070.CountClassInclusions
    29
    30open FirstOrder FirstOrder.Language
    31open Lax904597.Problems Lax904597.Classes Lax904597.Sat Lax904597.Interpretations
    32 Lax904597.Machines Lax564036.Hierarchy
    33open Lax366625.CountingProblems Lax366625.CountingClasses Lax366625.WitnessCounting
    34 Lax366625.CountingSat
    35open Lax366625.CountingRuns Lax175070.CountDefinability Lax175070.SelectedSat Lax485149.Problems
    36open Lax485149.Complement
    37
    38/-- UP ⊆ ⊕P. -/
    39axiom UP_subset_parityP :
    40 ∀ {L : Language.{0, 0}} [L.IsRelational] (P : DecisionProblem L),
    41 UP.Mem P → ParityP.Mem P
    42
    43/-- UP ⊆ NP. -/
    44axiom UP_subset_NP :
    45 ∀ {L : Language.{0, 0}} [L.IsRelational] (P : DecisionProblem L),
    46 UP.Mem P → NP.Mem P
    47
    48/-- NP ⊆ PP. -/
    49axiom NP_subset_PP :
    50 ∀ {L : Language.{0, 0}} [L.IsRelational] (P : DecisionProblem L),
    51 NP.Mem P → PP.Mem P
    52
    53/-- coNP ⊆ PP. -/
    54axiom coNP_subset_PP :
    55 ∀ {L : Language.{0, 0}} [L.IsRelational] (P : DecisionProblem L),
    56 coNP.Mem P → PP.Mem P
    57
    58end Lax175070.CountClassInclusions
    59
    Show ProofShow ProofShow ProofShow Proof

    Discussion

    Ask a question or add context. Endorsements and structured flags are kept in the review panel above.

    Loading discussion…