Draft — mutable and not usable as a dependency; its citation marks the draft state.

Lax194892.ChildrenOfChildGraph

A for-transducer reads the children off a child configuration graph

concepts/Lax194892/ChildrenOfChildGraph.lean · lax-194892

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.

    Concept map

    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A

    Evidence

    Each proof establishes this claim relative to its assumptions.

    In the paper

    Theorem

    There is a for-transducer which inputs the string representation of a child configuration graph and outputs the concatenation of the string representations of the corresponding child configurations (Claim D.2.7 of Transducers). A two-pebble transducer walks along the path of the graph, one pebble marking the current child and the other printing its representation, and pebble transducers are for-transducers (Theorem D.2.4); the book instead proceeds by induction on the width of the graph, as for snake graphs.

    Lean source view on GitHub

    1import Lax194892.ForTransducers
    2import Lax194892.ChildConfigurationGraphs
    3
    4/-!
    5---
    6title: A for-transducer reads the children off a child configuration graph
    7type: theorem
    8---
    9There is a for-transducer which inputs the string representation of a child
    10configuration graph and outputs the concatenation of the string representations
    11of the corresponding child configurations (Claim D.2.7 of *Transducers*). A
    12two-pebble transducer walks along the path of the graph, one pebble marking the
    13current child and the other printing its representation, and pebble transducers
    14are for-transducers (Theorem D.2.4); the book instead proceeds by induction on
    15the width of the graph, as for snake graphs.
    16
    17# Formalization notes
    18
    19The output is characterised by `CGOutIs`, which determines it; the
    20for-transducer is required to agree with it on every string that represents a
    21run of children. The input alphabet and the state space are assumed finite.
    22-/
    23
    24namespace Lax194892.ChildrenOfChildGraph
    25
    26open Lax194892.ChildConfigurationGraphs Lax194892.ForTransducers
    27
    28/-- A for-transducer maps the representation of a child configuration graph to the
    29concatenation of the representations of the children. -/
    30axiom exists_forTransducer_cgOut {A Q : Type} [Finite A] [Finite Q] (k : ℕ) :
    31 ∃ f : List (CGLetter A Q k) → List (ConfLetter A Q k),
    32 IsForTransducer f ∧ ∀ u v, CGOutIs u v → f u = v
    33
    34end Lax194892.ChildrenOfChildGraph
    35
    Show Proof

    Formalization notes

    The output is characterised by CGOutIsCGOutIs, which determines it; the for-transducer is required to agree with it on every string that represents a run of children. The input alphabet and the state space are assumed finite.

    Used by

    none

    From Mathlib

    none

    Community review

    Discussion

    Ask a question or add context. Endorsements and structured flags are kept in the review panel above; your ORCID profile must share a public name.

    0 comments

    Loading discussion…