Follow up with a reparameterization, so that the path runs straight from a to b at constant speed. It does not stop, slow down, or slide back and forth.
Now do the same for all the arcs on the circle. Run these homotopies in parallel, or in series (since there are finitely many of them). The result is a polygonal approximation to the curve c, that is homotopic to c. If c lives in the plane, the winding number of u is preserved.
If u is outside of c, i.e. beyond the bound of c, a ray pointed away from c has no crossings. This gives a winding number of 0, which is consistent with what we saw in the previous section.
The proof relies on determinants. Let the direction v be the first row of a 2 by 2 matrix, and let the direction of c, i.e. the derivative, or velocity, be the second row. The sign of the determinant equals the sign of the crossing.
The determinant does not change under rotation, so spin the picture such that the ray runs straight up. Thus the first row is 0,1. The determinant is now minus the x direction of the curve. If the curve is moving from left to right, the x component of the velocity vector is positive. Revers the sign, as dictated by the determinant, and get -1, which agrees with our left right convention. Similarly, if c crosses from right to left, the x direction is negative, and the crossing is positive. The sign is never 0, because the ray would be colinear with the edge, and rays are not allowed to touch corners.
Let u be the origin, and let v run along the positive x axis. A crossing is positive if c is increasing (pushing up through the x axis), and negative if c is decreasing. Let g be the circle to circle map, which was denoted θ(c(t)) in the previous section. Let h be the lift of g into R1. Such a lift is used to calculate degree, and is an example of a covering space. Once a base point is selected, the lift is unique.
For convenience, express h as multiples of 2π. Thus h attains an integer value iff g = 0, iff θ = 0, iff c crosses the x axis.
To get us started, assume there are no crossings along the x axis. Let h(0) = b, the base point. Since c(0) does not lie on the x axis, and g(0) is not 0, b is not an integer. It is trapped between two integers,which I will call a cell. Since there are no crossings, the entire function h is trapped inside this cell. The lift must return to b, and the degree of g is 0, whence the winding number is 0.
Proceed by induction on the number of crossings. Assume the first crossing slants up through the x axis. The lift starts at b, and moves up into the next cell. From there, h advances by w cells, where w is the winding number determined by the remaining n-1 crossings. (This is the inductive step.) Therefore, h has been pushed up by w+1 cells, and the winding number is w+1 as expected. A similar argument applies when the first crossing is negative. And that completes the proof.
If there are no crossings then h is trapped in the base cell defined by b. The degree is 0, and the winding number is 0, as before.
Assume the first crossing is positive. We are not at a corner, hence the derivative exists. And the derivative is not parallel to the x axis. At this point in time, the curve is indeed pushing up through the x axis. Since crossings are finite, there is a segment of time, before and after t0, where c(t) does not touch the x axis, except of course for c(t0). Suppose points above t0, and arbitrarily close to t0, have images below the x axis. The delta y is negative, and the y component of the velocity cannot be positive. This is a contradiction, hence a region above t0 maps to points above the x axis. Similarly, a region below t0 maps to points below the x axis. This pushes h from its original cell, defined by b, into the next cell up. The rest of the proof is the same.