Let be the free group on a set . Form the rose , a topological graph with one vertex and one oriented loop for each generator. Reading edge labels identifies with : cancellation of an edge followed by its reverse is exactly free reduction. This also applies to an infinite generating set, using the graph's CW topology rather than an accumulation topology.
Apply the subgroup-covering construction to obtain a connected covering graph with . Choose a spanning tree and a base vertex . For every edge , choose one orientation and form the loop consisting of the unique tree path from to the initial vertex of , the edge , and the unique tree path back from its terminal vertex.
These loops generate . Indeed, in any edge loop insert the tree paths to and from the base vertex between consecutive edges. A tree edge contributes a contractible loop; a non-tree edge contributes the chosen loop or its inverse. They are freely independent as well: reducing an edge path cancels backtracking, and, after suppressing the tree portions, a nonempty freely reduced word in the oriented non-tree edges cannot disappear. Equivalently, collapsing the tree gives a rose whose petals are precisely the non-tree edges, and the same edge-path reduction identifies its fundamental group with the free group on those petals.
Thus is free, and its isomorphism with proves the Nielsen–Schreier theorem:
The non-tree edges may be infinite in number; the argument does not require to have finite index or be finitely generated.
The Nielsen–Schreier theorem says that every subgroup of a free group is free. Realize as the fundamental group of the rose , the graph with one vertex and oriented loops. A subgroup of finite index of a subgroup corresponds to a connected -sheeted covering graph . The graph has vertices and unoriented edges. Choosing a spanning tree leaves
edges outside the tree, and these freely generate . Thus the Nielsen–Schreier formula is