Documentation

HopfAlgebras.Trees.Rooted

Rooted Trees #

This file defines planar rooted trees together with the equivalence relation generated by permuting the children at each vertex. The quotient by this relation is the type of non-planar rooted trees.

The type RootedTree contains non-empty rooted trees. The empty tree used in B-series indexing is adjoined separately as TreeIndex.empty.

Main definitions #

References #

Non-empty planar rooted trees, where the list of children at each node is ordered.

Instances For

    t1.Perm t2 means that t1 and t2 differ only by permuting the children at each vertex, recursively.

    Instances For

      The one-vertex planar rooted tree.

      Equations
      Instances For

        The number of vertices of a planar rooted tree.

        Equations
        Instances For

          The sum of the orders of a list of planar rooted trees.

          Equations
          Instances For

            The ordered list of subtrees at the root.

            Equations
            Instances For

              Attach an ordered forest as the first children of the root of a planar tree.

              Equations
              Instances For
                theorem HopfAlgebras.PTree.forall2_perm_right {α : Type u_1} {β : Type u_2} {R : αβProp} {l2 l3 : List β} (hp : l2.Perm l3) {l1 : List α} :
                List.Forall₂ R l1 l2∃ (l1' : List α), l1.Perm l1' List.Forall₂ R l1' l3

                If a relation R holds elementwise between l1 and l2, then after permuting l2 we can permute l1 so that R still holds elementwise.

                def HopfAlgebras.PTree.ListRelPerm {α : Type u_1} {β : Type u_2} (R : αβProp) (xs : List α) (ys : List β) :

                Lists related elementwise up to a permutation of the left list.

                Equations
                Instances For
                  theorem HopfAlgebras.PTree.ListRelPerm.of_forall₂ {α : Type u_1} {β : Type u_2} {R : αβProp} {xs : List α} {ys : List β} (h : List.Forall₂ R xs ys) :
                  ListRelPerm R xs ys
                  theorem HopfAlgebras.PTree.ListRelPerm.perm_left {α : Type u_1} {β : Type u_2} {R : αβProp} {xs xs' : List α} {ys : List β} (hp : xs.Perm xs') (h : ListRelPerm R xs' ys) :
                  ListRelPerm R xs ys
                  theorem HopfAlgebras.PTree.ListRelPerm.of_perm_left_forall₂ {α : Type u_1} {β : Type u_2} {R : αβProp} {xs xs' : List α} {ys : List β} (hp : xs.Perm xs') (h : List.Forall₂ R xs' ys) :
                  ListRelPerm R xs ys
                  theorem HopfAlgebras.PTree.ListRelPerm.map {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} {R : αβProp} {S : γδProp} {xs : List α} {ys : List β} {f : αγ} {g : βδ} (hS : ∀ {x : α} {y : β}, R x yS (f x) (g y)) (h : ListRelPerm R xs ys) :
                  ListRelPerm S (List.map f xs) (List.map g ys)
                  theorem HopfAlgebras.PTree.ListRelPerm.cons {α : Type u_1} {β : Type u_2} {R : αβProp} {x : α} {y : β} {xs : List α} {ys : List β} (hxy : R x y) (h : ListRelPerm R xs ys) :
                  ListRelPerm R (x :: xs) (y :: ys)
                  theorem HopfAlgebras.PTree.ListRelPerm.refl {α : Type u_1} {R : ααProp} (hrefl : ∀ (x : α), R x x) (xs : List α) :
                  ListRelPerm R xs xs
                  theorem HopfAlgebras.PTree.ListRelPerm.append {α : Type u_1} {β : Type u_2} {R : αβProp} {xs₁ xs₂ : List α} {ys₁ ys₂ : List β} (h₁ : ListRelPerm R xs₁ ys₁) (h₂ : ListRelPerm R xs₂ ys₂) :
                  ListRelPerm R (xs₁ ++ xs₂) (ys₁ ++ ys₂)
                  theorem HopfAlgebras.PTree.ListRelPerm.trans {α : Type u_1} {R : ααProp} (htrans : ∀ {x y z : α}, R x yR y zR x z) {xs ys zs : List α} (hxy : ListRelPerm R xs ys) (hyz : ListRelPerm R ys zs) :
                  ListRelPerm R xs zs
                  theorem HopfAlgebras.PTree.ListRelPerm.perm_of_eq {α : Type u_1} {xs ys : List α} (h : ListRelPerm (fun (x y : α) => x = y) xs ys) :
                  xs.Perm ys
                  theorem HopfAlgebras.PTree.ListRelPerm.map_eq_perm {α : Type u_1} {β : Type u_2} {γ : Type u_3} {R : αβProp} {xs : List α} {ys : List β} {f : αγ} {g : βγ} (hfg : ∀ {x : α} {y : β}, R x yf x = g y) (h : ListRelPerm R xs ys) :
                  (List.map f xs).Perm (List.map g ys)
                  theorem HopfAlgebras.PTree.ListRelPerm.flatMap {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} {R : αβProp} {S : γδProp} {xs : List α} {ys : List β} {f : αList γ} {g : βList δ} (hfg : ∀ {x : α} {y : β}, R x yListRelPerm S (f x) (g y)) (h : ListRelPerm R xs ys) :
                  theorem HopfAlgebras.PTree.orderList_perm {ts1 ts2 : List PTree} (h : ts1.Perm ts2) :

                  orderList is invariant under permuting a list of planar trees.

                  treeFactorialList is invariant under permuting a list of planar trees.

                  Elementwise reflexivity for PTree.Perm.

                  Elementwise symmetry for PTree.Perm.

                  theorem HopfAlgebras.PTree.Perm.symm {t1 t2 : PTree} :
                  t1.Perm t2t2.Perm t1

                  PTree.Perm is symmetric.

                  Elementwise transitivity for PTree.Perm.

                  theorem HopfAlgebras.PTree.Perm.trans {t1 t2 t3 : PTree} :
                  t1.Perm t2t2.Perm t3t1.Perm t3

                  PTree.Perm is transitive.

                  theorem HopfAlgebras.PTree.Perm.order_eq {t1 t2 : PTree} :
                  t1.Perm t2t1.order = t2.order

                  PTree.Perm preserves the number of vertices.

                  Elementwise PTree.Perm preserves the total number of vertices.

                  PTree.Perm preserves Butcher's tree factorial.

                  Elementwise PTree.Perm preserves the product of tree factorials.

                  theorem HopfAlgebras.PTree.perm_node_of_forall2 {ts1 ts2 : List PTree} (h : List.Forall₂ Perm ts1 ts2) :
                  (node ts1).Perm (node ts2)

                  If the children are pairwise permutation-equivalent, then the nodes are too.

                  @[reducible, inline]

                  Non-empty non-planar rooted trees are planar rooted trees modulo PTree.Perm.

                  Equations
                  Instances For

                    The quotient map from planar rooted trees to non-planar rooted trees.

                    Equations
                    Instances For

                      The number of vertices of a non-planar rooted tree.

                      Equations
                      Instances For

                        Predicate for non-empty rooted trees of a fixed order.

                        Equations
                        Instances For

                          Butcher's tree factorial for non-planar rooted trees.

                          Equations
                          Instances For

                            Rooted trees with an adjoined empty tree, as used for B-series coefficients.

                            Instances For

                              The order of a B-series tree index.

                              Equations
                              Instances For

                                Predicate for B-series tree indices of a fixed order.

                                Equations
                                Instances For