Loops Move Points in a Fiber
A covering map allows paths in the base space to be lifted uniquely once their starting point upstairs is specified. If a path is a loop based at \(x_0\), its lift starts and ends in the fiber over \(x_0\). Thus a based loop describes a way to move one point of that fiber to another. Passing from loops to their homotopy classes gives the fundamental group action on the fiber.
Let \(p:E\to X\) be a covering map, let \(x_0\in X\), and give the fiber \(F=p^{-1}(\{x_0\})\) its subspace topology from \(E\). Recall that a covering map is a continuous surjection for which every point of \(X\) has an open neighborhood whose preimage is a disjoint union of open sets, each mapped homeomorphically onto that neighborhood. A based loop at \(x_0\) is a continuous path \(\gamma:I\to X\) with \(\gamma(0)=\gamma(1)=x_0\). The fundamental group \(\pi_1(X,x_0)\) consists of based-loop homotopy classes, with homotopies keeping both endpoints at \(x_0\).
The Path Lifting Theorem, established in the earlier material on covering spaces, says that for a covering map \(p:E\to X\), a path \(\gamma:I\to X\), and a point \(e\in E\) with \(p(e)=\gamma(0)\), there exists a unique lift \(\widetilde{\gamma}:I\to E\) satisfying \(\widetilde{\gamma}(0)=e\) and \(p\circ\widetilde{\gamma}=\gamma\). In particular, if \(\gamma\) is based at \(x_0\), then \(p(\widetilde{\gamma}_e(1))=x_0\), so \(\widetilde{\gamma}_e(1)\in F\). This verifies that the endpoint operation really takes values in the fiber.
Why the Action Is on the Right
With the stated convention, the order of the product records the order in which a path is traversed. Starting at \(e\), lift \(\alpha\) first; then lift \(\beta\) from the endpoint reached. The resulting path is the lift of \(\alpha*\beta\). Therefore applying \([\alpha]\) and then \([\beta]\) corresponds to the product \([\alpha][\beta]\), exactly as required for a right action: \((e\cdot[\alpha])\cdot[\beta]=e\cdot([\alpha][\beta])\).
Proof. Define \(\lambda:I\to E\) by \(\lambda(t)=\widetilde{\alpha}_e(2t)\) for \(0\le t\le \tfrac12\), and \(\lambda(t)=\widetilde{\beta}_{\widetilde{\alpha}_e(1)}(2t-1)\) for \(\tfrac12\le t\le 1\). The two formulas agree at \(t=\tfrac12\), since both give \(\widetilde{\alpha}_e(1)=\widetilde{\beta}_{\widetilde{\alpha}_e(1)}(0)\). Each piece is continuous, so \(\lambda\) is continuous. On the first half, \(p(\lambda(t))=\alpha(2t)\); on the second half, \(p(\lambda(t))=\beta(2t-1)\). Hence \(p\circ\lambda=\alpha*\beta\), and \(\lambda(0)=e\). By uniqueness of path lifts, \(\lambda\) is the lift of \(\alpha*\beta\) starting at \(e\). Its endpoint is \(\widetilde{\beta}_{\widetilde{\alpha}_e(1)}(1)\), as claimed. \(\square\)
This calculation also explains why silently reversing the product convention causes errors. If instead one defines \(\alpha*\beta\) to traverse \(\beta\) first, the endpoint formula and the side on which the group acts must be adjusted accordingly.
Worked Endpoint Calculations
Worked Example: A Covering with Two Separate Sheets
Let \(X=I=[0,1]\) with its usual topology, let \(E=I\times\{0,1\}\) have the product topology (where \(\{0,1\}\) is discrete), and define \(p(s,j)=s\). This is a covering: \(X\) itself is evenly covered by the two open subsets \(I\times\{0\}\) and \(I\times\{1\}\), each mapped homeomorphically to \(I\). Fix \(x_0=\tfrac12\). The fiber is \(F=\{(\tfrac12,0),(\tfrac12,1)\}\).
For any based loop \(\gamma:I\to I\) at \(\tfrac12\) and either \(j\in\{0,1\}\), the path \(\widetilde{\gamma}(t)=(\gamma(t),j)\) starts at \((\tfrac12,j)\), projects to \(\gamma\), and ends at \((\tfrac12,j)\). Uniqueness of lifts makes this the lift from that starting point. Thus \((\tfrac12,j)\cdot\gamma=(\tfrac12,j)\) for both fiber points and every such loop: in this covering, every loop representative fixes the fiber point from which its lift starts.
Check: at \(t=0\), \(\widetilde{\gamma}(0)=(\tfrac12,j)\); at \(t=1\), \(\widetilde{\gamma}(1)=(\gamma(1),j)=(\tfrac12,j)\). Its projection at every \(t\) is \(p(\gamma(t),j)=\gamma(t)\), as required.
Worked Example: A Three-Sheeted Graph Covering
Consider a graph \(X\) with one vertex \(v\) and two oriented loop edges labelled \(a\) and \(b\), each realized as an interval with both endpoints attached to \(v\). Let \(E\) have vertices \(0,1,2\). For each \(i\in\{0,1,2\}\), attach an oriented \(a\)-edge from \(i\) to \(i+1\) modulo \(3\), and a \(b\)-edge from \(i\) to \(\sigma_b(i)\), where \(\sigma_b\) interchanges \(0\) and \(1\) and fixes \(2\). Map each vertex to \(v\), and map each edge linearly onto the edge of \(X\) with the same label and orientation.
This map is a covering. At an interior point of an edge, a sufficiently small open interval has one interval above it in each corresponding edge, mapped homeomorphically. At \(v\), take a neighborhood made of short segments in the four directions \(a\)-outgoing, \(a\)-incoming, \(b\)-outgoing, and \(b\)-incoming. At each vertex of \(E\), exactly one incident segment maps to each of those four directions: the outgoing edge of a given label is unique, and the incoming edge is unique because both \(i\mapsto i+1\) modulo \(3\) and \(\sigma_b\) are permutations. Thus each such neighborhood lifts to disjoint neighborhoods mapped homeomorphically onto it.
Take \(x_0=v\), so \(F=\{0,1,2\}\). The loop \(a\) sends \(0\) to \(1\), since its lift follows the \(a\)-edge from \(0\) to \(1\). The loop \(b\) then sends \(1\) to \(0\), since the \(b\)-edge from \(1\) ends at \(0\). Consequently, traversing \(a\) first and \(b\) second gives \(0\cdot(a*b)=0\). In the other order, \(b\) takes \(0\) to \(1\), and then \(a\) takes \(1\) to \(2\), so \(0\cdot(b*a)=2\).
Check: the two concatenations use the same two labels but in different orders. The computed endpoints are \(0\) for \(a*b\) and \(2\) for \(b*a\); therefore they cannot be interchanged in an endpoint calculation.
Worked Example: Comparing a Product with Successive Actions
Use the same graph covering and begin at fiber point \(0\). For the product \([a][b]\), the convention says to traverse \(a\) and then \(b\). The lift therefore follows \(0\to1\) along the \(a\)-edge and \(1\to0\) along the \(b\)-edge. Hence \(0\cdot(a*b)=0\).
Now compute by successive endpoint operations. First \(0\cdot a=1\). Starting at that endpoint, the lift of \(b\) goes from \(1\) to \(0\), so \((0\cdot a)\cdot b=1\cdot b=0\). Both calculations give \(0\). In contrast, using the reversed order would give \(0\cdot(b*a)=2\), as computed above. This is the concrete form of the right-action rule: act by the first path, then by the second path.
From Loop Representatives to Loop Classes
The endpoint formula is initially stated for a particular loop \(\gamma\), whereas a point of \(\pi_1(X,x_0)\) is a homotopy class \([\gamma]\). To write \(e\cdot[\gamma]\) unambiguously, the endpoint must be the same for every representative of that class. The earlier endpoint-invariance result says that if two paths are homotopic while their endpoints remain fixed, their lifts from the same starting point have the same endpoint. Applied to based loops, it gives the required representative independence.
There is a second useful check on the action law. The constant loop lifts to the constant path at \(e\), so it fixes \(e\). Also, reversing a based loop reverses its lifted path: if \(\overline{\gamma}(t)=\gamma(1-t)\), then the reversed lift starts at \(\widetilde{\gamma}_e(1)\) and ends at \(e\). These endpoint calculations explain the identity and inverse behavior. Together with the concatenated-lift proposition, they give the expected right-action formulas once the operation is regarded as defined on homotopy classes.
The fiber action is useful because it converts information about loops into permutations, or more generally maps, of a discrete fiber. Even before computing a group or classifying coverings, the endpoint viewpoint provides a direct way to track how loops move lifts. The convention is essential: with the stated product, the natural formula is a right action, and its calculation follows the actual order of traversal.
Check Your Understanding
Use the stated convention that \(\alpha*\beta\) traverses \(\alpha\) first.
- Why does the endpoint of a lifted based loop lie in \(F=p^{-1}(\{x_0\})\)?
- In the three-sheeted graph example, compute the endpoint from \(2\) for the loop \(a*b\).
- For the same graph, compute the endpoint from \(0\) for \(a*a\), and show each edge transition.
- Explain why the endpoint of a lift must be independent of the chosen loop representative before \(e\cdot[\gamma]\) is well-defined.
- State the concatenated-lift endpoint formula in words and explain why it gives a right-action convention.