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 $G$ consists of a set $V$ of vertices and a set $E$ of unordered pairs of vertices. A path in $G$ is a finite sequence of vertices $x_0, \ldots, x_n$ such that each pair $x_i x_{i+1}$ belongs to $E$. If $x_n = x_0$, then the path is called a cycle. A graph is connected if it is nonempty and if for every distinct pair of vertices $x, y$, there is a path for which $x_0 = x$ and $x_n = y$. 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.
Each forest is a disjoint sum (a coproduct in the category of graphs) of trees. Removal of a vertex of a tree (and any edges incident to it) results in a 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 $G$ as CW-complexes, one has the useful Euler formula:
where $c_i$ is the number of $i$-cells and $h_i$ is the rank of the homology group $H_i(G; \mathbb{Z})$. This gives a useful criterion for a graph to be a tree: that it be connected ($h_0 = 1$) and that the number of vertices $c_0$ be 1 greater than the number of edges $c_1$.
A rooted tree is a directed graph (or quiver) $G$ such that the free category generated by $G$ has a terminal object, called the root of $G$. (Thus for every vertex $x$ in $G$ there is exactly one directed path from $x$ 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.
This equivalence can be exploited to relate the exponential generating function for finite rooted trees to the Lambert W-function (q.v.).
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.
Let $\mathbb{N}$ be the totally ordered set of natural numbers $0 \leq 1 \leq 2 \leq \ldots$, viewed as a category. A rooted forest is a presheaf on $\mathbb{N}$, i.e., a functor
to “the” category of sets. A rooted tree is a forest for which $F(0)$ is terminal (a point).
In this case, we get from a tree as functor $F$ to a tree as digraph by passing to the category of elements $El(F)$. The vertices of the digraph are the elements, and the edges are those morphisms of $El(F)$ which map to morphisms $i + 1 \to i$ in $\mathbb{N}^{op}$. Notice that $\mathbb{N}^{op}$ 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 $F \colon \omega^{op} \to Set$ by letting $F(n)$ be the set of vertices $v$ such that the path from $v$ to the root has $n$ edges. The map $F(n+1) \to F(n)$ moves a vertex $v \in F(n+1)$ to the vertex that is one step closer to the root (along the unique path from $v$ to the root).
The functor description makes it clear that the category of forests is a (presheaf) topos, indeed a Grothendieck topos; therefore the category of trees, which is equivalent, is also a topos.
If we replace $Set$ here by the category of totally ordered sets $Tos$, 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 $Cat$ (locally small categories) which takes a category to its small-coproduct cocompletion. See terminal coalgebra for an extended discussion.
Let $\mathbf{F}$ denote the free (strict) monoidal category generated by $n$-ary operations $\theta_n: x^n \to x$, one for each arity $n \geq 0$. A (finite) planar forest with ($n$) live leaves is a morphism $\phi: x^n \to x^m$ in $\mathbf{F}$; a (finite) planar tree with ($n$) live leaves is a morphism $\phi: x^n \to x$.
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 $x \to x$ corresponds to a root considered as a live leaf;
Given trees with live leaves $f_j \colon x^{n_j} \to x$, where $j \in \{1 \ldots, k\}$, there is a forest
whose set of live leaves is the disjoint union of sets of live leaves of the $f_j$.
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 $F \colon [n]^{op} \to \Delta_a$ from a finite ordinal to the augmented simplex category, and a leaf is an element without predecessors in the poset of elements of $F$, 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 = $0$-ary operation $\theta_0 \colon I = x^0 \to x$.)
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 $\{x_1, \ldots, x_n\}$, 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 $P$) is well-founded if every object of $P^{op}$ is bounded above by a maximal element, or equivalently if there are no infinite chains $x_0 \lt x_1 \lt \ldots$ in $P^{op}$ starting from the root $x_0$. (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.
The category of well-founded trees admits a (2-)universal description, as an initial algebra for a certain endofunctor on Cat. See well-founded forest? for details.
[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, $S$, on $T$. These are to satisfy the following:
the set $T$ contains a unique element $r$ called the root, such that, for all $t\in T$, $S^*r t$ holds, where $S^*$ is the reflexive-transitive closure of $S$;
if $t\in T$, and $t\neq r$, then there is a unique $t'\in T$ such that $S t' t$;
$S$ is acyclic, so for all $t\in T$, $\neg S^+ t t$, where $S^+$ is the transitive closure of $S$.
This last property, of course, implies that $S$ is irreflexive.
A new way of thinking about (rooted, usually assumed finite) trees has been introduced by Joachim Kock.
A tree $T$ consists of a set $T_0$ of edges, a set $T_1$ of nodes, and a set $T_2$ of input flags, all assumed finite, together with functions
such that $t$ is injective, $s$ is injective and its image is complementary to a singleton $\{r\}$, and the “walk-to-root” function $\sigma: T_0 \to T_0$ defined by $e \mapsto t(p(s^{-1}(e)))$ if $e \neq r$, else $r \mapsto r$, to the constant function $c_r$ (i.e., for all $e \in T_0$ there exists a natural number $k$ such that $\sigma^k(e) = r$).
Some commentary is in order. The subscript $0$ for edges and $1$ for nodes is consonant with standard usage in string diagrams, where edges are labeled by $0$-cells in a monoidal category and nodes by $1$-cells. Each node is pictured as having a multiplicity of (and possibly zero) input edges and exactly one outgoing edge; the map $t: T_1 \to T_0$ 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 $im(s)$ is what we call the root $r$. Now: the input “function” $T_1 \to T_0$ 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 $T_0$ to $T_1$. The domain of this relation $T_2$ is the set of ordered pairs $(e, v)$ where $e \in T_0$ is an input edge of $v \in T_1$; this may be called a “flag” (thinking of a general flag as a chain of incidence relations, here a 1-step chain with $e$ input-incident to $v$).
To each tree $T$ described in this form, there is an associated polynomial endofunctor $p_T: Set/T_0 \to Set/T_0$ controlled by the data
and defined by the composition
where as usual $\Sigma_f \dashv f^\ast \dashv \Pi_f$. Notice that the functors on display preserve pullbacks, so $p_T$ preserves pullbacks.
There is a double category whose $0$-cells are sets $I$, whose horizontal $1$-cells are polynomial endofunctors $p: Set/I \to Set/J$, whose vertical $1$-cells are pullback functors $f^\ast: Set/I \to Set/I'$ induced by functions $f: I' \to I$, and whose $2$-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, $PolyEnd$. Kock defines a category of trees where objects are trees $T$ and whose morphisms are morphisms between the corresponding endofunctors $p_T$ as objects in $PolyEnd$.
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.