Polynomial many-one reductions and NP-completeness

Lax429075.Reductions · concepts/Lax429075/Reductions.lean · lax-429075

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 polynomial many-one reduction is one polynomial time computable function on binary words that preserves membership. A language is NP-complete if it belongs to NP and every language in NP reduces to it.

    Concept map
    4 concepts; 13 descendants hidden
    100%
    Proven claimOpen claimDefinitionThis conceptRelated conceptA → B: B builds on A

    In the paper

    • page 3 of this submission's paper

    Lean source view on GitHub

    1import Lax434930.NondeterministicPolynomialTime
    2
    3/-!
    4---
    5title: Polynomial many-one reductions and NP-completeness
    6type: definition
    7---
    8A polynomial many-one reduction is one polynomial time computable function
    9on binary words that preserves membership. A language is NP-complete if it
    10belongs to NP and every language in NP reduces to it.
    11-/
    12
    13namespace Lax429075.Reductions
    14
    15open Lax434930.PolynomialTime Lax434930.NondeterministicPolynomialTime
    16
    17def ManyOne (A B : Language) : Prop :=
    18 ∃ f : WordWord, Nonempty (Turing.TM2ComputableInPolyTime id id f) ∧
    19 ∀ x, x ∈ A ↔ f x ∈ B
    20
    21def NPComplete (B : Language) : Prop := B ∈ NP ∧ ∀ A : Language, A ∈ NPManyOne A B
    22
    23end Lax429075.Reductions
    24

    Discussion

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

    Loading discussion…