Small object argument (source code)

= Small object argument
{title2=$X\to Z_\infty\to Y$}
{wiki}

Attach cells for all lifting squares at each successive stage, then take a suitable colimit. Smallness of the generating domains makes every eventual lifting square occur at an earlier stage. This factors a map into a <relative cell complex> followed by a map with the prescribed <right lifting property>.