Documentation

LeanPool.StructuralGraphClasses.Cotree

Cotree semantics #

A binary cotree constructs a finite graph from single vertices by disjoint union and join. An explicit empty constructor handles the empty graph. Binary cotrees need not be reduced or canonical; no uniqueness or recognition complexity is claimed.

Cographs are graphs with no induced four-vertex path.

Equations
Instances For

    Cograph membership is closed under complementation.

    theorem SimpleGraph.IsCograph.comap {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} (h : G.IsCograph) (f : W → V) :

    Cograph membership pulls back along vertex maps.

    theorem SimpleGraph.IsCograph.induce {V : Type u_1} {G : SimpleGraph V} (h : G.IsCograph) (s : Set V) :

    Every induced subgraph of a cograph is a cograph.

    theorem SimpleGraph.Iso.isCograph_iff {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {H : SimpleGraph W} (f : G ≃g H) :

    Graph isomorphisms preserve cograph membership.

    Empty graphs are cographs.

    Complete graphs are cographs.

    theorem SimpleGraph.IsP4Free.sum {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {H : SimpleGraph W} (hG : G.IsP4Free) (hH : H.IsP4Free) :

    Disjoint union preserves exclusion of induced P₄.

    def SimpleGraph.graphJoin {V : Type u_1} {W : Type u_2} (G : SimpleGraph V) (H : SimpleGraph W) :

    The join is obtained by complementing the disjoint union of complements.

    Equations
    Instances For
      theorem SimpleGraph.IsP4Free.graphJoin {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {H : SimpleGraph W} (hG : G.IsP4Free) (hH : H.IsP4Free) :

      Join preserves exclusion of induced P₄.

      A finite binary union/join expression for a graph.

      • empty : Cotree

        The empty graph.

      • leaf : Cotree

        A single vertex.

      • union (left right : Cotree) : Cotree

        Disjoint union of the graphs represented by two children.

      • join (left right : Cotree) : Cotree

        Join of the graphs represented by two children.

      Instances For

        Leaves of a cotree, regarded as the vertices of its graph.

        Equations
        Instances For
          @[instance_reducible]
          noncomputable instance SimpleGraph.Cotree.vertexFintype (t : Cotree) :

          A cotree has finitely many leaves.

          Equations
          • One or more equations did not get rendered due to their size.

          Interpret union and join using Mathlib's graph operations.

          Equations
          Instances For

            Every graph built by a cotree is P₄-free.

            A cotree always constructs a cograph.

            structure SimpleGraph.CotreeRepresentation {V : Type u_1} (G : SimpleGraph V) :
            Type u_1

            A representation identifies the actual vertices with the leaves of a cotree.

            • cotree : Cotree

              The finite union/join expression.

            • iso : self.cotree.graph ≃g G

              The graph isomorphism carrying its leaves to the original vertices.

            Instances For

              A cotree representation certifies cograph membership.

              Threshold graphs are precisely split cographs.