The class DP

Lax564036.Difference · concepts/Lax564036/Difference.lean · lax-564036

definition

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

    Definition

    A decision problem PP is DP-definable when there are a Σ1\Sigma_1-definable problem SS and a Π1\Pi_1-definable problem TT over the same vocabulary such that, on nonempty finite structures, PP holds exactly when both SS and TT hold: the conjunction of an NP condition and a coNP condition, or equivalently the difference of two NP problems. DP is the class of the DP-definable problems, the class of Papadimitriou and Yannakakis, with the cofinal hardness of the NP core.

    Concept map
    6 concepts; 16 descendants hidden
    100%
    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A

    Lean source view on GitHub

    1import Mathlib.ModelTheory.Semantics
    2import Lax904597.Problems
    3import Lax904597.SecondOrder
    4import Lax904597.Classes
    5
    6/-!
    7---
    8title: The class DP
    9type: definition
    10---
    11A decision problem PP is DP-definable when there are a
    12Σ1\Sigma_1-definable problem SS and a Π1\Pi_1-definable problem TT over
    13the same vocabulary such that, on nonempty finite structures, PP holds
    14exactly when both SS and TT hold: the conjunction of an NP condition and a
    15coNP condition, or equivalently the difference of two NP problems. DP is the
    16class of the DP-definable problems, the class of Papadimitriou and
    17Yannakakis, with the cofinal hardness of the NP core.
    18-/
    19
    20namespace Lax564036.Difference
    21
    22open Lax904597.Problems Lax904597.SecondOrder Lax904597.Classes
    23
    24open FirstOrder
    25
    26open Language Structure
    27
    28/-- A decision problem is **DP-definable** if, on nonempty finite structures,
    29it is the conjunction of a `Σ₁`-definable and a `Π₁`-definable problem: an NP
    30condition and a coNP one, imposed together. Equivalently, it is the difference
    31`S \ Tᶜ` of two NP problems. -/
    32def DPDefinable {L : Language.{0, 0}} [L.IsRelational] (P : DecisionProblem L) : Prop :=
    33 ∃ S T : DecisionProblem L, SigmaSODefinable 1 S ∧ PiSODefinable 1 T ∧
    34 ∀ (A : Type) [L.Structure A] [Finite A] [Nonempty A], P A ↔ (S A ∧ T A)
    35
    36/-- **DP**: the class of the DP-definable problems, with cofinal hardness. -/
    37def DP : ComplexityClass :=
    38 ComplexityClass.ofMem fun P => DPDefinable P
    39
    40end Lax564036.Difference
    41

    Discussion

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

    Loading discussion…