Язык, генерируемый этой грамматикой, - a^(2n) b^(n+m+1)
, где n
и m
- натуральные числа. Чтобы показать это, (а) мы видим, что любая строка, полученная с использованием произведений грамматики, соответствует вышеуказанному, и (б) любая строка, соответствующая вышеприведенному, может быть получена с использованием произведений грамматики.
(a) Грамматика может и должна использовать правило (3) ровно один раз. Это дает +1
в количестве b
с. Выполнение правила (2) может происходить несколько раз n
, помещая 2n
a
с впереди и n
b
с сзади, следовательно, термины 2n
и n
. Правило (1) может быть выполнено любое количество раз m
, отсюда и термин.
(b) Дана строка a^(2n) b^(n+m+1)
для натуральных чисел n
и m
: используйте правило (1) количество раз, равное m
; затем используйте правило (2) количество раз, равное n
; затем пользовательское правило (3) один раз. Таким образом, грамматика порождает строку.
Другой способ написать тот же ответ - a^2n b^m
с m > n
.