It's commonly stated in the literature that the free distance of a convolutional code is the minimum Hamming distance between the all-zero path and any other (non-all-zero) path in the trellis originating in the zero state and ending in the zero state. (The free distance of a code is defined as the minimum Hamming distance between any two distinct codewords.)
My question: Is this true in general? Or is it true only conditionally (e.g. when we assume that the code is terminated in the zero state)? If it's the latter, what's the condition for it to be true?
It appears to me that a sufficient condition is that the convolutional code is a linear block code. This includes the finite length "zero-tail" codes and "direct truncation" codes. The former refers to codes which include all paths that end in the zero state; the latter means the codes allow the paths to terminate in all possible states. Am I mistaken?
It's defined as the smallest distance as above. No other condition needed. For example, see the notes here: