Membership from two problems of #P
Lax175070.CountClassMembership · concepts/Lax175070/CountClassMembership.lean · lax-175070
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
If two counting problems and are in #P, a decision problem such that, on nonempty finite structures, holds and holds exactly when , is in the class of and . The witnesses of the two definitions of #P are the witnesses of the class, read over the ordered expansion.
Concept map
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: Membership from two problems of #P |
| 20 | type: theorem |
| 21 | --- |
| 22 | If two counting problems and are in #P, a decision problem such |
| 23 | that, on nonempty finite structures, holds and holds |
| 24 | exactly when , is in the class of and . The witnesses |
| 25 | of the two definitions of #P are the witnesses of the class, read over the |
| 26 | ordered expansion. |
| 27 | -/ |
| 28 | |
| 29 | namespace Lax175070.CountClassMembership |
| 30 | |
| 31 | open FirstOrder FirstOrder.Language |
| 32 | open Lax904597.Problems Lax904597.Classes Lax904597.Sat Lax904597.Interpretations |
| 33 | Lax904597.Machines Lax564036.Hierarchy |
| 34 | open Lax366625.CountingProblems Lax366625.CountingClasses Lax366625.WitnessCounting |
| 35 | Lax366625.CountingSat |
| 36 | open Lax366625.CountingRuns Lax175070.CountDefinability Lax175070.SelectedSat Lax485149.Problems |
| 37 | open Lax485149.Complement |
| 38 | |
| 39 | /-- A problem of the class, from two counting problems of #P. -/ |
| 40 | axiom mem_countClass_of_sharpP : |
| 41 | ∀ {L : Language.{0, 0}} [L.IsRelational] {S R : ℕ → ℕ → Prop} {C D : CountingProblem L}, |
| 42 | SharpP.Mem C → SharpP.Mem D → ∀ {P : DecisionProblem L}, |
| 43 | (∀ (A : Type) [L.Structure A] [Finite A] [Nonempty A], |
| 44 | S (C A) (D A) ∧ (P A ↔ R (C A) (D A))) → (countClass S R).Mem P |
| 45 | |
| 46 | end Lax175070.CountClassMembership |
| 47 |
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