Для произвольного слова X рассмотрим все его начала, одновременно являющиеся его концами, и выберем из них самое длинное. (Не считая, конечно, самого слова X .) Будем обозначать его l(X) .
Примеры: ,
,
,
.
10.3.1. Доказать, что все слова l(X) , l(l(X)) , l(l(l(X))) и т.д. являются началами слова X .
По той же причине все они являются концами слова X .
10.3.2. Доказать, что последовательность предыдущей задачи обрывается
(на пустом слове).
10.3.3. Доказать, что любое слово, одновременно являющееся началом
и концом слова X (кроме самого X ) входит в последовательность
Алгоритм Кнута-Морриса-Пратта