Как работает функция "canonize" (приведенная ниже, из бумаги Укконена), и в частности, когда цикл while завершен? Я думаю, что значение p '- k' всегда будет меньше, чем значение p - k. Правильно или неправильно?
procedure canonize(s, (k, p)):
1. if p < k then return (s, k)
2. else
3. find the tk–transition g'(s, (k', p')) = s' from s;
4. while p' − k' <= p − k do
5. k = k + p' − k' + 1;
6. s = s';
7. if k <= p then find the tk–transition g'(s, (k', p')) = s' from s;
8. return (s, k).