Lax5.GraphTransductions

Graph transductions

concepts/Lax5/GraphTransductions.lean · lax-5

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.

    Concept map

    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A

    Definition

    A finite simple graph is a structure of the language of graphs, with the single binary relation interpreted as adjacency. A graph class transduces another if the corresponding classes of graph structures are related by a first-order transduction.

    Lean source view on GitHub

    1import Lax5.GraphClasses
    2import Lax5.Transductions
    3import Mathlib.ModelTheory.Graph
    4
    5/-!
    6---
    7title: Graph transductions
    8type: definition
    9---
    10A finite simple graph is a structure of the language of graphs, with the
    11single binary relation interpreted as adjacency. A graph class
    12transduces another if the corresponding classes of graph structures are
    13related by a first-order transduction.
    14
    15# Formalization notes
    16
    17Graphs enter as structures via mathlib's `SimpleGraph.structure`. The
    18target structures of a graph transduction are therefore honest graph
    19structures — symmetric and irreflexive — so the interpreting formula
    20must define the output adjacency exactly. This matches the common
    21convention of interpreting by an arbitrary formula `φ` and keeping the
    22pairs `u ≠ v` with `φ(u,v) ∧ φ(v,u)`: that symmetrized condition is
    23itself a formula, so both conventions define the same transduces
    24relation on graph classes.
    25-/
    26
    27namespace Lax5.GraphTransductions
    28
    29open FirstOrder Lax12.GraphClasses
    30
    31/-- The members of a graph class, as structures of the language of
    32graphs: adjacency interprets the binary relation. -/
    33def structureClass (C : GraphClass) :
    34 Transductions.StructureClass Language.graph :=
    35 fun n S => ∃ G : SimpleGraph (Fin n), C n G ∧ S = G.structure
    36
    37/-- `C` transduces `D` as graph classes: the corresponding classes of
    38graph structures are related by a first-order transduction. -/
    39def Transduces (C D : GraphClass) : Prop :=
    40 Transductions.Transduces (structureClass C) (structureClass D)
    41
    42end Lax5.GraphTransductions
    43

    Formalization notes

    Graphs enter as structures via mathlib's SimpleGraph.structureSimpleGraph.structure. The target structures of a graph transduction are therefore honest graph structures — symmetric and irreflexive — so the interpreting formula must define the output adjacency exactly. This matches the common convention of interpreting by an arbitrary formula φφ and keeping the pairs uvu ≠ v with φ(u,v)φ(v,u)φ(u,v) ∧ φ(v,u): that symmetrized condition is itself a formula, so both conventions define the same transduces relation on graph classes.

    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…