Определение 4.2.1. Гомоморфизм
называется побуквенным (length-preserving), если |h(a)| = 1 для каждого .
Замечание 4.2.2. Гомоморфизм
является побуквенным тогда и только тогда, когда |h(w)| = |w| для каждого слова .
Определение 4.2.3.
Язык
называется локальным, если существуют такие языки , , , что
содержат только однобуквенные слова;
содержит только двухбуквенные слова;
Лемма 4.2.4.
Каждый локальный язык является автоматным.
Очевидно, что языки L1, L2 и L3
в определении 4.2.3 являются конечными. Остается применить замечание 2.1.19 и теоремы 3.1.1 и 3.2.1 (напомним, что разность языков выражается через пересечение и дополнение).
Теорема 4.2.5.
Пусть L - язык над алфавитом
и L не содержит пустого слова. Язык L является автоматным тогда и только тогда, когда существуют такие алфавит , локальный язык
и побуквенный гомоморфизм , что L = h(L0).
Доказательство. Достаточность следует из леммы 4.2.4 и теоремы 4.1.1.
Для доказательства необходимости рассмотрим конечный автомат
с однобуквенными переходами, задающий язык L. В качестве алфавита
возьмем множество . Положим
и
для каждого .
Пример 4.2.6.
Пусть . Рассмотрим конечный автомат M2
из примера 3.1.3 и обозначим L = L(M2). Применим конструкцию из доказательства теоремы 4.2.5 к языку L. Для удобства заменим
на d,
на e и
на f. Получим алфавит
и локальный язык
Можно доказать, что
Побуквенный гомоморфизм h задается равенствами ,
и . Легко проверить, что действительно L = h(L0).
Упражнение 4.2.7. Пусть . Существует ли такой побуквенный гомоморфизм , что h(abc) = bac и h(da) = da?}
Упражнение 4.2.8. Является ли локальным язык
над алфавитом ?
Упражнение 4.2.9. Является ли локальным язык
над алфавитом ?
Упражнение 4.2.10. Является ли локальным язык
над алфавитом ?