Previously (Weak) Homotopy Equivalences.

An average function between sets, f \colon A \to B is neither surjective nor injective. We can however isolate the two “failure modes” if we insert a third set X in between. We can, for instance, pick this set to be the subset of  B that is the image of A under f. We then define s \colon A \twoheadrightarrow X to be the surjective part of f. This way s deals just with all the non-injectivity of f. We can then follow s with an injective function i \colon X \hookrightarrow B. We get the (Surj, Inj) factorization of an arbitrary function into a surjection followed by an injection:

f = i \circ s

This factorization is unique up to unique isomorphism.

Notice also that both surjections and injections are closed under composition and that every isomorphism is simultaneously a surjection and an injection.

In category theory we generalize this idea to define abstract factorization systems.

A (strict) factorization system specifies two classes of morphisms L and R, satisfying conditions loosely analogous to the (Surj, Inj) factorization:

  • Each class is closed under composition and contains all isomorphisms.
  • Every morphism can be factorized, f = r \circ l, with l \in L and r \in R
  • The factorization is functorial.

The last condition requires some explanation. We can look at factorization as a functor between two categories.

The source category is the arrow category of C. Its objects are arrows or, more precisely, triples (a, b, f \colon a \to b). A morphism from (a, b, f) to (a', b', f') is a pair of arrows (u \colon a \to a', v \colon b \to b') that make the following square commute:

The target category is the category of factorizations. Its objects are factorizations, or pairs of composable arrows (l, r):

a \xrightarrow{l} x \xrightarrow{r} b

taken from the two classes (L, R). Morphisms are triples of arrows (u, w, v) that make the following diagram commute:

The functor in question maps an arrow (a, b, f) to its factorization, a \xrightarrow{l} x \xrightarrow{r} b, with f = r \circ l. Its action on a morphism (u, v) is the commuting diagram above. For functoriality, we need the arrow w to be determined uniquely.

Notice that we can redraw the last diagram in such a way that w crosses it diagonally.

In other words, morphisms in L have the (strict) left lifting property with respect to morphisms in R.

Interesting things start happening when we relax the strictness property and allow w not to be unique. We can no longer talk about functoriality of factorization. Instead we lean on the (weak) lifting property.

To illustrate this, let’s reverse the roles of surjections and injections in our factorization of functions. Indeed, every function can be factored into an injection followed by a surjection. Such (Inj, Surj) factorization is not unique. (It also requires the use of the Axiom of Choice.)

A weak factorization system consists, as before, of two classes of morphisms (L, R) that allow for factoriziation of an arbitrary morphism f = l \circ r. This time, however, we postulate that L is precisely the class of morphisms with a left lifting property against every morphism in R; and vice versa for R and the right lifting property.

At this point you may recall the lifting property we discussed earlier between fibrations and cofibrations. In particular, a cofibration satisfies the homotopy extension property.

Interestingly, there is a connection between fibrations and surjections, and cofibrations and injections.

First, we’ll show that a fibration p \colon E \to B is a surjection as long as E is non empty and B is path connected.

Here’s the proof: If p were not surjective then there would be a point b \in B that is not in the image of p. Since E is not empty, there exists a point e \in E. Take any path \gamma in B connecting p \, e to b. Since p is a fibration, we can lift this path to \tilde{\gamma} in E. Since p projects the endpoint of \tilde{\gamma} to b, we have reached a contradiction. Therefore p must be a surjection. \blacksquare

The proof that every cofibration is injective is a bit more involved. It uses a very handy notion of a mapping cylinder. We can visualize a function i \colon B \to E between two spaces as a bunch of wires. Each wire connects a point b \in B to the corresponding point i \, b \in E. A mapping cylinder M_i is a topological space that formalizes this picture.

We start with pairs (b, t) \in B \times I, where I is the unit segment, which we use to parameterize the length of each wire. Then we add the target E to our cylinder, and plug the end (b, 1) of each wire to its “socket” i \, b \in E.

Formally, the mapping cylinder M_i is a quotient space of the disjoint union (B \times I) \bigsqcup E, identifying each (b, 1) with i \, b.

Notice that, if i is not injective, there will be some merging of multiple wires right when they hit E, but not earlier–the fact that will become relevant later.

Now let’s use the cofibration property of i. We replace the big space X with the cylinder M_i. The arrow e is the inclusion e \colon E \hookrightarrow M_i. Notice that e will be identified with the starting point of the homotopy \tilde h_0 that we’re constructing.

First we define the homotopy h \colon B \times I \to M_i. For every t \in I, we write h_t \colon B \to M_i.

At t = 0, h_0\, b is the point in M_i that sits on the seam between B \times I and E. In our quotient space, it corresponding to i \, b.

For t > 0 we define h_t \, b = \{(b, 1-t)\}. It reverses the direction of wires in the cylinder M_i. (We use curly braces to embed the pair (b, 1-t) \in B \times I into the quotient M_i.)

The function h is continuous, therefore a homotopy. (It may still merge multiple points into one, if i is not injective.)

Cofibration condition states that any homotopy h \colon B \times I \to M_i can be lifted to \tilde h \colon E \times I \to M_i, such that h (b, t) =\tilde h (i \, b, t). The latter condition can be written as:

h_t = \tilde h_t \circ i

In our case, \tilde h_0 will shrink the whole of E down to i \, B before embedding it in M_i.

Then, for any t > 0, \tilde h_t will shrink E down to B, embed it in B \times I at 1 - t, and inject it into M_i.

Notice that, for any fixed t > 0, our h_t is injective (h could only do the merging of wires at t = 0, where the identification happens). But the lifting condition tells us that h_t = \tilde h_t \circ i. Therefore i must also be injective. \blacksquare

We have shown that fibrations between (path-connected, non-empty) topological spaces are surjective, and that cofibrations are injective.

Corresponding to the weak (Inj, Surj) factorization system in Set, we can build a weak (Cofib, Fib) factorization system in Top (the category of topological spaces). Indeed, under some conditions, every continuous function can be factored into a cofibration followed by a fibration.

We’ve seen earlier that cofibrations have the left lifting property with respect to fibrations, and vice versa. So (Cofib, Fib) is indeed an example of a weak factorization system. We’ll see later that weak factorization systems form the basis of Quillen model categories.

Next: Models of (Dependent) Type Theory.