It remains to prove that the above method produces a normalised path as its output, given that the path P1 was normalised. The proof is basically a proof by contradiction; we show that if the output path of the algorithm is not normalised, then the input path must also have not been normalised.
Given that the input is
![]()
The output of the algorithm is a path P2, with the properties as shown in fig. 3.3
Any alias for P2 is an alias for P1 with b inserted at some point. So suppose we have a P3, an alias for P1
![]()
We must have
, as P1 is normalised. If P3 =
P1, then we clearly cannot insert b at a valid point in order to
decrease P3, so assume from now on that P3 > P1. This
gives us:-
![]()
![]()
![]()
Now suppose P'3 is P3 with b inserted at some point:
![]()
There are now several cases to consider depending on the relative sizes of (c,k,q). For each case we aim to show P'3 > P2, and conclude that P2 must be normalised.