Polynomial-time maps

Lax213208.PolynomialComputation · concepts/Lax213208/PolynomialComputation.lean · lax-213208

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 map is polynomial-time computable on a domain if one program returns its encoded value within a polynomial resource bound in the encoded input size. The encodings are fixed; no behavior is required outside the domain.

    Concept map
    6 concepts; 1 descendant hidden
    100%
    DefinitionThis conceptRelated conceptA → B: B builds on A

    Lean source view on GitHub

    1import Lax213208.Programs
    2import Lax759944.BinaryWordEncoding
    3
    4/-!
    5---
    6title: Polynomial-time maps
    7type: definition
    8---
    9A map is polynomial-time computable on a domain if one program returns its
    10encoded value within a polynomial resource bound in the encoded input size.
    11The encodings are fixed; no behavior is required outside the domain.
    12-/
    13
    14namespace Lax213208.PolynomialComputation
    15
    16open Programs Lax759944.BinaryWordEncoding
    17
    18variable {Input Output : Type*}
    19
    20def PolynomialTimeComputable (input : Input → List ℕ) (output : Output → List ℕ)
    21 (f : Input → Output) (domain : Set Input) : Prop :=
    22 ∃ alg : Program, ∃ c d : ℕ, 0 < c ∧ 0 < d ∧
    23 ∀ x ∈ domain,
    24 RunsWithin alg (input x) (output (f x)) (c * (bitSize (input x) + 2) ^ d)
    25
    26end Lax213208.PolynomialComputation
    27

    Discussion

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

    Loading discussion…