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

#Steiner Tree is parsimoniously #P-complete

Lax280166.SteinerTreeComplete · concepts/Lax280166/SteinerTreeComplete.lean · lax-280166

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

    #Steiner Tree is parsimoniously #P-complete: it is in #P, and every problem of #P reduces to it by a relativized ordered parsimonious reduction. Hardness comes from #Vertex Cover by an ordered parsimonious reduction. The support of #Steiner Tree is the existence of a solution of exactly the threshold size, which gives a yes-instance of SteinerTree; the converse needs a solution of another size to be cut down or padded, which the library does not prove.

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

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

    Lean source view on GitHub

    1import Lax904597.Problems
    2import Lax904597.Sat
    3import Lax799700.CliqueFamily
    4import Lax799700.DominatingSet
    5import Lax799700.Feedback
    6import Lax799700.Hamilton
    7import Lax799700.Knapsack
    8import Lax799700.OneInSat
    9import Lax799700.SetFamily
    10import Lax799700.Steiner
    11import Lax799700.ThreeSat
    12import Lax799700.ZeroOneIP
    13import Lax366625.CountingProblems
    14import Lax366625.CountingClasses
    15import Lax366625.WitnessCounting
    16import Lax366625.CountingSat
    17import Lax280166.CountingSatVariants
    18import Lax280166.CountingCliques
    19import Lax280166.CountingDominatingSets
    20import Lax280166.CountingFeedbackSets
    21import Lax280166.CountingHamiltonCircuits
    22import Lax280166.CountingSetFamilies
    23import Lax280166.CountingKnapsacks
    24import Lax280166.CountingSteinerTrees
    25
    26/-!
    27---
    28title: #Steiner Tree is parsimoniously #P-complete
    29type: theorem
    30---
    31#Steiner Tree is parsimoniously #P-complete: it is in #P, and every problem of #P
    32reduces to it by a relativized ordered parsimonious reduction. Hardness
    33comes from #Vertex Cover by an ordered parsimonious reduction.
    34The support of #Steiner Tree is the existence of a solution of exactly the threshold
    35size, which gives a yes-instance of SteinerTree; the converse needs a solution of
    36another size to be cut down or padded, which the library does not prove.
    37-/
    38
    39namespace Lax280166.SteinerTreeComplete
    40
    41open FirstOrder FirstOrder.Language
    42open Lax904597.Problems Lax904597.Sat
    43open Lax366625.CountingProblems Lax366625.CountingClasses Lax366625.WitnessCounting
    44 Lax366625.CountingSat
    45open Lax799700.ThreeSat Lax799700.SetFamily
    46open Lax280166.CountingSatVariants Lax280166.CountingCliques Lax280166.CountingDominatingSets
    47 Lax280166.CountingFeedbackSets Lax280166.CountingHamiltonCircuits Lax280166.CountingSetFamilies
    48 Lax280166.CountingKnapsacks Lax280166.CountingSteinerTrees
    49
    50/-- #Steiner Tree is parsimoniously #P-complete. -/
    51axiom sharpSteinerTree_sharpP_parsimoniousComplete :
    52 SharpP.ParsimoniousComplete SharpSteinerTree
    53
    54/-- The support of #Steiner Tree: a solution of exactly the threshold size exists. -/
    55axiom sharpSteinerTree_support_iff :
    56 ∀ (A : Type) [Lax799700.Steiner.steinerGraph.Structure A] [Finite A],
    57 SharpSteinerTree.support A ↔ ∃ S : A → Prop, SteinerOfSize A S
    58
    59/-- A positive count of #Steiner Tree gives a yes-instance of SteinerTree. -/
    60axiom steinerTree_of_sharpSteinerTree_support :
    61 ∀ (A : Type) [Lax799700.Steiner.steinerGraph.Structure A] [Finite A],
    62 SharpSteinerTree.support A → Lax799700.Steiner.SteinerTree A
    63
    64end Lax280166.SteinerTreeComplete
    65
    Show ProofShow ProofShow Proof

    Discussion

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

    Loading discussion…