# Kőnig's lemma

Kőnig's lemma or Kőnig's infinity lemma is a theorem in graph theory due to the Hungarian mathematician Dénes Kőnig who published it in 1927. It gives a sufficient condition for an infinite graph to have an infinitely long path. The computability aspects of this theorem have been thoroughly investigated by researchers in mathematical logic, especially in computability theory. This theorem also has important roles in constructive mathematics and proof theory.

## Statement of the lemma

Let $G$ be a connected, locally finite, infinite graph. This means that every two vertices can be connected by a finite path, each vertex is adjacent to only finitely many other vertices, and the graph has infinitely many vertices. Then $G$ contains a ray: a simple path (a path with no repeated vertices) that starts at one vertex and continues from it through infinitely many vertices. Another way of stating the theorem is: "If the human race never dies out, somebody now living has a line of descendants that will never die out".
A useful special case of the lemma is that every infinite tree contains either a vertex of infinite degree or an infinite simple path. If it is locally finite, it meets the conditions of the lemma and has a ray, and if it is not locally finite then it has an infinite-degree vertex.

### Construction

The construction of a ray, in a graph $G$ that meets the conditions of the lemma, can be performed step by step, maintaining at each step a finite path that can be extended to reach infinitely many vertices (not necessarily all along the same path as each other). To begin this process, start with any single vertex $v_{1}$. This vertex can be thought of as a path of length zero, consisting of one vertex and no edges. By the assumptions of the lemma, each of the infinitely many vertices of $G$ can be reached by a simple path that starts from $v_{1}$.
Next, as long as the current path ends at some vertex $v_{i}$, consider the infinitely many vertices that can be reached by simple paths that extend the current path, and for each of these vertices construct a simple path to it that extends the current path. There are infinitely many of these extended paths, each of which connects from $v_{i}$ to one of its neighbors, but $v_{i}$ has only finitely many neighbors. Therefore, it follows by a form of the pigeonhole principle that at least one of these neighbors is used as the next step on infinitely many of these extended paths. Let $v_{i+1}$ be such a neighbor, and extend the current path by one edge, the edge from $v_{i}$ to $v_{i+1}$. This extension preserves the property that infinitely many vertices can be reached by simple paths that extend the current path.
Repeating this process for extending the path produces an infinite sequence of finite simple paths, each extending the previous path in the sequence by one more edge. The union of all of these paths is the ray whose existence was promised by the lemma.

## Computability aspects

The computability aspects of Kőnig's lemma have been thoroughly investigated. For this purpose it is convenient to state Kőnig's lemma in the form that any infinite finitely branching subtree of $\omega ^{<\omega }$ has an infinite path. Here $\omega$ denotes the set of natural numbers (thought of as an ordinal number) and $\omega ^{<\omega }$ the tree whose nodes are all finite sequences of natural numbers, where the parent of a node is obtained by removing the last element from a sequence. Each finite sequence can be identified with a partial function from $\omega$ to itself, and each infinite path can be identified with a total function. This allows for an analysis using the techniques of computability theory.
A subtree of $\omega ^{<\omega }$ in which each sequence has only finitely many immediate extensions (that is, the tree has finite degree when viewed as a graph) is called finitely branching. Not every infinite subtree of $\omega ^{<\omega }$ has an infinite path, but Kőnig's lemma shows that any finitely branching infinite subtree must have such a path.
For any subtree $T$ of $\omega ^{<\omega }$ the notation $\operatorname {Ext} (T)$ denotes the set of nodes of $T$ through which there is an infinite path. Even when $T$ is computable the set $\operatorname {Ext} (T)$ may not be computable. Whenever a subtree $T$ of $\omega ^{<\omega }$ has an infinite path, the path is computable from $\operatorname {Ext} (T)$, step by step, greedily choosing a successor in $\operatorname {Ext} (T)$ at each step. The restriction to $\operatorname {Ext} (T)$ ensures that this greedy process cannot get stuck.
There exist non-finitely branching computable subtrees of $\omega ^{<\omega }$ that have no arithmetical path, and indeed no hyperarithmetical path. However, every computable subtree of $\omega ^{<\omega }$ with a path must have a path computable from Kleene's O, the canonical $\Pi _{1}^{1}$ complete set. This is because the set $\operatorname {Ext} (T)$ is always $\Sigma _{1}^{1}$ (for the meaning of this notation, see analytical hierarchy) when $T$ is computable.
A finer analysis has been conducted for computably bounded trees. A subtree of $\omega ^{<\omega }$ is called computably bounded or recursively bounded if there is a computable function $f$ from $\omega$ to $\omega$ such that for every sequence in the tree and every natural number $n$, the $n$th element of the sequence is at most $f(n)$. Thus $f$ gives a bound for how "wide" the tree is. The following basis theorems apply to infinite, computably bounded, computable subtrees of $\omega ^{<\omega }$.
* Any such tree has a path computable from $0'$, the canonical Turing complete set that can decide the halting problem.
* Any such tree has a path that is low. This is known as the low basis theorem.
* Any such tree has a path that is hyperimmune free. This means that any function computable from the path is dominated by a computable function.
* For any noncomputable subset $X$ of $\omega$ the tree has a path that does not compute $X$.
A weak form of Kőnig's lemma which states that every infinite binary tree has an infinite branch is used to define the subsystem WKL$_0$ of second-order arithmetic. This subsystem has an important role in reverse mathematics. Here a binary tree is one in which every term of every sequence in the tree is 0 or 1, which is to say the tree is computably bounded via the constant function 2. The full form of Kőnig's lemma is not provable in WKL$_0$, but is equivalent to the stronger subsystem ACA$_0$.

