I’ve finally beaten my copy of Maple into submission and sketched a few pictures, so finally I can press ahead with knot theory.
The early days of knot theory were heavily topological, and there’s still a large part that works primarily with the tools of algebraic topology. However there’s a lot we can do combinatorially at a very low level. Mostly this works because of the Reidemeister theorem relating the study of knots to the study of knot diagrams.
Remember that a knot is actually a closed loop floating around in three-dimensional space, and a link is just the same but with more than one loop. If we imagine the loops are made of string and the space is above a table we can imagine dropping a knot down so it lies mostly flat on the table, bumping up in order for one string to cross over another. If we draw this curve in the plane, noting which strand crosses over another at a crossing, we get a knot diagram.
Now we’re considering two knots to be “the same” if we can move the one curve in space to the other without cutting the string. We need a similar notion of equivalence for knot diagrams so that two diagrams represent the same knot if and only if they are equivalent. It turns out that we can extract the right notion of equivalence from the method we use to produce diagrams!
What we’re going to do is actually somewhat different from the original method of Reidemeister, but I think it makes a lot more intuitive sense. I’m also going to play a little fast and loose with the fine analytic details, but if you’re expert enough to see what might go wrong you should also expert enough to tidy up the arguments.
We want to make our diagrams as simple as possible, in a sense that should become clear. We can’t eliminate all “double points” where two strands have to cross over each other in the plane. If we could we wouldn’t really have knots. However we can ask that there be no “triple points” where three strands cross each other. If we have a triple point we can push the top strand off the crossing of the other two strands to get three double points. But we have a choice of how to do this, and both ways are equally valid simplifications of the diagram. To handle this, we introduce the “third Reidemeister move”:
What does this diagram mean? If we have a knot diagram with three strands forming a triangle like the one on the left — and no other strands in the area, so the diagram really does look like the left-hand side — we can replace the “local” diagram on the left with the one on the right. We can also go the other way. If we imagine this as pulling the top strand back and forth over the crossing, we see that these are the two different ways of simplifying a triple point.
Okay, now we want to ask that at any double point the strands actually cross each other and don’t just brush against each other. If we have such a bad point we can tweak it a bit, and again there are two choices. One way pulls the strands off of each other entirely, and the other creates two honest crossings. Corresponding to this choice we have the “second Reidemeister move”:
Again, we interpret the diagram as we did above.
Finally, we want to avoid “cusps” where the string stops, moves down a bit, then doubles back on itself. This would create annoying corners in our diagrams. We handle it by twisting the string a bit, either smoothing out the cusp or turning it into a loop with an actual crossing. Corresponding to this choice we have the “first Reidemeister move”:
The Reidemeister theorem says that this is all we need to do. Any two diagrams represent “the same” knot if and only if they are related by a finite sequence of these three Reidemeister moves, along with pushing around diagrams in the plane. This makes it easy (well.. easier) to create knot invariants: define a function on knot diagrams so that we get the same answer before and after applying any Reidemeister move. Then if two diagrams represent the same knot they’ll get the same value of the function.
I want to step a bit aside from the main stream at this point to push some terminology that I like. If we define some sort of function of knot diagrams so that applying a Reidemeister move just gives you an equivalent value of the function rather than the same value, I like to call that a “knot covariant” (as opposed to “invariant”). Those of you who also read The n-Category Café will surely see the motivation.