Writing Better Proofs Part 6: State Clearly

This post first appeared 28 May 2021.

This one is specifically for the students writing exams.

If you are asked to clearly state a result in your proof, do so.

I don’t like to give full proofs in this series, as I believe that these are general tips not tied to any particular subject. However, I think this one is most easily demonstrated with an example.

Consider this problem1:

Problem: Show that the minimum weight a BCH code with design distance \(\delta\) is at least \(\delta\).

[Results about the Van der Monde determinant may be quoted without proof, provided they are stated clearly.]

That you are given the hint to use the Van der Monde determinant should mean that the first thing done in your solution is to write out the result in full.

Solution: We recall the result on the Van der Monde matrix. For any \(\{x_1, x_2,\ldots,x_n\}\), we have \[ \begin{vmatrix} 1&1&\cdots&1\\x_1&x_2&\cdots&x_n\\\vdots&\vdots&\ddots&\vdots\\x_1^{n-1}&x_2^{n-1}&\cdots&x_n^{n-1} \end{vmatrix} = \prod_{1\le i< j\le n} (x_i - x_j). \]

Note how we state the result in full generality before we even start talking about BCH codes. We can then finish the proof:

Since BCH codes are linear, the minimum distance is exactly the minimum weight of a codeword. The check matrix of this code is \[ A = \begin{pmatrix} 1&\omega&\omega^2&\cdots&\omega^{n-1}\\1&\omega^2&\omega^4&\cdots&\omega^{2(n-1)}\\\vdots&\vdots&\vdots&\ddots&\vdots\\1&\omega^{\delta-1}&\omega^{2(\delta-1)}&\cdots&\omega^{(n-1)(\delta-1)} \end{pmatrix}. \] Hence any codeword is a linear relation between columns of \(A\). However, any \(\delta-1\) columns of \(A\) form a matrix which is a Van der Monde matrix up to a scaling of the columns2. Since \(\omega\) is a primitive \(n\)-th root of unity, these are all distinct and hence the result on the determinant shows that this matrix is non-degenerate. Hence no codeword has weight less than \(\delta\).

Notice how we state the result up front and then use it during the proof. By separating these, we ensure that when we need the result, it has already been stated clearly, and we don’t need to interrupt the flow of the solution.

Avoid the oft-repeated habit of writing out the “interesting” proof first and then either using large arrows or \(\dagger\) symbols to direct the reader to insert paragraphs written at the end.

You should also avoid trivialising the result to attempt to intimidate the marker into thinking that its not important (e.g. “this is clearly a Van der Monde matrix and its well known that the determinant doesn’t vanish”).


In the end, clearly stating results you are asked to clearly state is possibly the easiest way to get marks on a question. Don’t throw them away.


This is part of a series on writing better proofs. The pages in the series are not static and will be updated and improved as time goes on. If you have comments or suggestions, please email me. I’d be particularly interested in hearing if you disagree with me or have suggestions for topics to cover.


  1. Don’t worry if you don’t know what the terms mean - it’s more the shape of the proof that matters ↩︎

  2. Really one should spell this out, but its not important for this post. ↩︎