Pumping lemma per i linguaggi regolari

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.

Definizione formale modifica

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 modifica

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 modifica

  • (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 modifica