The degree of a problem
Lax604544.Degrees · concepts/Lax604544/Degrees.lean · lax-604544
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Definition
The degree of a decision problem is the class of the problems that reduce to by an ordered first-order reduction, with the cofinal hardness of the NP core. It is a complexity class defined by no logic and no machine, only by a problem: a problem is complete for the degree of when it has, under first-order reductions, exactly the difficulty of .
Concept map
Lean source view on GitHub
| 1 | import Lax904597.Problems |
| 2 | import Lax904597.Interpretations |
| 3 | import Lax904597.Classes |
| 4 | |
| 5 | /-! |
| 6 | --- |
| 7 | title: The degree of a problem |
| 8 | type: definition |
| 9 | --- |
| 10 | The degree of a decision problem is the class of the problems that |
| 11 | reduce to by an ordered first-order reduction, with the cofinal |
| 12 | hardness of the NP core. It is a complexity class defined by no logic and no |
| 13 | machine, only by a problem: a problem is complete for the degree of |
| 14 | when it has, under first-order reductions, exactly the difficulty of |
| 15 | . |
| 16 | -/ |
| 17 | |
| 18 | namespace Lax604544.Degrees |
| 19 | |
| 20 | open FirstOrder FirstOrder.Language |
| 21 | open Lax904597.Problems Lax904597.Interpretations Lax904597.Classes |
| 22 | |
| 23 | /-- **The degree of a problem**: the problems that ordered first-order reduce |
| 24 | to `Q₀`, as a complexity class with cofinal hardness. -/ |
| 25 | def below {L₀ : Language.{0, 0}} [L₀.IsRelational] (Q₀ : DecisionProblem L₀) : ComplexityClass := |
| 26 | ComplexityClass.ofMem fun P => Nonempty (OrderedFOReduction P Q₀) |
| 27 | |
| 28 | end Lax604544.Degrees |
| 29 |
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments