Nella teoria dei linguaggi formali il pumping lemma per i linguaggi regolari è una condizione necessaria affinché un linguaggio sia regolare. Viene utilizzato per dimostrare che un linguaggio appartiene ad una classe di linguaggi formali differente da quella generata da grammatiche formali di Tipo 3.
Sia
un automa a stati finiti tale che
, sia
il linguaggio riconosciuto dall'automa e sia
tale che
,
È quindi possibile scrivere
con
e
e quindi
.
Dimostrazione
Sia
. Poiché
per accettare la stringa z l'automa deve assumere
stati (compreso quello iniziale), ma poiché l'automa possiede esattamente n stati distinti, per il principio dei cassetti, uno degli stati
(dove
è lo stato finale in cui la parola viene riconosciuta) deve comparire almeno due volte.
Si supponga che
, ovvero i due stati coincidano nell'insieme Q e sia v la sottostringa di z tale che
.
Poiché
e
, si ha che tutte le stringhe della forma
con
saranno riconosciute dall'automa, ovvero
.
Bibliografia
- (EN) Yehoshua Bar-Hillel, M. A. Perles, E. Shamir, On formal properties of simple phrase structure grammars, in Zeitschrift für Phonetik, Sprachwissenschaft und Kommunikationsforschung, vol. 14, 1961, pp. 143-172.
- (EN) John E. Hopcroft, Rajeev Motwani; Jeffrey D. Ullman, Properties of Regular Languages, in Introduction to Automata Theory, Languages, and Computation, Addison Wesley, 15 luglio 2006, ISBN 978-0-321-46225-1.
- (EN) Martin Davis, Ron Sigal; Elaine J. Weyuker, The Pumping Lemma and Its Applications, in Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science, Morgan Kaufmann, 17 febbraio 1994, ISBN 978-0-12-206382-4.
Voci correlate