Is this solution correct? (Exercise 1.1.19 in Hatcher's AT) Exercise 19 on the page 39 in Hatcher's AT says:

Exercise 19. Show that if $X$ is path-connected $1$-dimensional CW complex with basepoint $x_0$ a $0$-cell, then every loop in $X$ is homotopic to a loop consisting of a finite sequence of edges traversed monotonically. [See the proof of Lemma 1.15.]

The proof of Lemma 1.15 says:

Proof: Given a loop $f:I\to X$ at the basepoint $x_0$, we claim that there is a partition $0=s_0<s_1<\cdots <s_m=1$ of $I$ such that each subinterval $[s_{i-1},\,s_i]$ is mapped by $f$ to a single $A_\alpha$. (......the rest omitted)

(In the lemma, the $A_\alpha$'s are assumed to form an open cover of $X$.)
And here is my solution to Exercise 19:
It is enough to solve the problem with an additional assumption that $X$ is a finite CW complex, since the compact set $f(I)$ is contained in a finite subcomplex of $X$.
Let $x$ be a $0$-cell in $X$. The union $N_x$ of $\{x\}$ and all the $1$-cells attached to $x$ is open in $X$. To be sure about this, add a $0$-cell in the middle of each edge of $X$. (Doing this is suggested by JasonDeVito.) This makes no change in the situation. All such $N_x$ forms an open cover of $f(I)$.
Like in the Proof of Lemma 1.15, we can find a partition $0=s_0<\cdots <s_n=1$ of $I$ such that each image $f([s_{i-1},\,s_i])$ of subinterval is contained in an $N_x$. Let $f_i:I\to X$ be the linear reparametrization of $f$ restricted to the subinterval $[s_{i-1},\,s_i]$. Then $f$ is path-homotopic to $f_1 \cdot ... \cdot f_n$.
There is a unique way to connect two points $f(s_{i-1})$ and $f(s_i)$ by a monotonic path $g_i$ in $N_x$, up to reparametriation. This is due to the topology of $N_x$, which is homeomorphic to the finite number of half-closed intervals whose closed endpoints identified. Again by this topology on $N_x$, $f_i$ and $g_i$ are path-homotopic to each other since they have same endpoints. Therefore $f$ is path-homotopic to $g_1 \cdot ... \cdot g_n$. The end.
Is my solution correct? I think it is, but want to be sure.
 A: Your proof has a nice idea, but it suffers a little from the vague meaning of traversing something monotonically.
Note that in your proof traversing monotonically can also mean constant (consider the case that $f(s_{i-1}) = f(s_i)$). By the way, Hatcher's statement has the same problem: Consider the constant loop at $x_0$ which traverses $0$ edges. However, this can be argued away by saying that every loop in $X$ is homotopic to a finite product of paths traversing a single edge monotonically and defining the empty product to be the constant loop.
Here are some suggestions for clarification.

*

*In Hatcher's statement an edge is closed $1$-cell $\bar e_\alpha$, i.e. the image of a characteristic map $\phi_\alpha : [0,1] \to X$. I think we should regard a path traversing $\bar e_\alpha$ monotonically as either the path $\phi_\alpha$ or the path $-\phi_\alpha$ travelled in opposite direction. Or, more generally, as any path obtained from $\phi_\alpha$ or $-\phi_\alpha$ via reparameterization.


*You do not need to introduce additional $0$-cells in the $CW$-structure of $X$. Define your open cover $\mathcal U$ for applying Lemma 1.15 (by the way, this only occurs in the edition from 2001) as follows: It contains all open $1$-cells $e_\alpha$ (which are open in $X$ because $\dim X = 1$). Pick a point $y_\alpha \in e_\alpha$ and for each $0$-cell $x$ let $N_x$ be the union of all $C_x(\bar e_\alpha \setminus \{y_\alpha\})$ with $x \in \bar e_\alpha$ and $C_x(\bar e_\alpha \setminus \{y_\alpha\})$ being the component of $\bar e_\alpha \setminus \{y_\alpha\}$ containing $x$. Add these $N_x$ to $\mathcal U$.


*Each $\bar e_\alpha \setminus \{y_\alpha\}$ is either homeomorphic to a half-open interval $[0,1)$ with $x$ corresonding to $0$  or to an open interval $(-1,1)$ with $x$ corresonding to $0$. Hence $N_x$ is homeomorphic to the one-point union $V_x$ of half-open intervals $[0,1)$ glued together at the point $0$. In particular $N_x$ is contractible. A monotonic path in $N_x$ connecting two points $a, b \in N_x$ corresponds under $h :  N_x \stackrel{\approx}{\rightarrow} V_x$ to a path in $V_x$ connecting $h(a)$ and $h(b)$ as follows: If $h(a),h(b)$ belong to the same copy of $[0,1)$, then take the linear path in $[0,1)$ (which is constant if $h(a) = h(b)$) and if $h(a),h(b)$ belong to distinct copies of $[0,1)$, then take the linear path in the first copy from $h(a)$ to $0$ followed by the linear path in the second copy from $0$ to $h(b)$. A monotonic path in $e_\alpha \approx (0,1)$ is defined similarly (it is even simpler than above).


*Now proceed as in your proof: For an adequate partition of $[0,1]$ each $f_i = f \mid_{[s_{i-1},s_i]}$ maps into a member $U$ of $\mathcal U$ (which is contractible), hence it is homotopic in $U$ to the monotonic path $g_i$ on $[s_{i-1},s_i]$ having the same endpoints as $f_i$. Hence $f$ is homotopic to the product $g$ of the $g_i$. But this does not suffice to prove Hatcher's statement, and that is a big gap in your approach. Note that some $g_i$ may be constant and some $g_i$ may travel back in an $e_\alpha$ from $g_{i-1}(s_{i-1})$ in the direction of $g_{i-1}(s_{i-2})$.


*To treat such cases, let us first observe that constant $g_i$ are irrelevant, they can be omitted from the product without changing the homotopy class of $g$. So let us assume that no $g_i$ is constant. Next observe that any $0$-simplex $x$ can be met at most once by $g$ (this can only happen if $f_i$ maps into $N_x$, and then the homotopic $g_i$ goes at most one trough $x$). So w.lo.g. we may assume that if $x \in \text{im}(g)$, then $x = g(s_i)$ for some $i$ (if necessary, add partition points). Let $g^{-1}(X^0) = \{s_{i_0},\dots,s_{i_r}\}$ with $0= i_0 < i_1 < \dots < i_r = n$. Then $g((s_{i_{l-1}},s_{i_l}))$ is a connected subset of $X \setminus X^0$ and must therefore be contained in some open $1$-cell $e_\alpha$. The correponding edge (= closed $1$-cell)  $\bar e_\alpha$ is a circle if $g(s_{i_{l-1}}) = g(s_{i_l}) = x$ and a closed interval if $x = g(s_{i_{l-1}}) \ne g(s_{i_l}) = x'$. The $g_k$ with $s_{i_{l-1}} < k < s_{i_l}$ may travel forwards and backwards, i.e. $g_l = g \mid_{[s_{i_{l-1}},s_{i_l}]}$ need not be traversing  $\bar e_\alpha$ monotonically. But if  $\bar e_\alpha$ is a closed interval, then $g_l$ will be homotopic to the path travelling monotonically from $x$ to $x'$. Similarly,  if  $\bar e_\alpha$ is a circle,  then $g_l$ will be homotopic to either the constant loop or one of $\phi_\alpha$, $-\phi_\alpha$ (note that it cannot have a winding number $\ne \pm 1$  because that would require that $g_l^{-1}(x)$ contains more points than $s_{i_{l-1}},s_{i_l}$).
