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

#P is closed under subtractive reductions

Lax859101.SubtractiveClosure · concepts/Lax859101/SubtractiveClosure.lean · lax-859101

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

    Subtractive reducibility is transitive, and contains the relativized ordered parsimonious reductions and the strong subtractive reductions. #P is closed under subtractive reductions, a theorem of Durand, Hermann, and Kolaitis: the witnesses at the minuend that are not witnesses at the subtrahend are counted by an existential second-order sentence. Hardness travels forward along subtractive reductions, and a parsimoniously #P-complete problem is #P-complete.

    Concept map
    22 concepts
    100%
    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A
    Evidence

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

    1 sharpP_mem_of_subtractive proven

    2 subtractive_of_relOrderedParsimonious proven

    3 subtractive_of_strongSubtractive proven

    5 subtractiveComplete_sharpP_of_parsimoniousComplete proven

    6 subtractiveHard_of_subtractive proven

    Lean source view on GitHub

    1import Lax904597.Problems
    2import Lax904597.Sat
    3import Mathlib.ModelTheory.Graph
    4import Lax799700.SetFamily
    5import Lax366625.CountingProblems
    6import Lax366625.CountingClasses
    7import Lax366625.WitnessCounting
    8import Lax366625.CountingSat
    9import Lax859101.OneCallReductions
    10import Lax859101.SubtractiveReductions
    11import Lax859101.CountingDnf
    12import Lax859101.CountingNaeSat
    13import Lax859101.CountingRestrictedSat
    14import Lax859101.CountingAllSets
    15import Lax859101.CountingBipartite
    16
    17/-!
    18---
    19title: #P is closed under subtractive reductions
    20type: theorem
    21---
    22Subtractive reducibility is transitive, and contains the relativized ordered
    23parsimonious reductions and the strong subtractive reductions. #P is closed
    24under subtractive reductions, a theorem of Durand, Hermann, and Kolaitis:
    25the witnesses at the minuend that are not witnesses at the subtrahend are
    26counted by an existential second-order sentence. Hardness travels forward
    27along subtractive reductions, and a parsimoniously #P-complete problem is
    28#P-complete.
    29-/
    30
    31namespace Lax859101.SubtractiveClosure
    32
    33open FirstOrder FirstOrder.Language FirstOrder.Language.Structure
    34open Lax904597.Problems Lax904597.Sat Lax799700.SetFamily
    35open Lax366625.CountingProblems Lax366625.CountingClasses Lax366625.WitnessCounting
    36 Lax366625.CountingSat
    37open Lax859101.OneCallReductions Lax859101.SubtractiveReductions Lax859101.CountingDnf
    38 Lax859101.CountingNaeSat Lax859101.CountingRestrictedSat Lax859101.CountingAllSets
    39 Lax859101.CountingBipartite
    40
    41/-- Subtractive reducibility is transitive. -/
    42axiom subtractive_trans :
    43 ∀ {L L' L'' : Language.{0, 0}} [L.IsRelational] [L'.IsRelational] [L''.IsRelational]
    44 {C : CountingProblem L} {D : CountingProblem L'} {E : CountingProblem L''},
    45 SubtractiveReducible C D → SubtractiveReducible D E → SubtractiveReducible C E
    46
    47/-- A relativized ordered parsimonious reduction is subtractive. -/
    48axiom subtractive_of_relOrderedParsimonious :
    49 ∀ {L L' : Language.{0, 0}} [L.IsRelational] [L'.IsRelational] {C : CountingProblem L}
    50 {D : CountingProblem L'},
    51 Nonempty (RelOrderedParsimoniousReduction C D) → SubtractiveReducible C D
    52
    53/-- A strong subtractive reduction is subtractive. -/
    54axiom subtractive_of_strongSubtractive :
    55 ∀ {L L' : Language.{0, 0}} [L.IsRelational] [L'.IsRelational] {C : CountingProblem L}
    56 {D : CountingProblem L'},
    57 Nonempty (StrongSubtractiveReduction C D) → SubtractiveReducible C D
    58
    59/-- #P is closed under subtractive reductions. -/
    60axiom sharpP_mem_of_subtractive :
    61 ∀ {L L' : Language.{0, 0}} [L.IsRelational] [L'.IsRelational] {C : CountingProblem L}
    62 {D : CountingProblem L'},
    63 SubtractiveReducible C D → SharpP.Mem D → SharpP.Mem C
    64
    65/-- Hardness travels forward along subtractive reductions. -/
    66axiom subtractiveHard_of_subtractive :
    67 ∀ (K : CountingClass) {L L' : Language.{0, 0}} [L.IsRelational] [L'.IsRelational]
    68 {C : CountingProblem L} {D : CountingProblem L'},
    69 SubtractiveReducible C D → SubtractiveHard K C → SubtractiveHard K D
    70
    71/-- A parsimoniously #P-complete problem is #P-complete. -/
    72axiom subtractiveComplete_sharpP_of_parsimoniousComplete :
    73 ∀ {L : Language.{0, 0}} [L.IsRelational] {C : CountingProblem L},
    74 SharpP.ParsimoniousComplete C → SubtractiveComplete SharpP C
    75
    76end Lax859101.SubtractiveClosure
    77
    Show ProofShow ProofShow ProofShow ProofShow ProofShow Proof

    Discussion

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

    Loading discussion…