A tree is a connected graph without cycles. Some notions of tree (such as planar tree) consider extra structure or properties as well, but the baseline notion is tree as acyclic connected graph.
Trees are fundamental combinatorial objects which appear in a wide variety of guises. Some are given below.
Recall that an undirected graph consists of a set of vertices and a set of unordered pairs of vertices. A path in is a finite sequence of vertices such that each pair belongs to . If , then the path is called a cycle. A graph is connected if it is nonempty and if for every distinct pair of vertices , there is a path for which and . A graph is acyclic if the only cycles are paths
where steps are retraced; an acyclic graph is also called a forest. A tree is a connected forest.
Not all authors include nonemptiness as part of the notion of connectedness. See connected space for commentary on this. Forests on the other hand may be empty.
A topological tree is a 1-dimensional CW-complex which is contractible, i.e., homotopy equivalent to a point.
In this language, a topological graph is simply a 1-dimensional CW-complex; more precisely, we mean a CW-presentation and not merely a space that can be so presented. A topological forest is then a 1-dimensional CW-complex with vanishing first homology group with integral coefficients, and a tree is a connected forest.
For finite graphs as CW-complexes, one has the useful Euler formula:
where is the number of -cells and is the rank of the homology group . This gives a useful criterion for a graph to be a tree: that it be connected () and that the number of vertices be 1 greater than the number of edges .
A rooted tree is a directed graph (or quiver) such that the free category generated by has a terminal object, called the root of . (Thus for every vertex in there is exactly one directed path from to the root. It follows easily that the free category is a poset. There is no significant change in content if “terminal” here is replaced by “initial”; we can distinguish the conventions by a tree directed towards the root rather than away from the root.)
A rooted forest is a coproduct of rooted trees, and again we have the fundamental fact that there is a natural equivalence of categories
which in one direction is the functor which sends a tree to the forest which results by excising the root and all edges incident to it, and in the other sends a forest to the tree gotten by adjoining a new root and joining the roots of the forest to that new root by new edges.
A tree in the form of an undirected graph together with a chosen vertex can be regarded as a rooted tree in digraph form (with root the chosen vertex), by orienting all edges in the direction of paths going to the root. The category of rooted trees has very nice categorical properties not shared by the category of unrooted trees; see the following section.
In this case, we get from a tree as functor to a tree as digraph by passing to the category of elements . The vertices of the digraph are the elements, and the edges are those morphisms of which map to morphisms in . Notice that is itself (the free category on) a tree as digraph, one that is terminal in the category of forests.
In the other direction, starting with a tree as digraph, we define a functor by letting be the set of vertices such that the path from to the root has edges. The map moves a vertex to the vertex that is one step closer to the root (along the unique path from to the root).
If we replace here by the category of totally ordered sets , then we may define a planar forest as a functor
The category of trees as described in the section immediately above can be described universally in 2-universal terms, as the 2-terminal coalgebra for the endofunctor on (locally small categories) which takes a category to its small-coproduct cocompletion. See terminal coalgebra for an extended discussion.
Let denote the free (strict) monoidal category generated by -ary operations , one for each arity . A (finite) planar forest with () live leaves is a morphism in ; a (finite) planar tree with () live leaves is a morphism .
The previous description is more a theorem than definition, but it points to the recursive construction of trees based on the fundamental equivalence between forests and trees:
The identity corresponds to a root considered as a live leaf;
Given trees with live leaves , where , there is a forest
whose set of live leaves is the disjoint union of sets of live leaves of the .
Given a forest with live leaves
there is a tree
with the same set of live leaves.
In more straightforward combinatorial language: if a finite planar tree is a functor from a finite ordinal to the augmented simplex category, and a leaf is an element without predecessors in the poset of elements of , then we can consider as extra structure some subset of the leaves whose elements are designated as live. The principle is that one is permitted to graft roots of trees onto live leaves, but not onto dead ones. (Dead leaves arise by plugging in the constant = -ary operation .)
Fancier versions of this basic recursive construction may involve “colored trees”, “cherry trees”, and so on, and figure prominently in the theory of operads, especially in the construction of free operads.
In fact, this type of recursivity is at the root (pun perhaps intended) of the cumulative hierarchy conception of sets in a material set theory like ZFC set theory: all sets are collections of sets , and all sets are formed in this way. In order to found this conception on trees in a way that accepts the axiom of foundation, one must restrict to well-founded trees. A tree (pictured as a free category on a digraph, i.e., as a certain poset ) is well-founded if every object of is bounded above by a maximal element, or equivalently if there are no infinite chains in starting from the root . (Chains starting from the root are also called branches.) See well-founded relation for other formulations of this definition (including those suitable for constructive mathematics; see pure set for details on this construction of the cumulative hierarchy, including using arbitrary trees for ill-founded sets.
[To be continued]
Very nice! Is there a similar story worth telling for possibly infinite trees, corecursion, etc.
Toby: Well-founded trees (and pure sets) may be defined recursively; ill-founded trees (and pure sets) may be defined corecursively; there is stuff about this at pure set. (Note that even a well-founded tree may be infinite, as long as some vertex has infinitely many branches out of it.)
A rooted tree can be defined as a relational structure and as such serves as a useful model in the context of modal logics. In this form it consists of a set of nodes, vertices or whatever your preferred terminology is, and a binary relation, , on . These are to satisfy the following:
the set contains a unique element called the root, such that, for all , holds, where is the reflexive-transitive closure of ;
if , and , then there is a unique such that ;
is acyclic, so for all , , where is the transitive closure of .
This last property, of course, implies that is irreflexive.
A new way of thinking about (rooted, usually assumed finite) trees has been introduced by Joachim Kock.
A tree consists of a set of edges, a set of nodes, and a set of input flags, all assumed finite, together with functions
such that is injective, is injective and its image is complementary to a singleton , and the “walk-to-root” function defined by if , else , to the constant function (i.e., for all there exists a natural number such that ).
Some commentary is in order. The subscript for edges and for nodes is consonant with standard usage in string diagrams, where edges are labeled by -cells in a monoidal category and nodes by -cells. Each node is pictured as having a multiplicity of (and possibly zero) input edges and exactly one outgoing edge; the map maps a node to its outgoing edge. Only the root edge is not an input edge of any node, i.e., the unique inhabitant of the complement of is what we call the root . Now: the input “function” is actually a multivalued function, taking a node to the set of its input edges, and is therefore represented as a relation or span from to . The domain of this relation is the set of ordered pairs where is an input edge of ; this may be called a “flag” (thinking of a general flag as a chain of incidence relations, here a 1-step chain with input-incident to ).
To each tree described in this form, there is an associated polynomial endofunctor controlled by the data
and defined by the composition
where as usual . Notice that the functors on display preserve pullbacks, so preserves pullbacks.
There is a double category whose -cells are sets , whose horizontal -cells are polynomial endofunctors , whose vertical -cells are pullback functors induced by functions , and whose -cells are cartesian natural transformations of the form
The category consisting of horizontal arrows and 2-cells between them is called the category of polynomial endofunctors, . Kock defines a category of trees where objects are trees and whose morphisms are morphisms between the corresponding endofunctors as objects in .
As Kock shows, this description of trees is well-adapted to the usual sorts of combinatorics that emerge in the study of operads, such as free operads.