Un grafo es un espacio construido a partir de un conjunto de vértices pegando aristas, cada una una copia de [0, 1] cuyos dos extremos se pegan a vértices. Un árbol es un grafo conexo sin circuitos, y todo árbol es contráctil. Todo grafo conexo contiene un árbol maximal, y un árbol maximal contiene todos los vértices [1].
Contraer a un punto un subgrafo contráctil es una equivalencia homotópica. Si T es un árbol maximal de un grafo conexo X, el cociente X/T tiene un solo vértice, y cada arista fuera de T se convierte en una circunferencia que pasa por él. Así, X es homotópicamente equivalente a una cuña de circunferencias, una por cada arista que no está en T, y \pi_1(X) es un grupo libre con un generador por cada una de esas aristas [1].
Los generadores se leen en el propio X: para una arista e fuera de T, se va del vértice base al comienzo de e dentro de T, se recorre e y se vuelve al vértice base dentro de T. Un árbol maximal de un grafo conexo finito con V vértices y E aristas tiene V - 1 aristas, así que el rango de \pi_1(X) es E - V + 1 = 1 - \chi(X), donde \chi(X) = V - E es la característica de Euler.
La figura ocho tiene un vértice y dos aristas, y su grupo fundamental F_2 tiene rango 2 - 1 + 1 = 2. El grafo completo K_4 tiene 4 vértices y 6 aristas, así que \pi_1(K_4) \cong F_3. En general, el grafo completo K_n con n vértices tiene n(n - 1)/2 aristas, y su grupo fundamental tiene rango (n - 1)(n - 2)/2.
En la figura, K_4 se dibuja como un triángulo con un vértice en el centro, y las tres aristas que salen del centro forman un árbol maximal. Al contraer el árbol al punto central, los tres lados del triángulo se curvan en tres lazos y K_4 se convierte en la cuña de tres circunferencias. Los tres lados dan los tres generadores libres.
Un espacio recubridor de un grafo es otra vez un grafo. Si p \colon \tilde{X} \to X es una aplicación recubridora y X es un grafo, se toman como vértices de \tilde{X} las preimágenes de los vértices de X. Cada arista abierta de X es simplemente conexa, así que su preimagen es una unión disjunta de copias de ella, una en cada hoja, y esas copias son las aristas de \tilde{X} [1].
Sea F_n el grupo libre de rango n, visto como el grupo fundamental de la cuña X_n de n circunferencias, y sea H \subset F_n un subgrupo cualquiera. Por la correspondencia de Galois hay un recubrimiento conexo p \colon \tilde{X} \to X_n con p_*\pi_1(\tilde{X}) = H, y \tilde{X} es un grafo. Como p_* es inyectivo, H \cong \pi_1(\tilde{X}) es libre. Este es el teorema de Nielsen-Schreier: todo subgrupo de un grupo libre es libre [1].
Si H tiene índice finito k, el grafo recubridor tiene k hojas, y por tanto k vértices y kn aristas, porque cada vértice y cada arista de X_n tiene k levantamientos. Así, el rango de H es kn - k + 1 = 1 + k(n - 1). En términos de características de Euler, \chi(\tilde{X}) = k\chi(X_n), y para n \geq 2 el rango crece con el índice.
Por ejemplo, H = \langle a^2, b, aba^{-1} \rangle \subset F_2 está formado por las palabras en las que a aparece un número par de veces, contadas con signo. Tiene índice 2, así que es libre de rango 3, y a^2, b, aba^{-1} forman una base libre. Un subgrupo puede necesitar más generadores que el grupo entero, y F_2 contiene subgrupos libres de todo rango finito. Para n = 1 la fórmula da rango 1 para todo k, de acuerdo con los subgrupos k\mathbb{Z} de \mathbb{Z}.
La figura obtiene el grafo recubridor de H a partir de sus generadores. Empieza con tres lazos en el vértice base que deletrean a^2, b y aba^{-1} con aristas etiquetadas y orientadas, y pliega juntas dos aristas con la misma etiqueta que salen del mismo vértice. Tras dos plegados, cada vértice tiene una arista entrante y una saliente de cada etiqueta, así que el grafo recubre la figura ocho con 2 vértices y 4 aristas [2].
Plegar no cambia el subgrupo que representa el grafo, y cuando el grafo plegado es un recubrimiento, su número de vértices es el índice [2]. Si el grafo plegado es finito pero a algún vértice le falta una arista de alguna etiqueta, el subgrupo tiene índice infinito, así que el plegado decide si un subgrupo finitamente generado tiene índice finito y calcula ese índice.
Los subgrupos de índice infinito pueden tener rango infinito. El subgrupo conmutador [F_2, F_2] es el núcleo del homomorfismo F_2 \to \mathbb{Z}^2 que envía a y b a los dos generadores canónicos. Su grafo recubridor es la cuadrícula del plano, con vértices en los puntos de \mathbb{Z}^2, aristas horizontales para a y verticales para b, y un lazo se levanta a un camino cerrado exactamente cuando sus exponentes de a y de b suman cero por separado.
La cuadrícula es un grafo infinito, y todo árbol maximal deja fuera infinitas aristas, así que [F_2, F_2] es libre de rango infinito. En la figura, el conmutador [a^m, b^n] = a^m b^n a^{-m} b^{-n} se levanta al borde del rectángulo de vértices (0, 0) y (m, n). Los conmutadores [a^m, b^n] con m, n \neq 0 forman una base libre de [F_2, F_2].
Así, un grupo finitamente generado puede tener subgrupos que no son finitamente generados. Por la fórmula de la sección anterior, esto no ocurre con los subgrupos de índice finito de F_n, y en general todo subgrupo de índice finito de un grupo finitamente generado es finitamente generado.
Otro ejemplo es el núcleo del homomorfismo F_2 \to \mathbb{Z} que envía a a 1 y b a 0. Su grafo recubridor es una recta de aristas a que pasa por los enteros, con un lazo b en cada entero. La recta es un árbol maximal, los lazos son las aristas restantes, y el núcleo está generado libremente por los conjugados a^k b a^{-k} con k \in \mathbb{Z}.
Un argumento parecido con recubrimientos de una cuña de dos espacios da el teorema de los subgrupos de Kurosh: todo subgrupo de un producto libre G_1 * G_2 es a su vez un producto libre de un grupo libre y de conjugados de subgrupos de G_1 y de G_2. Para G_1 = G_2 = \mathbb{Z}, todos esos factores son libres, y el teorema se reduce al de Nielsen-Schreier para F_2.