This post is about trees. Not real-life ones but mathematical trees, or more formally about acyclic connected graphs. Just as actual big skinny trees are tall, graph theoretic big skinny trees are also tall. The goal here is to prove this formally.

But first some definitions. A tree is called labeled if every vertex has been assigned a symbol, called its label. A fixed vertex in a tree may be labelled as and referred to as its root. The level in a tree is the collection of all vertices at a fixed distance from the root. Admittedly these definitions are informal and may be formalized in terms of directed graphs.

An example of a labelled tree is given below:

Here is the root and the vertex sets and are at level and respectively. Clearly this labeling is arbitrary and any other labeling is also possible.

We now prove our result. It is due to Konig, a Hungarian professor of mathematics, who had Erdos amongst his students. It is called a lemma because it was initially used by Konig to investigate another theorem (see this) . As often happens it has turned out to be a powerful tool to use on many other problems as well.

**Lemma:** If is an infinite tree and each level of is finite then contains an infinite path.

**Proof:** Suppose is a labeled tree with root . Let be the levels of . We construct our path by starting with . Next we partition all vertices in levels higher then (i.e. all vertices in levels where ) into as many finite parts as is the cardinality of . In other words if then we partition the vertices (there are infinitely many of them) in parts: . This partitioning is done as follows: Any vertex will be connected to via some owing to connectedness. We put in .

Now since we have partitioned infinitely many vertices in finitely many parts, one of the parts will contain infinitely many vertices.(This is also called the infinite pigeonhole principle). Let that part be . Choose as the next vertex in our under-construction path. Next we delete the vertex and consider the component containing . It is also an infinite tree with each level finite and having as its root. By a similar piece of reasoning, we get a vertex which is adjacent to and has infinitely many vertices corresponding to it. We continue building our path by choosing as a part of it. By induction we can continue and get an infinite path . This proves the theorem.

It should be noted that at each of the infinitely many stages of selecting the we choose it out of a finite set: the finite set of vertices at that level each of which correspond to infinite parts in the current partitioning. There is no canonical way to make this choice. To ensure that this can be done we need to use a weak form of the axiom of choice: Let and be the collection of all finite subsets of it. Then there is a function such that . A curious fact is that Konig’s lemma in turn applies this weak form of the axiom of choice and so both of them are equivalent. While their equivalence can be established using the ZF axioms, obviously neither can be proved within ZF.