Выше вот немного уточнил, зачем мне это - для формальной постановки задачи с целевой функцией.
Ну, с моей низкой колокольни не видно, чем тут может помешать то, что функцию удобнее описать реализующим её алгоритмом.
Потом, формально-то функция описывается вообще-то проще некуда. Вот у вас алфавит

, строка

, «тестовая подстрока»

. Максимальное

, для которого существуют строки

такие что

, и есть значение интересующей функции. Это значение определно однозначно (разве что можно дописать, что для

равенство выше имеет вид

и всегда выполнимо). Можно придумать и другие, более изощрённые, определения — например, как число применений определённого правила определённой грамматики при порождении

.