Computing the far tree

Lax185574.ToFarTree · concepts/Lax185574/ToFarTree.lean · lax-185574

proven

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

    Lemma

    Fix k ∈ ℕ and q ≥ 1, let G be a partial graph, and let ā ∈ V(G)^{≤k} be nonempty. Then ftree_{k,q}(ā) is computable from tree_{k,q}(ā) and stp_{k,q} in time

    ‖stp_{k,q}‖ · poly_{k,q}(‖tree_{k,q}(ā)‖).

    Concept map
    16 concepts
    100%
    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A
    Evidence

    Each proof establishes this claim relative to its assumptions.

    In the paper

    • page 46 of this submission's paper

    Lean source view on GitHub

    1import Lax185574.ScatterTypes
    2import Lax185574.FarTrees
    3import Lax185574.Algorithms
    4
    5/-!
    6---
    7title: Computing the far tree
    8type: lemma
    9---
    10Fix k ∈ ℕ and q ≥ 1, let G be a partial graph, and let ā ∈ V(G)^{≤k} be
    11nonempty. Then ftree_{k,q}(ā) is computable from tree_{k,q}(ā) and
    12stp_{k,q} in time
    13
    14 ‖stp_{k,q}‖ · poly_{k,q}(‖tree_{k,q}(ā)‖).
    15
    16# Formalization notes
    17
    18The algorithm is an algorithm in the sense of `Lax185574.Algorithms`,
    19one for all k and q. q ≥ 1 is written as q + 1. The input is the pair of
    20the type tree and the scatter type. Sizes are lengths of encodings. The
    21time is `O((‖stp‖ + 1) · (‖τ‖ + 1)^a)`, where the degree `a` and the
    22constant `c` may depend on k and q. The factors are increased by one, so
    23that the bound is positive.
    24-/
    25
    26namespace Lax185574.ToFarTree
    27
    28open Lax185574.Encoding Lax185574.Algorithms
    29open Lax185574.PartialGraphs Lax185574.TypeTrees Lax185574.ScatterTypes Lax185574.FarTrees
    30
    31/-- **Computing the far tree.** One algorithm computes `ftree_{k,q}(u)`
    32from `tree_{k,q}(u)` and `stp_{k,q}`, in time linear in the size of the
    33scatter type and polynomial in the size of the tree. -/
    34axiom exists_program_ftree :
    35 ∃ A : Algorithm, ∀ k q : ℕ, ∃ c a : ℕ,
    36 ∀ (n : ℕ) (G : PartialGraph (Fin n)) (ℓ : ℕ) (u : Fin ℓ → Fin n), 1 ≤ ℓ → ℓ ≤ k →
    37 A.Computes c (tree G k (q + 1) u, stp G k (q + 1)) (ftree G k (q + 1) u)
    38 (((encode (stp G k (q + 1))).length + 1) *
    39 ((encode (tree G k (q + 1) u)).length + 1) ^ a)
    40
    41end Lax185574.ToFarTree
    42
    Show Proof
    Formalization notes

    The algorithm is an algorithm in the sense of Lax185574.AlgorithmsLax185574.Algorithms, one for all k and q. q ≥ 1 is written as q + 1. The input is the pair of the type tree and the scatter type. Sizes are lengths of encodings. The time is O((‖stp‖+1)⋅(‖τ‖+1)a)O((‖stp‖ + 1) · (‖τ‖ + 1)^a), where the degree aa and the constant cc may depend on k and q. The factors are increased by one, so that the bound is positive.

    Builds on
    Used by

    none

    From Mathlib

    none

    Discussion

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

    Loading discussion…