In this section we will develop a general criteria for functions that can be lifted. The criteria will embrace paths, homotopies between paths, and cubes, and much more.
Let S~ be a covering space for S, such that a~ is in the fiber of a. Let U be the fundamental group of S, based at a.
Let D be a path connected domain with base point b, and let g map D into S, with g(b) = a. Since g is a continuous function it induces a homomorphism from the fundamental group of D at b into U. Let Ug be the image of this group homomorphism.
The projection p from S~ onto S induces a group homomorphism, in this case a monomorphism, from the fundamental group of S~ at a~ into U. Let Up be the image of this homomorphism.
The function g has a lift f into S~, with f(b) = a~, iff Ug is a subgroup of Up.
Start by assuming a lift f. A loop in g, based at b, maps to a loop in S, based at a. The same function can be realized by going through f, and then p. Therefore every loop in Ug is also a loop in Up, and Ug is a subgroup of Up.
Conversely, assume Ug is a subgroup of Up. Let f(b) = a~. Given a point c in D, draw a path from b to c, let g map this path into S, then lift the path up to S~. Let f(c) be the end point of the lift in S~.
We need to show f is well defined. Let l1 and l2 be two paths in D from b to c. Together they define a loop l, based at b, which maps to a loop in S, based at a. This loop is homotopic to some loop that has a preimage in S~, based at a~. Lift the homotopy to find a loop that is the preimage, under p, of f(l). The two lifts, along l1 and l2, lead to the same point in S~, hence f(c) is well defined.
By construction, fp = g. We can follow g, or apply f and then p, and the image of c in S is the same.
Finally we need to show f is continuous. Let W be an open neighborhood about f(c) that evenly covers g(c), and let V be the preimage of W under f. When restricted to W, p implements a homeomorphism, thus p(W), or g(V), is an open set. Since g is continuous, V is an open set. Therefore f is continuous, and acts as a lift for g.
If the fundamental group of D is trivial, then Ug is also trivial, and is automatically a subgroup of Up. This embraces paths, cubes, Rn, and any other simply connected space. If D is simply connected, g(D) can always be lifted to f(D).