I'm an undergrad studying knot theory and I'm exploring the problem of unknot recognition. I believe I understand Haken's algorithm at a high level but I'm having trouble understanding why it is correct.
From my understanding, the algorithm begins: Construct a finite combinatorial triangulation $T$ of $S^3$ which contains a polygonal knot $K$ in its 1-skeleton which has diagram $K$, and also contains a good compact triangulated $3$-manifold $M_K \cong S^3 - R_K$, where $R_K$ is a regular neighborhood of $K$. Then, if there are $t$ tetrahedra in $M_K$, some vector in $\mathbb{Z}^{7t}$ corresponds to a normal surface which is a spanning disk of $K$ iff $K$ is unknotted.
Why can we guarantee that a spanning disk must be one of the vectors in $\mathbb{Z}^{7t}$? And why can we guarantee that a connected, essential disk corresponding to any vector in $\mathbb{Z}^{7t}$ is necessarily spanning?
Joel Hass gave some nice lectures about these things here. The main ideas are (1) taking a disk and manipulating it to get a new disk that is a normal surface with respect to the triangulation, therefore there is a spanning disk among the vectors, (2) finding a collection of fundamental vectors whose positive linear combinations span all spanning surfaces, and (3) one of these fundamental vectors will be the disk if there is one.
For your second question, it's because of the gluing conditions and boundary conditions, if I remember correctly. You need the normal coordinates for each tetrahedron to match up along faces, so then surfaces always continue from one tetrahedron to the next, and you need the normal coordinates to match a specific pattern in the boundary of the knot exterior (and you need to run the algorithm for each possible pattern -- though please correct me if I've misremembered).