DP is closed under first-order reductions
Lax564036.DPClosure · concepts/Lax564036/DPClosure.lean · lax-564036
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
Membership in DP travels backward along first-order reductions and along ordered first-order reductions: if a problem reduces to a problem of the class, it is in the class. Membership reads a problem on its finite instances only.
The two halves of a DP definition are not individually invariant in the order, so an ordered reduction is not pulled back half by half: the order is quantified existentially on the NP half and universally on the coNP half.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax904597.Problems |
| 2 | import Lax904597.Interpretations |
| 3 | import Lax904597.Relativized |
| 4 | import Lax904597.SecondOrder |
| 5 | import Lax904597.Classes |
| 6 | import Lax904597.Sat |
| 7 | import Lax904597.Machines |
| 8 | import Lax485149.Problems |
| 9 | import Lax485149.Complement |
| 10 | import Lax535992.ClassPTIME |
| 11 | import Lax564036.Hierarchy |
| 12 | import Lax564036.Difference |
| 13 | import Lax564036.Tautology |
| 14 | import Lax564036.ThreeDnfTautology |
| 15 | import Lax564036.SatUnsat |
| 16 | import Lax564036.QuantifiedBooleanFormulas |
| 17 | import Lax564036.AlternatingMachines |
| 18 | |
| 19 | /-! |
| 20 | --- |
| 21 | title: DP is closed under first-order reductions |
| 22 | type: theorem |
| 23 | --- |
| 24 | Membership in DP travels backward along first-order reductions and along |
| 25 | ordered first-order reductions: if a problem reduces to a problem of the |
| 26 | class, it is in the class. Membership reads a problem on its finite |
| 27 | instances only. |
| 28 | |
| 29 | The two halves of a DP definition are not individually invariant in the |
| 30 | order, so an ordered reduction is not pulled back half by half: the order is |
| 31 | quantified existentially on the NP half and universally on the coNP half. |
| 32 | -/ |
| 33 | |
| 34 | namespace Lax564036.DPClosure |
| 35 | |
| 36 | open FirstOrder FirstOrder.Language |
| 37 | open Lax904597.Problems Lax904597.Interpretations Lax904597.Relativized Lax904597.SecondOrder |
| 38 | open Lax904597.Classes Lax904597.Sat Lax904597.Machines |
| 39 | open Lax485149.Problems Lax485149.Complement Lax535992.ClassPTIME |
| 40 | open Lax564036.Hierarchy Lax564036.Difference Lax564036.Tautology Lax564036.ThreeDnfTautology |
| 41 | open Lax564036.SatUnsat Lax564036.QuantifiedBooleanFormulas Lax564036.AlternatingMachines |
| 42 | |
| 43 | /-- Membership travels backward along first-order reductions. -/ |
| 44 | axiom DP_mem_of_foReduction : ∀ {L L' : Language.{0, 0}} [L.IsRelational] [L'.IsRelational] |
| 45 | {P : DecisionProblem L} {Q : DecisionProblem L'}, FOReduction P Q → DP.Mem Q → DP.Mem P |
| 46 | |
| 47 | /-- Membership travels backward along ordered first-order reductions. -/ |
| 48 | axiom DP_mem_of_orderedReduction : ∀ {L L' : Language.{0, 0}} [L.IsRelational] [L'.IsRelational] |
| 49 | {P : DecisionProblem L} {Q : DecisionProblem L'}, OrderedFOReduction P Q → DP.Mem Q → DP.Mem P |
| 50 | |
| 51 | /-- Membership only depends on the finite instances of a problem. -/ |
| 52 | axiom DP_mem_congr_finite : ∀ {L : Language.{0, 0}} [L.IsRelational] {P Q : DecisionProblem L}, |
| 53 | (∀ (A : Type) [L.Structure A] [Finite A], P A ↔ Q A) → (DP.Mem P ↔ DP.Mem Q) |
| 54 | |
| 55 | end Lax564036.DPClosure |
| 56 |
Builds on
Lax485149.ComplementLax485149.ProblemsLax535992.ClassPTIMELax564036.AlternatingMachinesLax564036.DifferenceLax564036.HierarchyLax564036.QuantifiedBooleanFormulasLax564036.SatUnsatLax564036.TautologyLax564036.ThreeDnfTautologyLax904597.ClassesLax904597.InterpretationsLax904597.MachinesLax904597.ProblemsLax904597.RelativizedLax904597.SatLax904597.SecondOrder
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