## Relationship to constructive mathematics and compactness

The proof given above is not generally considered to be constructive, because at each step it uses a proof by contradiction to establish that there exists an adjacent vertex from which infinitely many other vertices can be reached, and because of the reliance on a weak form of the axiom of choice. Facts about the computational aspects of the lemma suggest that no proof can be given that would be considered constructive by the main schools of constructive mathematics.
The fan theorem of L. E. J. Brouwer (1927) is, from a classical point of view, the contrapositive of a form of Kőnig's lemma. A subset S of $\{0,1\}^{<\omega }$ is called a bar if any function from $\omega$ to the set $\{0,1\}$ has some initial segment in S. A bar is detachable if every sequence is either in the bar or not in the bar (this assumption is required because the theorem is ordinarily considered in situations where the law of the excluded middle is not assumed). A bar is uniform if there is some number $N$ so that any function from $\omega$ to $\{0,1\}$ has an initial segment in the bar of length no more than $N$. Brouwer's fan theorem says that any detachable bar is uniform.
This can be proven in a classical setting by considering the bar as an open covering of the compact topological space $\{0,1\}^{\omega }$. Each sequence in the bar represents a basic open set of this space, and these basic open sets cover the space by assumption. By compactness, this cover has a finite subcover. The N of the fan theorem can be taken to be the length of the longest sequence whose basic open set is in the finite subcover. This topological proof can be used in classical mathematics to show that the following form of Kőnig's lemma holds: for any natural number k, any infinite subtree of the tree $\{0,\ldots ,k\}^{<\omega }$ has an infinite path.

## Relationship with the axiom of choice

Kőnig's lemma may be considered to be a choice principle; the first proof above illustrates the relationship between the lemma and the axiom of dependent choice. At each step of the induction, a vertex with a particular property must be selected. Although it is proved that at least one appropriate vertex exists, if there is more than one suitable vertex there may be no canonical choice. In fact, the full strength of the axiom of dependent choice is not needed; as described below, the axiom of countable choice suffices.
If the graph is countable, the vertices are well-ordered and one can canonically choose the smallest suitable vertex. In this case, Kőnig's lemma is provable in second-order arithmetic with arithmetical comprehension, and, a fortiori, in ZF set theory (without choice).
Kőnig's lemma is essentially the restriction of the axiom of dependent choice to entire relations $R$ such that for each $x$ there are only finitely many $z$ such that $xRz$. Although the axiom of choice is, in general, stronger than the principle of dependent choice, this restriction of dependent choice is equivalent to a restriction of the axiom of choice. In particular, when the branching at each node is done on a finite subset of an arbitrary set not assumed to be countable, the form of Kőnig's lemma that says "Every infinite finitely branching tree has an infinite path" is equivalent to the principle that every countable set of finite sets has a choice function, that is to say, the axiom of countable choice for finite sets. This form of the axiom of choice (and hence of Kőnig's lemma) is not provable in ZF set theory.

## Generalization

In the category of sets, the inverse limit of any inverse system of non-empty finite sets is non-empty. This may be seen as a generalization of Kőnig's lemma and can be proved with Tychonoff's theorem, viewing the finite sets as compact discrete spaces, and then using the finite intersection property characterization of compactness.