A model geometry, worn locally on a manifold
From Vol I's tour of non-Euclidean worlds you already know there is no single geometry — the plane, the round sphere, and the hyperbolic plane are three rigid model spaces, each with its own group of motions. The whole point of this rung is to put one such rigid geometry onto a manifold that, globally, is the wrong shape for it. A torus is not the Euclidean plane, yet it can wear a perfectly flat Euclidean geometry; a genus-2 surface is not the hyperbolic plane, yet it wears a hyperbolic one. The device that makes this precise is a (G,X)-structure, and it is the organizing idea behind every theorem in the next four guides.
Fix the two ingredients once and for all. Let X be a model space — say R^n, S^n, or hyperbolic space H^n — and let G be a group acting on X by the transformations we will call 'rigid motions of this geometry'. This is exactly the Erlangen program viewpoint you met earlier: a geometry IS a space together with its symmetry group, and the invariants are whatever G preserves. We always demand that G act real-analytically and, crucially, that an element of G be determined by its restriction to any open set — if two motions agree on a tiny patch, they agree everywhere. That uniqueness property is the hinge the entire machine turns on, so hold onto it.
Now the definition. A manifold M has a (G,X)-structure if it carries an atlas of charts into X — each chart is a diffeomorphism from an open set of M onto an open set of X — whose transition maps are not arbitrary, but are restrictions of elements of G. In Vol I a chart and atlas only had to glue smoothly; here we tighten the screw and demand the gluing be done by a single rigid motion of the model on each overlap. That one extra condition is everything: it forces all the local pieces to speak the same rigid geometry, so lengths, angles, and curvature computed in any chart agree where charts overlap.
Three flat tori: same surface, genuinely different structures
Lead with the example that makes the idea breathe. Take G = the group of Euclidean rigid motions of the plane and X = R^2; this is the Euclidean (G,X)-pair. Pick two independent vectors v_1, v_2 and form the lattice L of all integer combinations m v_1 + n v_2. The quotient R^2 / L is a torus, and it inherits a Euclidean (G,X)-structure for free: a small neighborhood of any point looks exactly like a patch of the flat plane, and where two such patches overlap on the torus the transition is a translation — an element of G. So the torus, which as a topological surface has genus 1 and cannot be the plane, nonetheless WEARS the flat plane locally everywhere.
Here is the subtle, beautiful part. Change the lattice — say a square lattice versus a lattice spanned by vectors at 60 degrees — and you get DIFFERENT Euclidean structures on the SAME smooth torus. They are not equivalent as (G,X)-structures, because no rigid motion of the plane carries one lattice to the other; the angle between generators is a genuine invariant. This is your first whiff of the central theme of the whole rung: a fixed topological surface supports a whole MODULI of geometric structures, and parametrizing that space of structures is exactly what Teichmüller space and the mapping class group (Guides 4 and 5) are built to do.
Unrolling the manifold: the developing map
A (G,X)-structure is a pile of local charts, and we now globalize it in one stroke. Pass to the universal cover M-tilde of M, the simply-connected covering you met in algebraic topology. Pick a basepoint and a chart there mapping into X. Then walk: any path in M-tilde is covered by a chain of overlapping charts, and on each overlap a unique g in G tells you how to adjust the next chart to agree with the one before. Because the transitions are analytic and determined by overlaps, this analytic-continuation process is forced — there is no choice once the first chart is fixed. The result is a single globally defined map.
That map is the developing map dev: M-tilde -> X. Picture it as physically unrolling M-tilde onto the model, the way you might unroll a paper cylinder flat onto a table: locally it is a diffeomorphism (an immersion that is a local (G,X)-isomorphism), but globally it may overlap itself, wrap around, or miss part of X entirely. For the flat torus, M-tilde is R^2 and the developing map is the identity onto all of R^2 — a clean unrolling. For a hyperbolic surface, dev maps the universal cover INTO the hyperbolic plane, and the image, the wrapping, and whether dev is onto carry deep information.
Two honest caveats, because the slogan 'unroll the manifold' over-promises. First, dev need not be injective and need not be surjective — these are exactly the failures that separate tame structures from wild ones, and a structure where dev IS a diffeomorphism onto X is special; such a (G,X)-structure is called complete and corresponds to M being a quotient of X itself. Second, dev depends on the initial chart, but only up to composing with an element of G: a different starting chart replaces dev by g . dev for some fixed g in G. That ambiguity is not a defect — it is precisely what makes the next object, the holonomy, well-defined.
Reading the global twisting: the holonomy representation
Now the payoff. The fundamental group pi_1(M) acts on the universal cover M-tilde by deck transformations — the symmetries of the covering that permute the sheets. Take such a deck transformation gamma and follow it with the developing map: dev composed with gamma is ANOTHER developing map for the same structure, so by the ambiguity we just noted it must equal a fixed element of G composed with dev. Write that element h(gamma). The defining equation is dev(gamma . x) = h(gamma) . dev(x): developing-then-decking equals applying-a-rigid-motion-then-developing. The deck action upstairs becomes a G-action downstairs on the model.
dev : M-tilde --> X (developing map, a local (G,X)-iso)
equivariance: dev( gamma . x ) = h(gamma) . dev(x) for all gamma in pi_1(M)
holonomy: h : pi_1(M) --> G is a GROUP HOMOMORPHISM
flat torus R^2/L : pi_1 = Z + Z, h sends the two loops to
translations by v_1 and v_2 (image = the lattice L)Check that h is a group homomorphism — it is the engine, so verify it once by hand. Apply the equivariance for gamma_2 then gamma_1: dev(gamma_1 gamma_2 . x) = h(gamma_1) . dev(gamma_2 . x) = h(gamma_1) h(gamma_2) . dev(x). Comparing with dev((gamma_1 gamma_2) . x) = h(gamma_1 gamma_2) . dev(x), and using that elements of G are determined by their action, gives h(gamma_1 gamma_2) = h(gamma_1) h(gamma_2). So h: pi_1(M) -> G is the holonomy representation, and it is the single richest invariant of a (G,X)-structure: it compresses all the global twisting into one homomorphism from the fundamental group into the symmetry group.
Make it concrete on the torus and the Klein bottle. For R^2 / L the fundamental group is Z + Z, generated by the two loops around the handle, and holonomy sends them to the translations by v_1 and v_2 — so the IMAGE of h is exactly the lattice L, and recovering the structure from its holonomy is transparent here. For the Klein bottle the holonomy must include an orientation-reversing motion (a glide reflection), reflecting that the surface is non-orientable; the algebra of pi_1 forces a relation that the holonomy image has to satisfy. The lesson generalizes: which homomorphisms pi_1(M) -> G actually arise as holonomies, and how much they determine the structure, is the rigidity question that culminates in Mostow rigidity in Guide 3.
How to read a structure, and where the rung goes
It pays to bottle the procedure as a recipe, because every later guide runs it. The trio dev, h, and the equivariance equation is sometimes called the developing pair, and the modern slogan is that a (G,X)-structure on M is essentially the same data as a developing pair up to the natural G-action. Two structures are equivalent precisely when their developing pairs differ by composing dev with a fixed g in G and conjugating h by the same g — which is why holonomy is naturally an element of the quotient Hom(pi_1(M), G) / G, the character variety. That quotient is the arena where Teichmüller space will eventually live.
- Fix the model pair (G, X): pick the kind of geometry — Euclidean (R^n, isometries), spherical (S^n, O(n+1)), or hyperbolic (H^n, isometries) — and confirm G acts analytically and is determined by any open restriction.
- Build a (G,X)-atlas on M whose transition maps are restrictions of elements of G; this is the local data that says M wears that geometry.
- Lift to the universal cover M-tilde and analytically continue one chart to manufacture the developing map dev: M-tilde -> X, a local (G,X)-isomorphism unique up to a fixed g in G.
- Read off the holonomy h: pi_1(M) -> G from dev(gamma . x) = h(gamma) . dev(x); record it up to conjugation in G as the structure's signature invariant, and ask whether the structure is complete (dev a diffeomorphism onto X).
That sets the table for the rest of the rung, all of which is the (G,X) machine specialized and pushed hard. Guide 2 fixes the dimension at 3 and asks which model pairs (G, X) can possibly arise — the answer is exactly eight, the Thurston geometries, and assembling a 3-manifold from pieces each wearing one of them is the geometrization conjecture proved by Perelman. Guide 3 zooms in on the hyperbolic model and shows the holonomy is shockingly rigid (Mostow). Guides 4 and 5 vary the structure continuously over a fixed surface, turning the space of holonomies into Teichmüller space and its moduli. Everything downstream is this one picture, deepened.