#Steiner Tree is parsimoniously #P-complete
Lax280166.SteinerTreeComplete · concepts/Lax280166/SteinerTreeComplete.lean · lax-280166
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural 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
Evidence
Lean source view on GitHub
| 1 | import Lax904597.Problems |
| 2 | import Lax904597.Sat |
| 3 | import Lax799700.CliqueFamily |
| 4 | import Lax799700.DominatingSet |
| 5 | import Lax799700.Feedback |
| 6 | import Lax799700.Hamilton |
| 7 | import Lax799700.Knapsack |
| 8 | import Lax799700.OneInSat |
| 9 | import Lax799700.SetFamily |
| 10 | import Lax799700.Steiner |
| 11 | import Lax799700.ThreeSat |
| 12 | import Lax799700.ZeroOneIP |
| 13 | import Lax366625.CountingProblems |
| 14 | import Lax366625.CountingClasses |
| 15 | import Lax366625.WitnessCounting |
| 16 | import Lax366625.CountingSat |
| 17 | import Lax280166.CountingSatVariants |
| 18 | import Lax280166.CountingCliques |
| 19 | import Lax280166.CountingDominatingSets |
| 20 | import Lax280166.CountingFeedbackSets |
| 21 | import Lax280166.CountingHamiltonCircuits |
| 22 | import Lax280166.CountingSetFamilies |
| 23 | import Lax280166.CountingKnapsacks |
| 24 | import Lax280166.CountingSteinerTrees |
| 25 | |
| 26 | /-! |
| 27 | --- |
| 28 | title: #Steiner Tree is parsimoniously #P-complete |
| 29 | type: theorem |
| 30 | --- |
| 31 | #Steiner Tree is parsimoniously #P-complete: it is in #P, and every problem of #P |
| 32 | reduces to it by a relativized ordered parsimonious reduction. Hardness |
| 33 | comes from #Vertex Cover by an ordered parsimonious reduction. |
| 34 | The support of #Steiner Tree is the existence of a solution of exactly the threshold |
| 35 | size, which gives a yes-instance of SteinerTree; the converse needs a solution of |
| 36 | another size to be cut down or padded, which the library does not prove. |
| 37 | -/ |
| 38 | |
| 39 | namespace Lax280166.SteinerTreeComplete |
| 40 | |
| 41 | open FirstOrder FirstOrder.Language |
| 42 | open Lax904597.Problems Lax904597.Sat |
| 43 | open Lax366625.CountingProblems Lax366625.CountingClasses Lax366625.WitnessCounting |
| 44 | Lax366625.CountingSat |
| 45 | open Lax799700.ThreeSat Lax799700.SetFamily |
| 46 | open 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. -/ |
| 51 | axiom sharpSteinerTree_sharpP_parsimoniousComplete : |
| 52 | SharpP.ParsimoniousComplete SharpSteinerTree |
| 53 | |
| 54 | /-- The support of #Steiner Tree: a solution of exactly the threshold size exists. -/ |
| 55 | axiom 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. -/ |
| 60 | axiom steinerTree_of_sharpSteinerTree_support : |
| 61 | ∀ (A : Type) [Lax799700.Steiner.steinerGraph.Structure A] [Finite A], |
| 62 | SharpSteinerTree.support A → Lax799700.Steiner.SteinerTree A |
| 63 | |
| 64 | end Lax280166.SteinerTreeComplete |
| 65 |
Builds on
Lax280166.CountingCliquesLax280166.CountingDominatingSetsLax280166.CountingFeedbackSetsLax280166.CountingHamiltonCircuitsLax280166.CountingKnapsacksLax280166.CountingSatVariantsLax280166.CountingSetFamiliesLax280166.CountingSteinerTreesLax366625.CountingClassesLax366625.CountingProblemsLax366625.CountingSatLax366625.WitnessCountingLax799700.CliqueFamilyLax799700.DominatingSetLax799700.FeedbackLax799700.HamiltonLax799700.KnapsackLax799700.OneInSatLax799700.SetFamilyLax799700.SteinerLax799700.ThreeSatLax799700.ZeroOneIPLax904597.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