Documentation

HopfAlgebras.Trees.Planar

Planar Rooted Trees and Forests #

This file gives explicit names and basic APIs for planar rooted trees and ordered forests. The underlying tree types are the existing PTree and PLTree; the forest types are lists, so sibling order is retained.

Main definitions #

@[reducible, inline]

Non-empty planar rooted trees.

Equations
Instances For
    @[reducible, inline]

    Ordered forests of non-empty planar rooted trees.

    Equations
    Instances For
      @[reducible, inline]

      Non-empty labelled planar rooted trees.

      Equations
      Instances For
        @[reducible, inline]

        Ordered forests of labelled planar rooted trees.

        Equations
        Instances For

          Build a planar tree from its ordered list of children.

          Equations
          Instances For

            The number of vertices of a planar rooted tree.

            Equations
            Instances For

              Attach an ordered forest as the first children of the root.

              Equations
              Instances For

                Forget the planar embedding by quotienting sibling order.

                Equations
                Instances For

                  The empty ordered planar forest.

                  Equations
                  Instances For

                    The ordered forest with one tree.

                    Equations
                    Instances For

                      Concatenate ordered forests.

                      Equations
                      Instances For

                        The sum of the orders of all trees in an ordered forest.

                        Equations
                        Instances For

                          Product of tree factorials over an ordered forest.

                          Equations
                          Instances For

                            Graft an ordered forest onto one new root.

                            Equations
                            Instances For

                              Forget order by mapping each planar tree to its non-planar quotient.

                              Equations
                              Instances For
                                @[simp]
                                def HopfAlgebras.LPlanarTree.node {α : Type u} (a : α) (ts : LPlanarForest α) :

                                Build a labelled planar tree from a root label and ordered children.

                                Equations
                                Instances For

                                  Forget labels from a labelled planar tree.

                                  Equations
                                  Instances For

                                    Label every vertex of a planar tree by the same label.

                                    Equations
                                    Instances For

                                      The label at the root.

                                      Equations
                                      Instances For
                                        def HopfAlgebras.LPlanarTree.map {α : Type u} {β : Type v} (f : αβ) (t : LPlanarTree α) :

                                        Change every label in a labelled planar tree.

                                        Equations
                                        Instances For

                                          The number of vertices.

                                          Equations
                                          Instances For

                                            Butcher's tree factorial, ignoring labels.

                                            Equations
                                            Instances For

                                              Attach an ordered labelled forest as the first children of the root.

                                              Equations
                                              Instances For

                                                Forget planar order by quotienting recursively by sibling permutations.

                                                Equations
                                                Instances For
                                                  @[simp]
                                                  theorem HopfAlgebras.LPlanarTree.node_eq {α : Type u} (a : α) (ts : LPlanarForest α) :
                                                  node a ts = PLTree.node a ts
                                                  @[simp]
                                                  @[simp]
                                                  theorem HopfAlgebras.LPlanarTree.rootLabel_node {α : Type u} (a : α) (ts : LPlanarForest α) :
                                                  (node a ts).rootLabel = a
                                                  @[simp]
                                                  theorem HopfAlgebras.LPlanarTree.order_node {α : Type u} (a : α) (ts : LPlanarForest α) :
                                                  @[simp]
                                                  theorem HopfAlgebras.LPlanarTree.map_node {α : Type u} {β : Type v} (f : αβ) (a : α) (ts : LPlanarForest α) :
                                                  map f (node a ts) = node (f a) (List.map (map f) ts)
                                                  @[simp]
                                                  theorem HopfAlgebras.LPlanarTree.map_id {α : Type u} (t : LPlanarTree α) :
                                                  map (fun (a : α) => a) t = t
                                                  @[simp]
                                                  theorem HopfAlgebras.LPlanarTree.map_comp {α : Type u} {β : Type v} {γ : Type w} (g : βγ) (f : αβ) (t : LPlanarTree α) :
                                                  map g (map f t) = map (g f) t
                                                  @[simp]
                                                  theorem HopfAlgebras.LPlanarTree.map_constLabel {α : Type u} {β : Type v} (f : αβ) (a : α) (t : PlanarTree) :
                                                  map f (constLabel a t) = constLabel (f a) t
                                                  @[simp]
                                                  @[simp]
                                                  theorem HopfAlgebras.LPlanarTree.order_map {α : Type u} {β : Type v} (f : αβ) (t : LPlanarTree α) :
                                                  (map f t).order = t.order
                                                  @[simp]
                                                  theorem HopfAlgebras.LPlanarTree.erase_map {α : Type u} {β : Type v} (f : αβ) (t : LPlanarTree α) :
                                                  (map f t).erase = t.erase

                                                  The empty ordered labelled planar forest.

                                                  Equations
                                                  Instances For

                                                    The ordered labelled forest with one tree.

                                                    Equations
                                                    Instances For

                                                      Concatenate ordered labelled forests.

                                                      Equations
                                                      Instances For

                                                        Forget all labels.

                                                        Equations
                                                        Instances For

                                                          Label every vertex of every tree by the same label.

                                                          Equations
                                                          Instances For
                                                            def HopfAlgebras.LPlanarForest.map {α : Type u} {β : Type v} (f : αβ) (ts : LPlanarForest α) :

                                                            Change every label in an ordered forest.

                                                            Equations
                                                            Instances For
                                                              @[simp]
                                                              theorem HopfAlgebras.LPlanarForest.map_nil {α : Type u} {β : Type v} (f : αβ) :
                                                              @[simp]
                                                              theorem HopfAlgebras.LPlanarForest.map_append {α : Type u} {β : Type v} (f : αβ) (ts us : LPlanarForest α) :
                                                              map f (ts ++ us) = map f ts ++ map f us
                                                              @[simp]
                                                              theorem HopfAlgebras.LPlanarForest.map_id {α : Type u} (ts : LPlanarForest α) :
                                                              map (fun (a : α) => a) ts = ts
                                                              @[simp]
                                                              theorem HopfAlgebras.LPlanarForest.map_comp {α : Type u} {β : Type v} {γ : Type w} (g : βγ) (f : αβ) (ts : LPlanarForest α) :
                                                              map g (map f ts) = map (g f) ts
                                                              @[simp]
                                                              theorem HopfAlgebras.LPlanarForest.map_constLabel {α : Type u} {β : Type v} (f : αβ) (a : α) (ts : PlanarForest) :
                                                              map f (constLabel a ts) = constLabel (f a) ts

                                                              The sum of the orders of all trees in an ordered labelled forest.

                                                              Equations
                                                              Instances For

                                                                Product of tree factorials over an ordered labelled forest.

                                                                Equations
                                                                Instances For

                                                                  Graft an ordered labelled forest onto one new labelled root.

                                                                  Equations
                                                                  Instances For

                                                                    Forget planar order by quotienting all trees recursively.

                                                                    Equations
                                                                    Instances For
                                                                      @[simp]
                                                                      theorem HopfAlgebras.LPlanarForest.erase_cons {α : Type u} (t : LPlanarTree α) (ts : LPlanarForest α) :
                                                                      erase (t :: ts) = t.erase :: ts.erase
                                                                      @[simp]
                                                                      @[simp]
                                                                      @[simp]
                                                                      theorem HopfAlgebras.LPlanarForest.erase_map {α : Type u} {β : Type v} (f : αβ) (ts : LPlanarForest α) :
                                                                      (map f ts).erase = ts.erase
                                                                      @[simp]
                                                                      theorem HopfAlgebras.LPlanarForest.order_cons {α : Type u} (t : LPlanarTree α) (ts : LPlanarForest α) :
                                                                      order (t :: ts) = t.order + ts.order
                                                                      @[simp]
                                                                      theorem HopfAlgebras.LPlanarForest.order_append {α : Type u} (ts us : LPlanarForest α) :
                                                                      (ts.append us).order = ts.order + us.order
                                                                      @[simp]
                                                                      theorem HopfAlgebras.LPlanarForest.order_map {α : Type u} {β : Type v} (f : αβ) (ts : LPlanarForest α) :
                                                                      (map f ts).order = ts.order
                                                                      @[simp]
                                                                      @[simp]
                                                                      theorem HopfAlgebras.LPlanarForest.order_graft {α : Type u} (a : α) (ts : LPlanarForest α) :
                                                                      (graft a ts).order = 1 + ts.order
                                                                      @[simp]
                                                                      theorem HopfAlgebras.LPlanarForest.erase_graft {α : Type u} (a : α) (ts : LPlanarForest α) :
                                                                      (graft a ts).erase = ts.erase.graft
                                                                      @[simp]
                                                                      theorem HopfAlgebras.LPlanarForest.rootLabel_graft {α : Type u} (a : α) (ts : LPlanarForest α) :
                                                                      (graft a ts).rootLabel = a