THEOREM:
Let d be a block code with odd minimum distance d. Then C can correct up to (d-1)/2 errors.
Proof from wikipedia:
If no more than (d-1)/2 transmission errors occur, the receiver can uniquely decode the received word to a codeword as every received word has at most one codeword at distance (d-1)/2. On the other hand, if more than (d-1)/2 transmission errors occur, the receiver cannot uniquely decode the received word in general as there might be several possible codewords.
Sounds like a perfectly good explanation, but for some reason I am not getting it, even though I understand all the terms. Any help appreciated. (Specifically, I'm having trouble with the italized portion.)


You can think of it this way: suppose your received word $w$ is as close as $(d-1)/2$ to more than one codeword, and call two such codewords $c$ and $c'$. Then the distance from $c$ to $w$ is at most $(d-1)/2$, and the distance from $w$ to $c'$ is at most $(d-1)/2$, so the distance from $c$ to $c'$ is at most $(d-1)/2 + (d-1)/2 = d-1$. This contradicts your original assumption that any two codewords are at least $d$ apart.
In general, arguments that go like "the distance from $x$ to $y$ is at most $a$, and the distance from $y$ to $z$ is at most $b$, so the distance from $x$ to $z$ is at most $a+b$" are secretly using the triangle inequality: $d(x,z)\leq d(x,y)+d(y,z) \leq a+b$.