Чтобы получить доказательство по индукции, мы должны сформулировать утверждение, показать, что оно верно в базовых случаях, сформулировать гипотезу, а затем показать, что утверждение верно для случаев следующего размера.
Нашеутверждение может быть «L (P) и L (S) содержат одинаковые строки длины n для всех натуральных n».
Наши базовые случаи могут быть наименьшими наименьшими строками на обоих языках: L (P) иL (S) оба содержат пустую строку, единственную строку нулевой длины;таким образом, утверждение верно для случая n = 0. И L (P), и L (S) содержат id, единственную строку на языке длины два (при условии, что i и d - разные символы; если id - один символ, то этистроки имеют длину один).Таким образом, утверждение имеет место до n = 2 (или n = 1, в зависимости от).
Мы можем использовать сильную индукцию, а не простую индукцию, следующим образом: L (P) и L (S) содержат всете же строки длиной до k.
Теперь мы должны показать, что для строк следующей наибольшей длины любая строка, содержащаяся в одном языке, содержится в другом, и наоборот.
- Пусть w будет строкой следующей за более высокой длины в L (P).Первым произведением, использованным для получения w, должно было быть P :: = (P), поскольку | w |> 2 (или | w |> 1), и мы уже рассмотрели меньшие случаи.Тогда w = (w '), где w' - строка в L (P) и | w '|<| w |.Но w имел следующую длину больше, чем k в L (P), поэтому w 'должно иметь длину, меньшую или равную k.Но тогда, по предположению индукции, w 'должно быть в L (P) и L (S).Таким образом, вывод S :: = (R :: = (S) :: = (w ') действителен и выдает w. Итак, w находится в L (S). </li>
- Пусть w - строкаследующей более высокой длины в L (S). Первая продукция, используемая для получения w, должна быть S :: = (R, а следующая продукция должна быть либо R :: =), либо R :: = S).Рассмотрим эти случаи отдельно.
- если вторым произведением был R :: =), то w = S :: = (R :: = (), который мы можем проверить, есть на обоих языках (или мы можем просто полагаться на индукционную гипотезу).
- если второе произведение было R :: = S), то w = S :: = (R :: = (S), поэтому w имеет вид (w '), где | w'| <| w |. Поскольку w имеет следующую большую длину, большую, чем k, w 'имеет длину, меньшую или равную k, и генерируется грамматикой для P. </li>