Writing the answer forwards:
Since -1 <= sin x <= 1 for all x, ie. |sin x| <= 1, we know that |sin (n@ / 2)| <= 1 _______ (1)
Similarly, as |cos x| <= 1 for all x, we know that |cos[(n + 1)@ / 2]| <= 1 _______ (2)
Multiplying (1) by (2), we get |sin (n@ / 2)| * |cos[(n + 1)@ / 2]| <= 1
And so |sin (n@ / 2) * cos[(n + 1)@ / 2]| <= 1
Dividing both sides by |sin(@ / 2)| (provided this is non-zero) gives
|sin (n@ / 2) * cos[(n + 1)@ / 2]| / |sin(@ / 2)| <= 1 / |sin(@ / 2)|
|{sin (n@ / 2) * cos[(n + 1)@ / 2]} / sin(@ / 2)| <= |1 / sin(@ / 2)|
|{sin (n@ / 2) * cos[(n + 1)@ / 2]} / sin(@ / 2)| <= |cosec(@ / 2)|
But, from (c), {sin (n@ / 2) * cos[(n + 1)@ / 2]} / sin(@ / 2) = cos@ + cos(2@) + ... + cos(n@)
Thus, |cos@ + cos(2@) + ... + cos(n@)| <= |cosec(@ / 2)|, as required.
Using Proof by Contradiction:
Theorem: |cos@ + cos(2@) + ... + cos(n@)| <= |cosec(@ / 2)|
Proof: Assume the theorem is false.
It follows that |cos@ + cos(2@) + ... + cos(n@)| > |cosec(@ / 2)|
Now, from (c), we know that cos@ + cos(2@) + ... + cos(n@) = [sin(n@ / 2) / sin(@ / 2)] * cos[(n + 1)@ / 2]
and it then follows that |[sin(n@ / 2) / sin(@ / 2)] * cos[(n + 1)@ / 2]| > |cosec(@ / 2)|
and thus, by multiplying by |sin(@ / 2)|, we get |sin(n@ / 2) * cos[(n + 1)@ / 2]| > 1 _______ (A)
Now, since -1 <= sin x <= 1 for all x, ie. |sin x| <= 1, we know that |sin (n@ / 2)| <= 1 _______ (1)
Similarly, as |cos x| <= 1 for all x, we know that |cos[(n + 1)@ / 2]| <= 1 _______ (2)
Multiplying (1) by (2), we get |sin (n@ / 2)| * |cos[(n + 1)@ / 2]| <= 1
And so |sin(n@ / 2) * cos[(n + 1)@ / 2]| <= 1 _______ (B)
Statements (A) and (B) are contradictions. It follows that are assumption (that the theorem is false) must, itself, be false.
Thus, the theorem is true.