Teoria degli Automi Finiti [1 ed.] 978-88-470-5473-8, 978-88-470-5474-5 [PDF]

Gli Automi sono modelli matematici di macchine digitali di grande interesse sia dal punto di vista teorico che applicati

131 44 2MB

Italian Pages 323 [328] Year 2013

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Front Matter....Pages i-xi
Teoria dei Semigruppi....Pages 1-41
Relazioni di Green....Pages 43-63
Semigruppi e monoidi liberi....Pages 65-115
Automi finiti....Pages 117-178
Equivalenza di automi....Pages 179-200
Espressioni razionali e Star-height....Pages 201-243
Relazioni razionali....Pages 245-284
Back Matter....Pages 285-323

Teoria degli Automi Finiti [1 ed.]
 978-88-470-5473-8, 978-88-470-5474-5 [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Aldo de Luca Flavio D’Alessandro

ABC

NITEXT

Teoria degli Automi Finiti

UNITEXT – La Matematica per il 3+2 Volume 68

For further volumes: http://www.springer.com/series/5418

Aldo de Luca · Flavio D’Alessandro

Teoria degli Automi Finiti

~Springer

Aldo de Luca Dipartimento di Matematica e Applicazioni “R. Caccioppoli” Università di Napoli “Federico II” Napoli

UNITEXT – La Matematica per il 3+2 ISSN versione cartacea: 2038-5722 ISBN 978-88-470-5473-8 DOI 10.1007/978-88-470-5474-5

Flavio D’Alessandro Dipartimento di Matematica “G. Castelnuovo” Università di Roma “La Sapienza” Roma

ISSN versione elettronica: 2038-5757 ISBN 978-88-470-5474-5 (eBook)

Springer Milan Heidelberg New York Dordrecht London © Springer-Verlag Italia 2013 Quest’opera è protetta dalla legge sul diritto d’autore e la sua riproduzione è ammessa solo ed esclusivamente nei limiti stabiliti dalla stessa. Le fotocopie per uso personale possono essere effettuate nei limiti del 15% di ciascun volume dietro pagamento alla SIAE del compenso previsto dall’art. 68. Le riproduzioni per uso non personale e/o oltre il limite del 15% potranno avvenire solo a seguito di specifica autorizzazione rilasciata da AIDRO, Corso di Porta Romana n. 108, Milano 20122, e-mail [email protected] e sito web www.aidro.org. Tutti i diritti, in particolare quelli relativi alla traduzione, alla ristampa, all’utilizzo di illustrazioni e tabelle, alla citazione orale, alla trasmissione radiofonica o televisiva, alla registrazione su microfilm o in database, o alla riproduzione in qualsiasi altra forma (stampata o elettronica) rimangono riservati anche nel caso di utilizzo parziale. La violazione delle norme comporta le sanzioni previste dalla legge. L’utilizzo in questa pubblicazione di denominazioni generiche, nomi commerciali, marchi registrati, ecc. anche se non specificatamente identificati, non implica che tali denominazioni o marchi non siano protetti dalle relative leggi e regolamenti. 9 8 7 6 5 4 3 2 1 Layout di copertina: Beatrice B., Milano Impaginazione: PTP-Berlin, Protago TEX-Production GmbH, Germany (www.ptp-berlin.eu) Stampa: Grafiche Porpora, Segrate (MI)

Springer-Verlag Italia S.r.l., Via Decembrio 28, I-20137 Milano Springer-Verlag fa parte di Springer Science+Business Media (www.springer.com)

Prefazione

La teoria degli Automi è nata in relazione a due problematiche completamente diverse. La prima sviluppatasi nell’ambiente logico-matematico riguarda la formalizzazione nel modo più generale possibile della nozione di algoritmo. Contributi fondamentali in questa direzione sono stati dati verso la fine degli Anni ’30 da logici quali A.M. Turing, A. Church e S.C. Kleene. La seconda problematica ebbe origine verso la metà degli Anni ’40 ad opera del neurofisiologo W. McCulloch e del matematico W. Pitts in un ambito che potremmo definire Cibernetico. Essa riguardava la possibilità di fornire una descrizione matematica del funzionamento delle cellule nervose, o neuroni, e delle reti di neuroni. Dai due predetti filoni di ricerca nacquero e si svilupparono due teorie di grande interesse sia per la Matematica che per la scienza del calcolo, o Informatica. La prima è la teoria generale della calcolabilità basata sulla nozione di Automa, o Macchina, di Turing, la seconda è la teoria degli Automi finiti. La differenza fondamentale tra gli Automi di Turing e gli Automi finiti risiede nella capacità di memoria. Questa è potenzialmente infinita nelle macchine di Turing nel senso che può accrescersi quanto si vuole se le esigenze di calcolo lo richiedono, mentre è fissa nel caso degli automi finiti. A partire dal lavoro di McCulloch e Pitts la teoria degli Automi finiti ebbe un grande sviluppo sul piano matematico. Un primo passo fondamentale dovuto a Kleene fu quello di presentare una nozione astratta di automa svincolandola dal linguaggio delle reti neurali. Egli tra l’altro dimostrò un teorema fondamentale della teoria cioè la coincidenza della classe dei linguaggi (o eventi) riconoscibili da parte di un automa finito e la classe dei linguaggi razionali (o eventi regolari). Successivamente apparvero nella letteratura oggetti matematici denominati Automa di Mealy e Automa di Moore che riproducevano con qualche variante o tentativo di maggiore rigore formale l’idea fondamentale del lavoro di Kleene. Il primo lavoro che può ritenersi una esposizione chiara ed abbastanza esauriente della teoria degli Automi finiti è l’articolo di M.O. Rabin e D. Scott del 1959. Stabiliti i risultati fondamentali della teoria, successivamente si è cercato di dare ad essi una veste sempre più matematica svincolata al massimo dal linguaggio ingegne-

vi

Prefazione

resco della teoria delle macchine digitali. Verso la metà degli Anni ’60 si comprese ad opera di matematici quali M.P. Schützenberger, R. McNaughton e S. Eilenberg che il linguaggio matematico adatto a descrivere gli automi finiti è la teoria dei semigruppi e dei monoidi. Da questo punto di vista un automa finito può essenzialmente ridursi ad un morfismo di un monoide libero in un monoide finito ed il teorema di Kleene può interpretarsi quale un profondo teorema di teoria dei monoidi. In questo volume si fornisce una presentazione rigorosa della teoria degli automi finiti e delle macchine sequenziali generalizzate nell’ambito della teoria algebrica dei semigruppi. Si noti che quest’ultima teoria non è adatta a descrivere le macchine di Turing o macchine di potenza intermedia tra gli automi finiti e le macchine di Turing. Il volume è nato ed è cresciuto raccogliendo materiale didattico sviluppato nei corsi di Lezioni di Algebra Superiore e di Informatica Teorica tenuti dal secondo autore (A. de Luca) rispettivamente presso le Università di Napoli (1980-85) e di Roma La Sapienza (1985–2003) e nel corso di Teoria degli Automi tenuto dal primo autore (F. D’Alessandro) presso l’Università di Roma “La Sapienza” (dal 2003 ad oggi). Il volume si articola in sette capitoli. Ogni capitolo ha una breve introduzione, una sezione di esercizi ed una di note bibliografiche. La risoluzione della maggior parte degli esercizi è riportata alla fine del volume. I primi tre capitoli trattano alcune parti della teoria dei semigruppi che sono di interesse per la teoria degli automi. Nel Capitolo 1 oltre alle nozioni di base di teoria dei semigruppi, si introducono le famiglie delle parti riconoscibili e razionali di un semigruppo e le nozioni di congruenza sintattica e di equivalenza di Nerode di una parte di un semigruppo. Il Capitolo 2 è dedicato alla teoria di Green dei semigruppi. Il Capitolo 3 riguarda la teoria dei semigruppi liberi e dei codici. Si introducono la nozione di linguaggio formale e le operazioni fondamentali sui linguaggi. I capitoli dal quarto al settimo sono dedicati alla trattazione di alcune problematiche di fondamentale importanza nella teoria degli automi. Il Capitolo 4 è dedicato allo studio della riconoscibilità e della razionalità dei linguaggi. Si dimostrano i teoremi fondamentali di Kleene e di Myhill-Nerode. Si fornisce una caratterizzazione dei linguaggi riconoscibili in termini di grammatiche. Si considerano inoltre i codici razionali, gli automi sincronizzanti e gli automi a due vie. Nel Capitolo 5 si studia l’equivalenza di automi e l’automa minimale di un linguaggio razionale. Il Capitolo 6 tratta delle espressioni razionali ristrette ed estese e dei problemi della profondità dell’operatore stella. Si dimostrano due teoremi fondamentali. Il primo di F. Dejean e Schützenberger sulla profondità dell’operatore stella per i linguaggi razionali descritti da espressioni razionali ristrette e il secondo di Schützenberger sui linguaggi aperiodici e i linguaggi razionali descritti da espressioni razionali estese senza stella. Il Capitolo 7 è dedicato alla teoria delle relazioni razionali e alle macchine sequenziali generalizzate (o trasduttori razionali). Si fornisce infine un breve lineamento della teoria della decomposizione degli automi e dei semigruppi di K. Krohn e J.L. Rhodes. Uno degli obiettivi del volume è quello di far conoscere e di diffondere la teoria algebrica degli automi nel mondo matematico italiano. Un secondo obiettivo è quello di fornire, agli studenti dei corsi di laurea magistrale in Matematica, in Informatica ed in Ingegneria, un testo in grado di presentare gli automi finiti utilizzando un linguaggio matematico rigoroso. Il testo si rivolge parimenti agli studenti dei corsi di

Prefazione

vii

dottorato e di master in Matematica, in Informatica ed in Ingegneria, interessati ai risultati fondamentali della teoria. La lettura del volume presuppone solo conoscenze elementari di Algebra. Napoli e Roma, maggio 2013

Aldo de Luca Flavio D’Alessandro

Indice

1

Teoria dei Semigruppi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Semigruppi e monoidi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Relazioni e funzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Sottosemigruppi e sottomonoidi. Sottosemigruppi generati . . . . . . . . 1.4 Semigruppo monogenico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Morfismi e congruenze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.1 Morfismi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.2 Congruenze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 Congruenza di Rees e congruenza sintattica . . . . . . . . . . . . . . . . . . . . . 1.7 Parti riconoscibili di un semigruppo . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8 Parti razionali di un semigruppo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9 Semianelli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.10 Ideali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.10.1 Ideali generati da una parte di un semigruppo . . . . . . . . . . . . . 1.10.2 Costanti e coppie sincronizzanti . . . . . . . . . . . . . . . . . . . . . . . . 1.11 Relazioni binarie ed operatori di chiusura . . . . . . . . . . . . . . . . . . . . . . 1.12 Reticolo delle congruenze di un semigruppo . . . . . . . . . . . . . . . . . . . . 1.13 Cenni di algebra universale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.14 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.15 Note bibliografiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 5 7 8 10 10 13 16 18 21 23 25 25 27 28 31 33 38 40

2

Relazioni di Green . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Teoria di Green dei semigruppi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Teoremi di struttura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 D-classi regolari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Ideale minimale di un semigruppo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Note bibliografiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43 43 48 54 57 62 63

3

Semigruppi e monoidi liberi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Semigruppi e monoidi liberi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

65 66

x

Indice

3.2 3.3

Sottomonoidi di monoidi liberi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Codici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Teorema di Sardinas e Patterson . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Disuguaglianza di Kraft-McMillan . . . . . . . . . . . . . . . . . . . . . . 3.3.3 Codici massimali e completi . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.4 Codici sincronizzanti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Morfismi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Presentazione di semigruppi e di monoidi . . . . . . . . . . . . . . . . . . . . . . 3.5.1 Il monoide commutativo libero . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.2 Il monoide biciclico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Parole e linguaggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.1 Parole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.2 Ordinamenti nei monoidi liberi . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.3 Rappresentazione degli interi . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.4 Linguaggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.5 Famiglie di linguaggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8 Note bibliografiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

71 75 77 80 84 90 92 95 96 97 98 99 102 105 106 107 113 114

4

Automi finiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Semiautomi finiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Automi finiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Teoremi di Myhill e di Nerode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Alcune proprietà di chiusura di Ric(A∗ ) . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Linguaggi non riconoscibili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Proprietà di iterazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 Il monoide delle transizioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8 Automi incompleti e non deterministici . . . . . . . . . . . . . . . . . . . . . . . . 4.9 Chiusura di Ric(A∗ ) rispetto al prodotto e all’operazione stella . . . . . 4.10 Chiusura di Ric(A∗ ) rispetto all’operazione di shuffle . . . . . . . . . . . . . 4.11 Teorema di Medvedev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.12 Teorema di Kleene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.13 Grammatiche regolari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.14 Codici razionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.15 Automi sincronizzanti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.16 Automi a due vie. Teorema di Rabin e Shepherdson . . . . . . . . . . . . . . 4.17 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.18 Note bibliografiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

117 118 121 124 126 129 131 135 138 144 145 148 149 152 155 160 167 175 176

5

Equivalenza di automi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Congruenze di semiautomi ed automi . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Automa connesso e minimale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Morfismi di semiautomi ed automi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Morfismi di semiautomi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2 Morfismi di automi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

179 180 182 184 184 186

Indice

5.4 5.5 5.6 5.7 5.8 5.9

xi

Equivalenza di automi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Automa minimale e teorema di equivalenza . . . . . . . . . . . . . . . . . . . . . Calcolo dell’automa minimale e del monoide sintattico . . . . . . . . . . . Metodo dei resti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Note bibliografiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

187 189 193 195 199 200

6

Espressioni razionali e Star-height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Espressioni razionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Identità razionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Espressioni razionali estese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Star-height delle espressioni razionali . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 Teorema di Dejean-Schützenberger . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6 Star-height generalizzata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7 Linguaggi senza stella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.1 Linguaggi aperiodici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.2 Monoidi aperiodici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.3 Teorema di Schützenberger . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.8 Il problema della star-height estesa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.9 Linguaggi localmente testabili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10 Linguaggi testabili a pezzi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.11 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.12 Note bibliografiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

201 202 204 206 209 212 220 221 221 222 226 230 230 238 242 242

7

Relazioni razionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Oltre il teorema di Kleene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Relazioni razionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Trasduttori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4 Trasduttori e funzioni sequenziali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5 Teorema di Elgot e Mezei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.6 Il teorema di cross-section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.7 Decomposizione di automi e semigruppi . . . . . . . . . . . . . . . . . . . . . . . 7.8 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.9 Note bibliografiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

245 246 252 257 260 262 267 272 283 283

Esercizi svolti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Riferimenti bibliografici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Indice analitico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

1 Teoria dei Semigruppi

In questo capitolo, a carattere prevalentemente introduttivo, presenteremo anzitutto (Sez. 1.1–1.6) alcuni concetti di base e dimostreremo alcune proposizioni elementari di teoria dei semigruppi e dei monoidi che saranno utilizzate nel resto del volume. Nelle Sezioni 1.7 e 1.8, si introdurrà per ogni semigruppo S (o monoide) la famiglia Ric(S) delle sue parti riconoscibili e la famiglia Rat(S) delle sue parti razionali e si dimostreranno alcune notevoli proprietà di chiusura di tali famiglie di parti. Si dimostrerà inoltre un teorema, dovuto a Myhill e Nerode, che collega la proprietà di riconoscibilità di una parte X di S alla finitezza del semigruppo sintattico S(X) di X e alla finitezza dell’indice dell’equivalenza di Nerode associata ad X. Tale teorema, come vedremo nel Capitolo 4, sarà di grande interesse nella teoria degli automi finiti. Nelle Sezioni 1.9 e 1.10 si introdurranno i semianelli e gli ideali; la teoria degli ideali sarà ripresa nel Capitolo 2 dove si presenterà la teoria delle relazioni di Green. Le Sezioni 1.11 e 1.12 sono dedicate allo studio del semianello delle relazioni binarie su un dato insieme e ad alcuni operatori di chiusura che, come vedremo nel Capitolo 3, intervengono sia nella teoria della presentazione dei semigruppi che nella teoria dei linguaggi formali. Un caso particolare di grande interesse si ha quando le relazioni sono equivalenze e congruenze. Infine, nella Sezione 1.13 si parlerà, sia pure molto brevemente, di algebre universali in modo da sottolineare e poter in seguito utilizzare, concetti e risultati generali di natura algebrica che non dipendono dal particolare tipo di algebra.

1.1 Semigruppi e monoidi Sia S un insieme e f un’operazione binaria chiusa in S, cioè un’applicazione f : S × S → S. Per l’operazione f si utilizza spesso una notazione moltiplicativa oppure una notazione additiva. Se (s,t) ∈ S × S nel primo caso si pone f (s,t) = st e nel secondo A. de Luca, F. D’Alessandro: Teoria degli Automi Finiti, UNITEXT – La Matematica per il 3+2 68, DOI 10.1007/978-88-470-5474-5_1, © Springer-Verlag Italia 2013

2

1 Teoria dei Semigruppi

f (s,t) = s + t. Nel seguito utilizzeremo, salvo avviso contrario, per f sempre la notazione moltiplicativa. Si definisce gruppoide G (o magma) la coppia G = [S, f ]. L’insieme S è detto anche il supporto di G. Se l’operazione f gode della proprietà associativa, cioè per ogni x, y, z ∈ S (xy)z = x(yz) allora il gruppoide è detto semigruppo. Nel seguito parlando di un semigruppo S, o di altre strutture algebriche, ci si riferirà al supporto trascurando le operazioni. È questo un abuso di linguaggio che serve a non appesantire le notazioni. Sia S un semigruppo. Il prodotto di n elementi s1 , s2 , . . . , sn di S può definirsi, induttivamente, come: s1 s2 . . . sn = s1 (s2 . . . sn ). Tuttavia a causa della proprietà associativa il risultato del prodotto non dipende dalla dislocazione delle parentesi. Così ad esempio si verifica che: s1 s2 s3 s4 = (((s1 s2 )s3 )s4 ) = (s1 s2 )(s3 s4 ) = s1 (s2 (s3 s4 )) = s1 (s2 s3 s4 ). Più precisamente un semigruppo soddisfa la legge di associatività generale espressa dalla seguente proposizione: Proposizione 1.1. Sia S un semigruppo S. Se per ogni n ≥ 1 e s1 , s2 , . . . , sn ∈ S, si definisce s1 s2 · · · sn = s1 (s2 · · · sn ), allora quale che sia un’espressione α significativa ottenuta inserendo parentesi nella successione s1 , s2 , . . . , sn si ha che il valore di α uguaglia s1 s2 · · · sn . Dimostrazione. La dimostrazione si effettua per induzione su n. Il risultato è banale per n ≤ 2. Sia n ≥ 3 e supponiamo il risultato vero fino a n − 1. L’espressione α potrà scriversi come un prodotto β γ dove β e γ sono espressioni significative di lunghezza < n. Quindi per l’ipotesi di induzione esiste un r, 1 ≤ r < n tale che

β = (s1 s2 · · · sr ) = (s1 (s2 · · · sr )) e γ = (sr+1 · · · sn ). Pertanto in base alla associatività

α = β γ = (s1 (s2 · · · sr ))γ = s1 ((s2 · · · sr )γ ), cosicché (s2 · · · sr )γ = (s2 · · · sr )(sr+1 · · · sn ) = s2 · · · sn e α = s1 (s2 · · · sn ) = s1 s2 · · · sn .

 

Sia S un semigruppo e s un suo elemento. Per ogni n > 0 si definisce la potenza n-ma di s, induttivamente, al seguente modo: s1 = s e per n > 1, sn = ssn−1 .

1.1 Semigruppi e monoidi

3

Un semigruppo M si dice monoide se esiste un elemento identità 1 per l’operazione di prodotto, cioè per ogni elemento m ∈ M si ha: m1 = 1m = m. Si verifica che un monoide ammette un unico elemento identità. Infatti se 1 fosse un altro elemento identità per M si avrebbe: 1 1 = 11 = 1 = 1. Un elemento m di un monoide M si dice invertibile se esiste m ∈ M tale che: mm = m m = 1. L’ elemento m si dice elemento inverso di m. Si verifica che un elemento m ∈ M può ammettere un unico inverso. Siano, infatti, m e m due elementi inversi di m. Si ha allora m = (m m)m = m (mm ) = m . Un monoide G tale che ogni suo elemento è invertibile è detto gruppo. In tal caso, per ogni g ∈ G, l’elemento inverso di G si denota g−1 . Si verifica facilmente che l’insieme degli elementi invertibili di un monoide è un gruppo. Sia S un semigruppo tale che Card(S) > 1. Un elemento, che denoteremo con 0, si dice zero per S se per ogni s ∈ S, s0 = 0s = 0. Si verifica subito che se S possiede uno zero questo è unico. Nel seguito denoteremo con S1 il semigruppo definito come segue: S1 = S, se S possiede l’identità e S1 = S ∪ {1}, dove 1 è un elemento tale che per ogni s di S, s1 = 1s = s, se S non possiede l’identità. Similmente con S0 si denoterà il semigruppo che si ottiene da S aggiungendo un elemento 0 se S non possiede lo zero, S0 = S altrimenti. L’uso dei semigruppi S1 e S0 è utile, come vedremo nel seguito, per dare compattezza e semplicità a formule ed enunciati. Un elemento e di un semigruppo S si dice idempotente se e = e2 . Ciò comporta che per ogni n > 0, e = en . Se S è un monoide allora la sua identità è un idempotente. Un elemento f ∈ S è detto divisore (o fattore) di un elemento s ∈ S se esistono x, y ∈ S1 tali che s = x f y. Se x = 1 (risp. y = 1) allora f si dice divisore sinistro (risp. destro). Si dice che f è un divisore proprio di s se f è un divisore di s e f = s. Un semigruppo S si dice cancellativo a sinistra (risp. a destra) se per ogni s,t1 ,t2 ∈ S si ha: st1 = st2 =⇒ t1 = t2 (risp. t1 s = t2 s =⇒ t1 = t2 ). S si dirà cancellativo se è cancellativo a sinistra e a destra. Ogni semigruppo immerso in un gruppo è ovviamente cancellativo. Un semigruppo S si dice commutativo o abeliano se l’operazione di prodotto definita in S è commutativa.

4

1 Teoria dei Semigruppi

Si definisce ordine di un semigruppo S la cardinalità del supporto di S. I seguenti insiemi N (= insieme degli interi non negativi), N+ (= insieme degli interi positivi), R0 (= insiemi dei reali non negativi), R+ (= insieme dei reali positivi) sono esempi di semigruppi sia rispetto all’operazione di somma che di prodotto. Inoltre si osservi che N è un monoide (additivo) abeliano rispetto alla somma con elemento identità dato dall’intero 0 e un monoide (moltiplicativo) abeliano rispetto al prodotto con elemento identità dato dall’intero 1 ed elemento zero dato dall’intero 0. Simili considerazioni possono farsi per R0 . Sia S un semigruppo e P(S) l’insieme delle sue parti. Si può estendere in modo naturale l’operazione di prodotto alle parti al seguente modo. Per ogni X,Y ∈ P(S) si definisce XY = {xy ∈ S | x ∈ X, y ∈ Y }. Se X = {x}, x ∈ S, l’insieme {x} è detto singleton. Il prodotto {x}Y si denoterà semplicemente xY . Si verifica facilmente che per ogni X,Y, Z ∈ P(S) (XY )Z = X(Y Z), cosicché P(S) è un semigruppo detto semigruppo delle parti di S. Siano S1 e S2 semigruppi. Si definisce prodotto diretto di S1 e S2 il semigruppo, denotato S1 × S2 , il cui supporto è l’insieme {(s1 , s2 ) | s1 ∈ S1 , s2 ∈ S2 } e l’operazione di prodotto è indotta dalle operazioni di prodotto di S1 e S2 . Più precisamente, il prodotto (s1 , s2 )(s 1 , s 2 ) con s1 , s 1 ∈ S1 e s2 , s 2 ∈ S2 è dato da (s1 , s2 )(s 1 , s 2 ) = (s1 s 1 , s2 s 2 ). Tale prodotto è associativo poiché tali risultano essere il prodotto in S1 e quello in S2 . Se S1 e S2 sono monoidi M1 e M2 , con elementi identità 1M1 e 1M2 rispettivamente, allora il prodotto diretto M1 × M2 è un monoide con elemento identità dato da (1M1 , 1M2 ). Sia A un insieme non vuoto di cardinalità r che chiameremo alfabeto e Fr (A) l’insieme di tutte le successioni di lunghezza finita di simboli di A. Gli elementi di A sono detti lettere e quelli Fr (A) parole su A. Se u e v sono parole: u = a1 a2 · · · an , v = b1 b2 · · · bm , ai , b j ∈ A (i = 1, . . . , n; j = 1, . . . , m) si definisce prodotto (o concatenazione) di u e v la parola uv data da: uv = a1 a2 · · · an b1 b2 · · · bm . La precedente operazione di prodotto è associativa cosicché Fr (A) è un semigruppo detto anche semigruppo libero su A. Il termine libero è legato al fatto, come vedremo in seguito (vedi Cap. 3), che ogni parola su A si fattorizza in un unico modo mediante gli elementi di A. Il monoide Fr (A)1 è detto monoide libero su A. L’elemento identità 1 è detto anche parola vuota e si suole spesso denotare con ε .

1.2 Relazioni e funzioni

5

1.2 Relazioni e funzioni Siano X e Y insiemi. Una relazione ρ da X in Y è un qualsiasi sottoinsieme di X ×Y . Se (x, y) ∈ ρ si scriverà anche x ρ y. Si definiscono poi dominio di ρ e codominio di ρ gli insiemi, che si denotano Dom ρ e Codom ρ , definiti da: Dom ρ = {x ∈ X | ∃ y ∈ Y : x ρ y }, Codom ρ = {y ∈ Y | ∃ x ∈ X : x ρ y }. Per ogni x ∈ X, si denota con xρ , o con ρ (x), l’insieme xρ = {y ∈ Y | x ρ y}. Talvolta si usa per xρ anche la notazione ρ x. Se X è un sottoinsieme di X si porrà X ρ =



xρ .

x∈X

Si usa per X ρ anche la notazione ρ (X ). Se ρ ⊆ X ×Y si denoterà con ρ −1 la relazione da Y in X detta relazione inversa di ρ , definita come:

ρ −1 = {(y, x) ∈ Y × X | (x, y) ∈ ρ }. Siano ρ ⊆ X ×Y e σ ⊆ Y × Z due relazioni, la prima da X in Y e la seconda da Y in Z rispettivamente. Il prodotto, o composizione, ρσ delle due relazioni ρ e σ è la relazione ρσ ⊆ X × Z definita da: x ρσ z se e solo se ∃ y ∈ Y : x ρ y e y σ z. Una relazione ϕ ⊆ X × Y si dice funzione parziale da X in Y se, per ogni x ∈ X e y1 , y2 ∈ Y, si ha: x ϕ y1 e x ϕ y2 =⇒ y1 = y2 . Si verifica facilmente che se ϕ ⊆ X × Y e ψ ⊆ Y × Z sono funzioni parziali il prodotto, o composizione, ϕψ , di ϕ e ψ , è una funzione parziale da X in Z. Per ogni x ∈ Dom(ϕψ ) si ha xϕψ = ψ (ϕ (x)). Si noti che per la composizione di due funzioni si utilizza spesso oltre alla notazione ϕψ di prodotto di relazioni anche la notazione ψ ◦ ϕ. Una funzione parziale si dice totale, o semplicemente funzione, se Dom ϕ = X. Si usa per una funzione da X in Y , detta anche applicazione di X in Y , la notazione ϕ : X → Y . Per ogni x ∈ X, ϕ (x) (o xϕ ) è costituito da un unico elemento detto immagine di x mediante ϕ . Una funzione ϕ : X → Y si dice iniettiva se per ogni x, y ∈ X, l’uguaglianza ϕ (x) = ϕ (y) implica x = y.

6

1 Teoria dei Semigruppi

Una funzione ϕ : X → Y si dice da X su Y , o suriettiva, se per ogni y ∈ Y esiste un elemento x ∈ X tale che ϕ (x) = y, ovvero Codom ϕ = ϕ (X) = Y . Una funzione iniettiva e suriettiva è detta biiettiva. Una funzione biiettiva ϕ : X → Y si dice biiezione tra X e Y oppure biiezione da X su Y . Se ϕ : X → Y è una biiezione da X su Y allora la relazione inversa ϕ −1 è una funzione ϕ −1 : Y → X avendosi ϕϕ −1 = idX , dove idX : X → X è la funzione identità definita come segue: per ogni x ∈ X, idX (x) = x. Sia f : X → Y una funzione da X in Y . Se Z ⊆ X si dice restrizione di f a Z la funzione f1 : Z → Y tale che f1 (z) = f (z) per ogni z ∈ Z. Se Z ⊇ X si dice estensione di f a Z una qualsiasi funzione f2 : Z → Y la cui restrizione a X coincide con f . Se f (X) ⊆ Z ⊆ Y si dice ridotta di f a Z la funzione f3 : X → Z tale che f3 (x) = f (x) per ogni x ∈ X. Quando non vi sono ambiguità si adopererà per la restrizione, l’estensione e la ridotta di una funzione f lo stesso simbolo funzionale f . Sia ρ ⊆ X × Y una relazione da X in Y . A ρ si può associare una funzione ρ : X −→ P(Y ) definita per ogni x ∈ X come:

ρ(x) = ρ (x).

(1.1)

La funzione ρ può essere estesa a P(X) ponendo, per ogni Z ⊆ X,

ρ(Z) =



ρ(z).

z∈Z

In base alla (1.1) dare la relazione ρ o la funzione ρ è perfettamente equivalente; l’applicazione ρ viene detta trasduzione da X in Y (vedi Cap. 7) e si denota, quando non vi è ambiguità, ancora con ρ . Viceversa se τ : X −→ P(Y ) è un’applicazione di X nell’insieme delle parti di Y si definisce grafo di τ la relazione τ0 = {(x, y) ∈ X ×Y | y ∈ τ (x)}. Si ha evidentemente che τ0 = τ . Una relazione da X in X è detta anche relazione binaria su X, o in X. Denoteremo con R(X) l’insieme di tutte le relazioni binarie su X. Si verifica che il prodotto di relazioni in R(X) è associativo, cioè per ogni ρ , σ e τ ∈ R(X) si ha (ρσ )τ = ρ (σ τ ). Inoltre la relazione identità ι definita come x ι y se e solo se x = y è tale che:

ρι = ιρ = ρ per ogni relazione binaria ρ in X. Pertanto l’insieme R(X) di tutte le relazioni binarie su X è un monoide. Si noti inoltre che il sottoinsieme vuoto 0/ di X × X è l’elemento zero di R(X). Ricordiamo che un insieme X assieme ad una relazione binaria ρ in X costituisce un grafo orientato. Gli elementi di X sono detti nodi (o vertici). Un elemento (x, y) ∈ ρ è detto arco orientato (orientato da x verso y). Un grafo G = (X, ρ ) può rappresentarsi, come dice il termine grafo, mediante un disegno dove i nodi sono in-

1.3 Sottosemigruppi e sottomonoidi. Sottosemigruppi generati

7

dicati mediante dei punti, o circoletti, e gli archi mediante tratti di linea retta o curva. Un arco congiunge il nodo x con il nodo y con il verso da x a y se e solo se (x, y) ∈ ρ . Sia F(X) il sottoinsieme di R(X) costituito da tutte le funzioni da X in X. Il prodotto di funzioni è associativo ed ha come elemento identità la funzione identità idX che denoteremo semplicemente con id. La funzione id coincide con la relazione ι . Pertanto F(X) è un monoide detto anche monoide delle funzioni, o delle trasformazioni, su X. L’insieme FP(X) di tutte le funzioni parziali da X in X è anch’esso un monoide come si verifica facilmente (vedi Eser. 1.1). L’insieme degli elementi invertibili di F(X) costituisce un gruppo detto il gruppo delle permutazioni di X (o gruppo simmetrico su X). È facile verificare che ϕ ∈ F(X) è invertibile se e solo se ϕ è una biiezione e che, in tal caso, l’elemento inverso di ϕ coincide con la relazione inversa ϕ −1 .

1.3 Sottosemigruppi e sottomonoidi. Sottosemigruppi generati Sia S un semigruppo. Un sottosemigruppo T di S è un sottoinsieme di S chiuso rispetto all’operazione di prodotto definita in S, cioè per ogni t1 ,t2 ∈ T si ha che t1t2 ∈ T . Se T è un sottosemigruppo di S si scrive anche T ≤ S. Si verifica che ≤ soddisfa le proprietà riflessiva, antisimmetrica e transitiva cosicché è una relazione di ordine parziale nella classe dei sottosemigruppi di S. Proposizione 1.2. Sia {Tγ }γ ∈Γ una qualsiasi famiglia di sottosemigruppi di S. Si ha  che T = γ ∈Γ Tγ è un sottosemigruppo di S. 

Dimostrazione. Siano t1 ,t2 ∈ γ ∈Γ Tγ . Ciò comporta che per ogni γ ∈Γ , t1 ,t2 ∈ Tγ . Essendo Tγ un sottosemigruppo di S si ha allora t1t2 ∈ Tγ e quindi t1t2 ∈ γ ∈Γ Tγ .   Una famiglia F (X) di parti di un insieme X chiusa rispetto ad intersezione completa e tale che X ∈ F (X) prende anche il nome di famiglia di Moore di parti di X. Pertanto la famiglia di tutti i sottosemigruppi di un dato semigruppo S costituisce una famiglia di Moore di parti di S. Sia X ⊆ S. Si può allora considerare il sottosemigruppo X definito quale il più piccolo sottosemigruppo di S che contiene X, vale a dire l’intersezione di tutti i sottosemigruppi di S che contengono X: X =



{ Tγ ≤ S | X ⊆ Tγ }.

γ ∈Γ

Poiché X ⊆ S, il sottosemigruppo X esiste sempre ed è chiamato il sottosemigruppo di S generato da X. Per ogni n > 0 definiamo, induttivamente, X n al seguente modo: X 1 = X e X n = n−1 X X per n > 1. Si può allora introdurre la parte X + di S definita come: X+ = X ∪ X2 ∪ ··· ∪ Xn ∪ ··· =

 i≥1

X i.

8

1 Teoria dei Semigruppi

Proposizione 1.3. Per ogni X ⊆ S si ha che X = X + . Dimostrazione. Si verifica immediatamente dalla definizione che X + è un sottosemigruppo di S che contiene X cosicché X ⊆ X + . Viceversa, essendo X un sottosemigruppo di S che contiene X, deve aversi per ogni n > 0, X n ⊆ X cosicché  X + = i≥1 X i ⊆ X.   Sia M un monoide di elemento identità 1. Si definisce per sottomonoide N di M un sottoinsieme che è un sottosemigruppo di M ed inoltre tale che 1 ∈ N. Tale definizione è conforme alla nozione di sottoalgebra così come data nel contesto delle algebre universali (cf. Sez. 1.13) se si osserva che l’elemento identità di un monoide può essere riguardato come il risultato dell’applicazione di un’operazione zeraria. Se X è un sottoinsieme di M il sottomonoide di M generato da X è il più piccolo sottomonoide di M che contiene X. Si verifica che esso è dato da: X ∗ = {1} ∪ X + =



X i,

i≥0

dove si è posto X 0 = {1}. L’operazione (∗ ) prima definita, che associa ad ogni parte X di un monoide M il sottomonoide generato da X, sarà detta nel seguito anche operazione stella. Si osservi che utilizzando l’operazione (+ ) (risp. (∗ )) il semigruppo libero (risp. monoide libero) su A coincide con A+ (risp. A∗ ). Se M è un monoide si potranno considerare sottoinsiemi di M che non sono sottomonoidi ma sottosemigruppi o sottogruppi. Se H è un sottogruppo di M allora l’identità di H è un idempotente di M. Concludiamo questo paragrafo facendo alcune osservazioni: 1) L’operazione (+ ), così come l’operazione (∗ ), sono operatori di chiusura poiché, come si verifica facilmente, per ogni X, Y ⊆ S, valgono le proprietà seguenti: i) X ⊆ X + (estensività), ii) X ⊆ Y =⇒ X + ⊆ Y + (isotonia), iii) (X + )+ = X + (idempotenza). 2) La famiglia F (S) dei sottosemigruppi di S costituisce un reticolo completo (cf. Birkhoff 1967) rispetto alle operazioni ∧ ( = inf) e ∨ (= sup) definite per ogni X, Y ∈ F (S) come: X ∧ Y = X ∩ Y e X ∨ Y = (X ∪ Y )+ .

1.4 Semigruppo monogenico Sia S un semigruppo. Si definisce per insieme (o sistema) di generatori per S un sottoinsieme X di S tale che X + = S. In tal caso si dice anche che S è generato da X. È evidente che S è un insieme di generatori per S. Un semigruppo S si dice finitamente generato se S ammette un insieme finito di generatori. Ogni semigruppo finito è ovviamente finitamente generato. Esamineremo

1.4 Semigruppo monogenico

9

ora il caso in cui S è generato da un unico elemento (semigruppo monogenico). Sia dunque S = a = {a}+ con a ∈ S. Si possono presentare due casi: Caso 1. Non esistono interi positivi i e j, i < j, tali che ai = a j . In tal caso l’ordine di S è infinito. Ad esempio il semigruppo N+ rispetto alla somma è monogenico perché generato dall’intero 1. Caso 2. Esiste un intero j tale che a j = ai con i < j. Ci si può sempre riferire al più piccolo j tale che la precedente condizione è verificata. L’intero i prende il nome di indice di a e p = j − i è detto periodo. Quest’ultimo termine è dovuto al fatto che ai+kp = ai , k ≥ 0 e ai+s+kp = ai+s , 0 ≤ s ≤ p − 1. Se n è un intero positivo potremo scrivere n = kp+s, 0 ≤ s ≤ p−1, k ≥ 0, cosicché ai+n = ai+kp+s = ai+s . Tutti gli elementi a, a2 , . . . , ai−1 di a sono a due a due distinti. Pertanto a può essere decomposto come: a = {a, a2 , . . . , ai−1 } ∪ {ai , . . . , ai+p−1 }. Si ha allora: Card(a) = i + p − 1 = indice + periodo − 1. Poniamo ora Ha = {ai , . . . , ai+p−1 }. Vale la seguente: Proposizione 1.4. Ha è un gruppo ciclico di ordine p. Dimostrazione. Ha è evidentemente un semigruppo. Dimostriamo che Ha ha un’identità. Consideriamo infatti i p interi consecutivi: i, i + 1, . . . , i + (p − 1). Esisterà un unico intero x tale che 0 ≤ x ≤ p − 1 e i + x ≡ 0 (mod p), ovvero i + x = kp, k ≥ 0. Allora ai+x è l’identità di Ha . Infatti ai+s ai+x = ai+s+kp = ai+s , 0 ≤ s ≤ p − 1. Ha è generato da ai+x+1 . Infatti per ogni n > 0 (ai+x+1 )n = a(i+x)n+n = ai+x+n .

10

1 Teoria dei Semigruppi

Di qui segue che Ha è un gruppo. Se poniamo g = ai+x+1 si ha che Ha = {g, g2 , . . . , g p } dove g p è l’identità di Ha . Pertanto l’elemento gi , 1 ≤ i ≤ p − 1 avrà come inverso g p−i .   Una conseguenza del risultato precedente è che ogni semigruppo finito S possiede almeno un elemento idempotente. Sia S un semigruppo e a ∈ S. Si definisce ordine di a l’ordine del semigruppo monogenico a. Un semigruppo si dice periodico (o di torsione) se ogni suo elemento ha ordine finito. Un semigruppo finito è ovviamente periodico. Il viceversa non è vero, in generale, anche se si fa l’ipotesi che il semigruppo sia finitamente generato (da più di un generatore) (cf. Morse, Hedlund 1944). Il problema di trovare delle condizioni che sono soddisfatte dai semigruppi finiti e tali da assicurare che un semigruppo finitamente generato e periodico sia finito costituisce il cosidetto problema di Burnside per i semigruppi. Anche nel caso dei gruppi si è dimostrata l’esistenza di gruppi finitamente generati, periodici e infiniti. Lo studio di condizioni di finitezza nel caso di gruppi finitamente generati e periodici prende il nome di problema di Burnside per i gruppi (cf. Adjan 1979).

1.5 Morfismi e congruenze Le nozioni di morfismo di algebre dello stesso tipo e di relazione di congruenza in un’algebra sono nozioni algebriche universali e come tali possono introdursi quale sia la famiglia di algebre considerata (cf. Sez. 1.13). La nozione di morfismo di un’algebra in un’algebra dello stesso tipo è quella di applicazione tra i supporti che preserva le operazioni cioè l’immagine del risultato di operazioni coincide con il risultato delle operazioni (corrispondenti) sulle immagini. Una relazione di congruenza in un’algebra è una relazione di equivalenza definita sul supporto che gode della proprietà di sostituzione, cioè le operazioni effettuate su certi elementi danno un risultato congruente a quello che si ottiene sostituendo gli elementi stessi con elementi che sono congruenti ai primi. Vedremo, inoltre, che esiste una corrispondenza naturale tra morfismi di algebre e relazioni di congruenza in un’algebra.

1.5.1 Morfismi In questo paragrafo ci riferiremo esclusivamente a semigruppi e a monoidi, anche se molte delle nozioni introdotte e dei risultati che si ottengono hanno una validità universale, cioè indipendente dalla famiglia di algebre considerata (vedi Sez. 1.13). Siano S e S semigruppi. Denoteremo, per semplicità, quando non vi è ambiguità allo stesso modo l’operazione binaria in S e quella in S . Si definisce per morfismo ϕ : S → S di S in S un’applicazione del supporto di S nel supporto di S tale che ∀ s,t ∈ S, (st)ϕ = (sϕ )(t ϕ ).

1.5 Morfismi e congruenze

11

Se ϕ è suriettiva si parla di epimorfismo, se ϕ è iniettiva di monomorfismo, se ϕ è biiettiva ϕ è detta isomorfismo. Se poi S = S, ϕ è detta endomorfismo. Se ϕ è un endomorfismo ed un isomorfismo si dice che ϕ è un automorfismo. Morfismi

Tipo di applicazione

epi-morfismo mono-morfismo iso-morfismo endo-morfismo auto-morfismo

suriettiva iniettiva biiettiva S = S biiettiva e S = S

.

Se i semigruppi S e S sono isomorfi scriveremo anche S ∼ = S . Denoteremo poi con End(S) e Aut(S) gli insiemi degli endomorfismi e degli automorfismi di S, rispettivamente. Vale la seguente proposizione la cui dimostrazione è lasciata al Lettore a titolo di esercizio (vedi Eser. 1.10). Proposizione 1.5. Sia S un semigruppo. End(S) è un monoide e Aut(S) è un gruppo. Proposizione 1.6. Siano S e T semigruppi e ϕ : S → T un morfismo. Se S ≤ S allora S ϕ ≤ T . Viceversa se T ≤ T allora T ϕ −1 ≤ S. Dimostrazione. Siano t1 , t2 ∈ S ϕ . Esistono allora s 1 , s 2 ∈ S tali che s 1 ϕ = t1 , s 2 ϕ = t2 cosicché s 1 ϕ s 2 ϕ = (s 1 s 2 )ϕ = t1t2 . Pertanto t1t2 ∈ S ϕ . Viceversa siano s1 , s2 ∈ T ϕ −1 e denotiamo con t1 e t2 le immagini s1 ϕ e s2 ϕ . Ciò comporta che (s1 s2 )ϕ = (s1 ϕ )(s2 ϕ ) = t1t2 ∈ T e quindi s1 s2 ∈ T ϕ −1 .   Conviene sottolineare che la Proposizione 1.5 vale per l’insieme degli endomorfismi e degli automorfismi di una qualsiasi algebra. Anche la Proposizione 1.6 può essere formulata per una qualsiasi famiglia di algebre dello stesso tipo; essa afferma che la proprietà di essere una sottoalgebra è invariante per morfismi diretti ed inversi. Nel caso di monoidi M e M di elementi identità 1 e 1 un morfismo ϕ : M → M è un’applicazione del supporto di M nel supporto di M che preserva l’operazione di prodotto in M ed inoltre 1ϕ = 1 . Siano S e T semigruppi o monoidi. Un morfismo ϕ di S in T si dice anche una rappresentazione di S mediante gli elementi di T . Se ϕ è un monomorfismo allora la rappresentazione si dirà fedele e si ha S ∼ = Sϕ ≤ T . Dimostreremo ora un teorema che ci permetterà di provare che ogni monoide si può sempre rappresentare in modo fedele nel monoide delle trasformazioni su un conveniente insieme. Sia S un semigruppo e F(S) il monoide di tutte le trasformazioni su S. Per ogni s ∈ S la traslazione interna destra τs è la trasformazione τs : S → S definita come aτs = as, per ogni a ∈ S. In modo simmetrico, si definisce la traslazione interna sinistra σs come aσs = sa, per ogni a ∈ S.

12

1 Teoria dei Semigruppi

Denotiamo poi con TS = {τs ∈ F(S) | s ∈ S} l’insieme di tutte le traslazioni interne destre. Si verifica immediatamente che per ogni s, s ∈ S

τs τs = τss , cosicché TS è un sottosemigruppo di F(S). Se S è un monoide M, poiché τ1 = id, si ha che TM è un sottomonoide di F(M). Proposizione 1.7. Ogni monoide è isomorfo al monoide delle traslazioni interne destre. Dimostrazione. Sia ψ : M → TM l’applicazione definita come: mψ = τm , per ogni m ∈ M. Si verifica che ψ è un morfismo. Infatti: mm ψ = τmm = τm τm = mψ m ψ . Inoltre M ψ = TM cosicché ψ è suriettivo. Infine ψ è iniettivo. Infatti se m = m allora mψ = m ψ . Infatti se τm = τm risulterebbe per ogni a ∈ M, am = am e quindi si avrebbe per a = 1, m = m .   Si noti che se M è un gruppo G allora, come si verifica facilmente, ogni elemento di TG è una permutazione degli elementi di G. Inoltre per ogni τg la traslazione τg−1 è l’elemento inverso di τg . Pertanto TG è un sottogruppo del gruppo simmetrico su G. Il gruppo G risulta essere isomorfo a TG . Pertanto ogni gruppo può essere fedelmente rappresentato mediante un gruppo di permutazioni. Questo costituisce il celebre teorema di Cayley di teoria dei gruppi. Se S è un semigruppo si potrà sempre rappresentare fedelmente S1 in F(S1 ) mediante un monomorfismo ψ . La restrizione di ψ a S costituirà una rappresentazione fedele di S quale semigruppo di trasformazioni. Ricordiamo che nel caso dei gruppi un morfismo ϕ : G → G del gruppo G nel gruppo G è un’applicazione da G in G tale che per ogni g1 , g2 ∈ G (g1 g2 )ϕ = (g1 ϕ )(g2 ϕ ). Si verifica (vedi Eser. 1.7) che ϕ preserva anche l’inverso cioè per ogni g ∈ G g−1 ϕ = (gϕ )−1 . Inoltre si ha 1ϕ = 1 dove 1 e 1 denotano gli elementi identità di G e G , rispettivamente. Un’applicazione ϕ : S → T , essendo S e T semigruppi, si dice antimorfismo se ∀ s, t ∈ S (st)ϕ = (t ϕ )(sϕ ). Se ϕ è una biiezione si parla di anti-isomorfismo; se per di più S = T , ϕ è detto anti-automorfismo.

1.5 Morfismi e congruenze

13

Diamo qui un esempio di antimorfismo. Sia A+ il semigruppo libero sull’alfabeto A. Definiamo l’applicazione (∼ ) : A+ → A+ , detta di rovesciamento, induttivamente al seguente modo a∼ = a, per ogni a ∈ A, (ua)∼ = au∼ , per ogni u ∈ A+ e a ∈ A. Per ogni w ∈ A+ la parola w∼ è detta anche immagine rovesciata di w. In base alla definizione se w = a1 · · · an allora w∼ = an · · · a1 . Si ha quindi che l’applicazione (∼ ) è involutoria cioè (w∼ )∼ = w. Si verifica facilmente che l’operazione di rovesciamento è iniettiva e suriettiva. Poiché dalla definizione segue che per ogni u, v ∈ A+ , (uv)∼ = v∼ u∼ , si ha che (∼ ) è un antiautomorfismo di A+ . Nel caso del monoide libero A∗ , l’operazione di rovesciamento è estesa anche alla parola vuota ε , ponendo ε ∼ = ε . Se X ⊆ A∗ , si definisce X ∼ l’insieme delle parole rovesciate di X, cioè X ∼ = {x∼ | x ∈ X}.

1.5.2 Congruenze Sia S un semigruppo e ϑ una relazione binaria in S. Definizione 1.1. Si dice che ϑ è compatibile (o invariante) a destra (risp. a sinistra) con il prodotto se ∀ s1 , s2 , s ∈ S (s1 ϑ s2 =⇒ s1 s ϑ s2 s) (risp. ∀ s1 , s2 , s ∈ S (s1 ϑ s2 =⇒ ss1 ϑ ss2 )).

ϑ si dirà poi compatibile con il prodotto se è compatibile sia a destra che a sinistra con il prodotto. Definizione 1.2. Una relazione binaria ϑ in S gode della proprietà di sostituzione se ∀ s1 , s2 , s3 , s4 ∈ S (s1 ϑ s2 e s3 ϑ s4 =⇒ s1 s3 ϑ s2 s4 ). Utilizzando l’operazione di prodotto di parti di S la proprietà di sostituzione può anche esprimersi nella forma seguente: ∀ s1 , s2 ∈ S, ϑ (s1 )ϑ (s2 ) ⊆ ϑ (s1 s2 ). Come è noto una relazione binaria in un insieme si dice relazione di equivalenza se verifica le proprietà riflessiva, simmetrica e transitiva. Definizione 1.3. Una relazione di congruenza in S è una relazione di equivalenza in S che gode della proprietà di sostituzione. Proposizione 1.8. Una relazione di equivalenza in S è una congruenza se e solo se è compatibile con il prodotto.

14

1 Teoria dei Semigruppi

Dimostrazione. Se ϑ è una relazione di congruenza si ha, evidentemente, che essa è compatibile sia a destra che a sinistra con il prodotto. Viceversa supponiamo che ϑ sia compatibile con il prodotto e siano s1 , s2 , s3 , s4 ∈ S tali che s1 ϑ s2 e s3 ϑ s4 . Da s1 ϑ s2 si ha, moltiplicando a destra per s3 , s1 s3 ϑ s2 s3 e da s3 ϑ s4 si ottiene, moltiplicando a sinistra per s2 , s2 s3 ϑ s2 s4 . Utilizzando allora la proprietà transitiva segue che s1 s3 ϑ s2 s4 .   Se ϑ è una congruenza in S si può considerare l’insieme quoziente S/ϑ e dotare S/ϑ di una struttura di semigruppo definendo un’operazione di prodotto (◦) al seguente modo. Per ogni s1 , s2 ∈ S il prodotto ϑ (s1 ) ◦ ϑ (s2 ) delle classi ϑ (s1 ) e ϑ (s2 ) è definito come: ϑ (s1 ) ◦ ϑ (s2 ) = ϑ (s1 s2 ). Si noti che la definizione precedente è non ambigua proprio perché ϑ è una congruenza cosicché se nelle classi ϑ (s1 ) e ϑ (s2 ) si prendessero come rappresentativi gli elementi s 1 e s 2 , rispettivamente, si avrebbe che

ϑ (s 1 ) ◦ ϑ (s 2 ) = ϑ (s 1 s 2 ) = ϑ (s1 s2 ). Si verifica immediatamente che l’operazione (◦) prima introdotta è associativa cosicché S/ϑ è un semigruppo detto semigruppo quoziente di S per ϑ . La connessione esistente tra le nozioni di morfismo e di relazione di congruenza è data dalla proposizione seguente: Proposizione 1.9. Sia ϕ : S → T un morfismo del semigruppo S nel semigruppo T . L’equivalenza ϑϕ = ϕϕ −1 naturalmente indotta da ϕ è una congruenza. Viceversa se ϑ è una congruenza nel semigruppo S allora l’applicazione ψϑ : S → S/ϑ che ad ogni elemento s ∈ S associa la classe di congruenza ϑ (s) è un epimorfismo. Dimostrazione. Denotiamo ϑϕ semplicemente con ϑ . Siano poi s1 ,2 , s3 , s4 ∈ S tali che s1 ϑ s2 e s3 ϑ s4 . Si ha allora: (s1 s3 )ϕ = (s1 ϕ )(s3 ϕ ) = (s2 ϕ )(s4 ϕ ) = (s2 s4 )ϕ , il che comporta s1 s3 ϑ s2 s4 . Viceversa, denotando semplicemente con ψ l’applicazione ψϑ : S → S/ϑ sopra definita, si ha

ψ (s1 s2 ) = ϑ (s1 s2 ) = ϑ (s1 ) ◦ ϑ (s2 ) = ψ (s1 ) ◦ ψ (s2 ), cosicché ψ è un morfismo che è chiaramente suriettivo.

 

Nel seguito si dirà anche che ϑϕ è la congruenza naturalmente indotta dal morfismo ϕ e che ψϑ è l’epimorfismo canonico di S in S/ϑ . Vale il seguente importante teorema di isomorfismo: Teorema 1.1. Sia ϕ : S → T un epimorfismo del semigruppo S nel semigruppo T . Siano ϑϕ = ϕϕ −1 la congruenza naturalmente indotta da ϕ e S/ϑϕ il semigruppo

1.5 Morfismi e congruenze

15

quoziente di S mediante la congruenza ϑϕ . Si ha allora che S/ϑϕ ∼ = T . Se denotiamo con ζ il predetto isomorfismo e con ψ l’epimorfismo canonico ψ : S → S/ϑϕ si ha che: ϕ = ψζ . Dimostrazione. Denotiamo ϑϕ semplicemente con ϑ . Introduciamo poi l’applicazione ζ : S/ϑ → T definita al seguente modo: per ogni s ∈ S

ζ (ϑ (s)) = ϕ (s). Si osservi che la predetta definizione è non ambigua: infatti s ϑ s se e solo se ϕ (s) = ϕ (s ). Inoltre ζ è un morfismo. Infatti per ogni s1 , s2 ∈ S si ha:

ζ (ϑ (s1 ) ◦ ϑ (s2 )) = ζ (ϑ (s1 s2 )) = ϕ (s1 s2 ) = ϕ (s1 )ϕ (s2 ) = ζ (ϑ (s1 ))ζ (ϑ (s2 )). Il morfismo ζ è un epimorfismo perché tale risulta ϕ . Inoltre ζ è iniettiva. Infatti ζ (ϑ (s1 )) = ζ (ϑ (s2 )) comporta ϕ (s1 ) = ϕ (s2 ) e quindi s1 ϑ s2 . Dalla definizione di ζ segue infine che ϕ = ψζ .   Conviene osservare che proposizioni simili alla Proposizione 1.9 e al Teorema 1.1 possono dimostrarsi in una qualsiasi struttura algebrica (cf. Sez. 1.13). Nel caso dei gruppi una relazione di congruenza deve verificare la proprietà di sostituzione rispetto a tutte le operazioni. Cosicché se ϑ è una congruenza del gruppo G deve anche aversi che per ogni x, y ∈ G x ϑ y =⇒ x−1 ϑ y−1 . Tuttavia si può facilmente verificare che questa proprietà è automaticamente soddisfatta se ϑ verifica la proprietà di sostituzione rispetto all’operazione di prodotto definita in G, cioè se ϑ è una congruenza del semigruppo G (cf. Eser. 1.8). Ricordiamo che esiste una corrispondenza biunivoca tra le congruenze di un gruppo G e i sottogruppi normali di G. Un sottogruppo H di G si dice normale se per ogni g ∈ G si ha Hg = gH. Si dimostra (vedi Eser. 1.9) che se ϑ è una congruenza di un gruppo G allora ϑ (1), dove 1 è l’identità di G, è un sottogruppo normale di G. Viceversa se H è un sottogruppo normale di G allora la relazione di equivalenza ϑ definita in G al seguente modo: per ogni x, y ∈ G x ϑ y se e solo se Hx = Hy, è una congruenza. Se ϑ è una congruenza del gruppo G allora G/ϑ è un gruppo detto gruppo quoziente. Il gruppo quoziente si denota usualmente con G/H se la congruenza è definita mediante un sottogruppo normale H di G. Ricordiamo inoltre che le classi di equivalenza di ϑ hanno il medesimo numero cardinale uguale all’ordine di H. Un gruppo si dice semplice se è un gruppo non banale i cui sottogruppi normali sono solo il sottogruppo banale e il gruppo stesso.

16

1 Teoria dei Semigruppi

1.6 Congruenza di Rees e congruenza sintattica Mentre nel caso dei gruppi le classi di congruenza hanno il medesimo numero cardinale, la situazione, come vedremo, è abbastanza diversa nel caso dei semigruppi. Introduciamo in questo paragrafo due modi diversi per definire congruenze in semigruppi. Il primo (congruenza di Rees) è legato alla nozione di ideale e il secondo (congruenza sintattica) ad una parte di un semigruppo. Congruenza di Rees di un ideale Sia S un semigruppo. Una parte J non vuota di S si dice ideale di S se verifica le proprietà: SJ ⊆ J e JS ⊆ J. In altri termini il prodotto sia a destra che a sinistra di un elemento di J per un elemento di S dà come risultato ancora un elemento di J. Ad esempio nel caso del semigruppo libero A+ , con A = {a, b} l’insieme delle parole A∗ aaA∗ costituisce un ideale di A+ . Se J è un ideale di S si può allora introdurre la relazione ρJ , o più˙I semplicemente ρ , definita per ogni a, b ∈ S come: a ρ b se e solo se a, b ∈ J oppure a = b. In altre parole si ha che

ρ = (J × J) ∪ ι . È immediato verificare che ρ è una congruenza. Il semigruppo quoziente S/ρ viene anche denotato con S/J ed è detto il semigruppo quoziente di Rees di S per J. Congruenza sintattica Siano S un semigruppo e X una sua parte. La congruenza sintattica di X, che si denota con ≡X , è definita come segue: per ogni s,t ∈ S s ≡X t se e solo se ∀ u, v ∈ S1 (usv ∈ X ⇐⇒ utv ∈ X). Si verifica immediatamente che ≡X è una relazione di congruenza in S. Per ogni s ∈ S possiamo introdurre l’insieme ContX (s) = {(u, v) ∈ S1 × S1 | usv ∈ X}. Ogni coppia (u, v) ∈ ContX (s) è detta contesto di s in X. La condizione s ≡X t può anche esprimersi come: s ≡X t se e solo se ContX (s) = ContX (t). Il semigruppo quoziente S(X) = S/≡X è detto anche semigruppo sintattico di X e l’epimorfismo canonico σ : S → S(X), morfismo sintattico di X. La congruenza σ σ −1 indotta da σ è la congruenza sintattica ≡X .

1.6 Congruenza di Rees e congruenza sintattica

17

Un’altra relazione di equivalenza di grande interesse che può introdursi una volta che sia data una parte X di S, è la relazione NX , detta equivalenza principale destra di X, definita come: per ogni s,t ∈ S s NX t se e solo se ∀ v ∈ S1 (sv ∈ X ⇐⇒ tv ∈ X). Si verifica che NX è compatibile a destra con il prodotto. Chiameremo nel seguito NX anche la relazione di equivalenza di Nerode di X. Dalla definizione si ha che: ≡X ⊆ NX . Si dice che una parte X di S satura una relazione di equivalenza ϑ in S (o che ϑ satura X) se X è unione di classi di ϑ . Si verifica immediatamente che la condizione che X satura ϑ può esprimersi come: per ogni s,t ∈ S s ϑ t e s ∈ X =⇒ t ∈ X. Dalla definizione segue che ≡X e NX saturano X. Vale per di più˙I la seguente. Proposizione 1.10. La relazione di congruenza sintattica ≡X (risp. di Nerode NX ) è massima, rispetto alla relazione di inclusione, nell’insieme di tutte le congruenze (risp. relazioni di equivalenza invarianti a destra) che saturano X. Dimostrazione. Sia ϑ una relazione di congruenza che satura X. Per ogni s,t ∈ S, essendo ϑ una congruenza, si ha s ϑ t =⇒ ∀ u, v ∈ S1 (usv ϑ utv), il che implica, poiché X satura ϑ , ∀ u, v ∈ S1 (usv ∈ X ⇐⇒ utv ∈ X). Pertanto s ϑ t ⇒ s ≡X t. In modo perfettamente simmetrico si dimostra che se X satura un’equivalenza ϑ invariante a destra allora si ha ϑ ⊆ NX .   La seguente proposizione sarà utile nel seguito. Proposizione 1.11. Siano S un semigruppo ed X una sua parte. Se σ : S → S(X) è il morfismo sintattico ed X = X σ , allora la congruenza sintattica ≡X di X in S(X) è l’identità. Dimostrazione. Siano s, s ∈ S(X) tali che s ≡X s . Ciò comporta che per ogni u, v ∈ S(X)1 usv ∈ X ⇐⇒ us v ∈ X . Sia σ : S → S(X) il morfismo sintattico di X e siano λ , μ ∈ S1 e p, p ∈ S tali che λ σ = u, μσ = v e pσ = s, qσ = s . Si ha allora

σ (λ pμ ) ∈ X σ ⇐⇒ σ (λ qμ ) ∈ X σ ,

18

1 Teoria dei Semigruppi

ovvero, poiché la congruenza sintattica σ σ −1 satura X, si ha X σ σ −1 = X e quindi

λ pμ ∈ X ⇐⇒ λ pμ ∈ X, cosicché p ≡X q. Da ciò segue pσ = s = qσ = s .

 

Osserviamo che se un semigruppo è un monoide M allora il semigruppo sintattico M(X) di una parte X ⊆ M possiede un elemento identità dato da ≡X (1) dove 1 è l’identità di M. Pertanto M(X) è un monoide detto monoide sintattico di X. Terminiamo questa sezione dando la nozione di semigruppo residualmente finito. Si definisce indice di una relazione di equivalenza ϑ in un insieme S la cardinalità dell’insieme quoziente S/ϑ . Un semigruppo S è residualmente finito se per ogni coppia s,t di elementi S tali che s = t esiste una congruenza ϑ in S di indice finito che separa s da t, cioè (s,t) ∈ ϑ . I semigruppi finiti sono banalmente residualmente finiti. Anche il semigruppo libero A+ sull’alfabeto A è residualmente finito. Per mostrare ciò siano u, v ∈ A+ , u = v, e sia J l’ideale formato da tutte le parole di A+ di lunghezza maggiore della massima delle lunghezze di u and v. La congruenza di Rees ρJ = (J × J) ∪ ι è allora di indice finito e separa u da v.

1.7 Parti riconoscibili di un semigruppo In questa sezione definiamo ora una famiglia di parti di un semigruppo di grande interesse per la teoria degli automi finiti. Definizione 1.4. Una parte di un semigruppo S si dice riconoscibile se satura una congruenza in S di indice finito. Si denoterà con Ric(S) la famiglia delle parti riconoscibili di S. Vale il seguente importante teorema dovuto a J. Myhill e A. Nerode: Teorema 1.2 (Myhill, Nerode). Siano S un semigruppo e X una sua parte. Le seguenti condizioni sono equivalenti: 1) X ∈ Ric(S), 2) Esiste un morfismo ϕ : S −→ T , essendo T un semigruppo finito, tale che X = X ϕϕ −1 , 3) Il semigruppo sintattico S(X) è finito, 4) X satura un’equivalenza compatibile a destra con il prodotto di indice finito, 5) L’indice dell’equivalenza di Nerode NX è finito. Dimostrazione. 1) ⇒ 2). Poiché X ∈ Ric(S), X è una unione di classi di una relazione di congruenza ϑ in S di indice finito. Sia ϕ : S → S/ϑ l’epimorfismo canonico di S nel semigruppo finito S/ϑ . Per ogni s ∈ S si ha che ϑ (s) = sϕϕ −1 cosicché X = X ϕϕ −1 . 2) ⇒ 3). Se è verificata la Condizione 2) allora S è unione di classi della congruenza ϕϕ −1 che, essendo T finito, è di indice finito. In base alla Proposizione 1.10 segue

1.7 Parti riconoscibili di un semigruppo

19

che ϕϕ −1 ⊆ ≡X . Pertanto l’indice della congruenza sintattica di X è finito il che comporta che il semigruppo sintattico S(X) è finito. 3) ⇒ 4). X satura ≡X che è un’equivalenza compatibile a destra con il prodotto di indice finito. 4) ⇒ 5). Per ipotesi X satura un’equivalenza R compatibile a destra con il prodotto di indice finito. Poiché R ⊆ NX segue che l’indice dell’equivalenza NX è finito. 5) ⇒ 1). Introduciamo l’applicazione (◦) : S/NX × S −→ S/NX , definita come: per ogni s,t ∈ S NX (s) ◦ t = NX (st). La definizione è non ambigua poiché NX è compatibile a destra con il prodotto. Introduciamo allora in S la relazione ϑ definita come: per ogni t1 ,t2 ∈ S, t1 ϑ t2 ⇐⇒ NX (t1 ) = NX (t2 ) e ∀ s ∈ S (NX (s) ◦ t1 = NX (s) ◦ t2 ). In base alla definizione dell’operazione (◦) si ha dunque: t1 ϑ t2 ⇐⇒ ∀ s ∈ S1 (NX (st1 ) = NX (st2 )) ⇐⇒ ∀ s,t ∈ S1 (st1t ∈ X ⇐⇒ st2t ∈ X)

⇐⇒ t1 ≡X t2 .

Di qui segue che ϑ = ≡X . Ma la relazione ϑ cosìS¸ come definita è di indice finito. Infatti, essendo l’insieme quoziente S/NX finito, se prendiamo come rappresentativi nelle varie classi gli elementi s1 , . . . , sr dove r è la cardinalità di S/NX , si ha che la classe ϑ (t), con t ∈ S, è individuata dalla sequenza (NX (t), NX (s1t), . . . , NX (sr t)). Il numero di queste sequenze è al più˙I rr+1 . Si ha dunque che l’indice della congruenza sintattica è finito. Poiché X satura ≡X segue che X ∈ Ric(S).   Osserviamo che, per ogni X ⊆ S, può introdursi in S anche la relazione di equivalenza MX invariante a sinistra definita come segue: per ogni s,t ∈ S s MX t se e solo se ∀ v ∈ S1 (vs ∈ X ⇐⇒ vt ∈ X). La relazione MX è detta anche equivalenza principale sinistra di X. Si verifica immediatamente che MX satura X e che essa è massima, rispetto all’inclusione, nell’insieme delle equivalenze invarianti a sinistra che saturano X. Inoltre dalla definizione segue che: ≡X ⊆ MX . Pertanto se X ∈ Ric(S) si ha che l’indice di MX è finito. È inoltre facile mostrare, con un argomento del tutto simile a quello utilizzato per NX nella dimostrazione del

20

1 Teoria dei Semigruppi

Teorema 1.2, che se l’indice di MX è finito anche l’indice della congruenza sintattica di X è finito cosicché X ∈ Ric(S). Proposizione 1.12. Ric(S) è chiusa rispetto alle operazioni Booleane. Dimostrazione. Dimostriamo anzitutto che se X ∈ Ric(S) allora anche l’insieme X c = S \ X complementare di X è riconoscibile. Ciò è una conseguenza immediata del fatto che la congruenza sintattica di X c è uguale alla congruenza sintattica di X. Pertanto S(X c ) = S(X) e quindi dal Teorema 1.2 segue che X c ∈ Ric(S). Dimostriamo ora che se X1 , X2 ∈ Ric(S) allora X1 ∩ X2 ∈ Ric(S). Dalla Definizione 1.4 si ha che X1 satura una congruenza ϑ1 di indice finito e X2 satura una congruenza ϑ2 di indice finito. Ora l’intersezione ϑ = ϑ1 ∩ ϑ2 delle due relazioni di congruenza ϑ1 e ϑ2 è, come si verifica facilmente (cf. Sez. 1.12), una relazione di congruenza. Inoltre l’indice di ϑ è minore o uguale al prodotto dell’indice di ϑ1 per l’indice di ϑ2 ; poiché ϑ satura sia X1 che X2 segue l’asserto. Relativamente alla chiusura di Ric(S) rispetto all’operazione di unione basta osservare che X1 ∪ X2 = (X1c ∩ X2c )c .   Sia S un semigruppo. Nel semigruppo P(S) delle parti di S si possono introdurre due operazioni, di grande interesse principalmente in teoria degli Automi, dette operazioni quozienti definite come segue: per ogni X, Y ∈ P(S), X −1Y = {s ∈ S | Xs ∩ Y = 0}, / Y X −1 = {s ∈ S | sX ∩ Y = 0}. / L’insieme X −1Y è detto quoziente sinistro di Y per X e l’insieme Y X −1 quoziente destro di Y per X. Proposizione 1.13. Siano X, Y ⊆ S. Se Y ∈ Ric(S) allora X −1Y, Y X −1 ∈ Ric(S). Dimostrazione. Poiché Y ∈ Ric(S) dal teorema di Myhill e Nerode segue che la congruenza sintattica ≡Y è di indice finito. Mostriamo ora che X −1Y satura ≡Y . Infatti, siano s, t ∈ S tali che s ∈ X −1Y e s ≡Y t. Esistono allora x ∈ X, y ∈ Y tali che xs = y. Si ha pertanto xs ≡Y xt. Poiché xs ∈ Y segue che xt ∈ Y ovvero t ∈ X −1Y . Poiché X −1Y satura ≡Y dal teorema di Myhill e Nerode segue che X −1Y ∈ Ric(S). In modo simmetrico si dimostra che Y X −1 ∈ Ric(S).   La seguente proposizione mostra che la proprietà di riconoscibilità si preserva per morfismi inversi di semigruppi. Proposizione 1.14. Sia ϕ : S → T un morfismo del semigruppo S nel semigruppo T . Se X appartiene a Ric(T ) allora X ϕ −1 appartiene a Ric(S). Dimostrazione. Se X appartiene a Ric(T ) dalla Condizione 2) del Teorema 1.2 esiste un morfismo ψ : T → F dove F è un semigruppo finito tale che X = X ψψ −1 .

1.8 Parti razionali di un semigruppo

21

Il prodotto ζ = ϕψ dei due morfismi ϕ e ψ è un morfismo ζ : S → F. Si ha, poiché X ϕ −1 ϕ ⊆ X: (X ϕ −1 ) ζ ζ −1 = (X ϕ −1 ) ϕψψ −1 ϕ −1 ⊆ X ψψ −1 ϕ −1 = X ϕ −1 . Pertanto X ϕ −1 satura la congruenza ζ ζ −1 in S di indice finito. Dal Teorema 1.2 si ha che X ϕ −1 appartiene a Ric(S).   La famiglia Ric(M) delle parti riconoscibili di un monoide M ammette una caratterizzazione del tutto simile a quella del Teorema 1.2 con la sola differenza che i morfismi vanno intesi quali morfismi di monoidi. Valgono inoltre proposizioni simili alle Proposizioni 1.12, 1.13 e 1.14, la cui dimostrazione perfettamente analoga a quella nel caso dei semigruppi, è lasciata al Lettore. A conclusione di questa sezione osserviamo che la famiglia Ric(A∗ ) dove A∗ è il monoide libero su un alfabeto finito A, giuoca un ruolo fondamentale nella teoria degli Automi finiti (vedi Cap. 4) dove si dimostrerà che una parte X di A∗ appartiene a Ric(A∗ ) se e solo se essa è accettabile (o riconoscibile) da parte di un automa finito.

1.8 Parti razionali di un semigruppo Sia S un semigruppo. Come si è visto in P(S) si possono considerare le operazioni di unione (∪), prodotto (·) e sottosemigruppo generato (+ ) dette operazioni razionali. Nel caso che S sia un monoide l’operazione (+ ) è sostituita dalla operazione stella (∗ ). La più piccola famiglia di parti di S che contiene le parti finite ed è chiusa rispetto alle operazioni razionali si dirà la famiglia delle parti razionali di S e sarà denotata con Rat(S). Introduciamo ora la successione di famiglie di parti di S F0 (S), F1 (S), . . . , Fn (S), . . . definita induttivamente come segue: F0 (S) = Fin(S) dove Fin(S) denota la famiglia della parti finite di S, e per n ≥ 0 Fn+1 (S) = Fn (S) ∪ Gn (S), dove Gn (S) = {X1 ∪X2 | X1 , X2 ∈ Fn (S)}∪{X1 X2 | X1 , X2 ∈ Fn (S)}∪{X + | X ∈ Fn (S)}. Poniamo poi F (S) =

 n≥0

Fn (S).

22

1 Teoria dei Semigruppi

Proposizione 1.15. Sia S un semigruppo. Si ha F (S) = Rat(S). Dimostrazione. La famiglia F (S) contiene F0 (S) e quindi le parti finite di S. Inoltre, F (S) è, come si verifica facilmente, chiusa rispetto alle operazioni razionali. Pertanto F (S) contiene Rat(S). Viceversa, si ha F0 (S) ⊆ Rat(S). Per ogni n ≥ 0 se supponiamo che Fn (S) è incluso in Rat(S) si ha Fn+1 (S) ⊆ Rat(S) poiché Rat(S) è chiuso rispetto alle operazioni razionali. Di qui segue che F (S) =



Fn (S) ⊆ Rat(S).

n≥0

In conclusione si ha che F (S) = Rat(S).

 

Dimostriamo ora che la proprietà di razionalità si preserva per morfismi di semigruppi. Proposizione 1.16. Sia ϕ : S → T un morfismo del semigruppo S nel semigruppo T . Se X ∈ Rat(S) allora X ϕ ∈ Rat(T ). Dimostrazione. Sia X ∈ Rat(S). Dalla proposizione precedente, Rat(S) = F (S) =  F (S). Sia n il più piccolo intero tale che X ∈ Fn (S). L’intero n dipende da n n≥0 X e sarà detto indice di X. La dimostrazione è per induzione sul valore dell’indice. Se n = 0 allora X ∈ Fin(S) e X ϕ ∈ Fin(T ) ⊆ Rat(T ). Sia n > 0. Esisteranno allora Y, Z ∈ Fn−1 (S) tali che X = Y ∪ Z oppure X = Y Z oppure X = Y + . Ciò comporta che X ϕ = Y ϕ ∪ Z ϕ oppure X ϕ = Y ϕ Z ϕ oppure X ϕ = (Y ϕ )+ . Poiché Y, Z ∈ Fn−1 (S) il loro indice è minore di n. Per l’ipotesi induttiva, Y ϕ , Z ϕ ∈ Rat(T ) cosicché X ϕ ∈ Rat(T ).   Proposizione 1.17. Siano S ed S due semigruppi e sia ϕ : S −→ S un epimorfismo. Allora, per ogni X ∈ Rat(S ), esiste X ∈ Rat(S) tale che X ϕ = X . Dimostrazione. Sia C la famiglia dei sottoinsiemi X di S per cui esiste X ∈ Rat(S) tale che X ϕ = X . Per la Proposizione 1.16, si ha che C ⊆ Rat(S ). Dimostriamo ora che Rat(S ) ⊆ C . Ciò si otterrà mostrando che C contiene le parti finite di S ed è chiusa rispetto alle operazioni razionali. Infatti banalmente 0/ ∈ C . Sia poi {s } ∈ Rat(S ). Essendo ϕ un epimorfismo, esiste s ∈ S tale che sϕ = s . Poiché {s} ∈ Rat(S) ne segue che {s } ∈ C . Siano X ,Y ∈ C . Esistono X,Y ∈ Rat(S) tali che X ϕ = X e Y ϕ = Y . Si ha allora che (X ∪ Y )ϕ = X ∪ Y , (XY )ϕ = X Y e X + ϕ = X + . Essendo X ∪ Y, XY, X + ∈ Rat(S) ne segue che X ∪ Y , X Y , X + ∈ C . Pertanto C = Rat(S ) e ciò dimostra l’asserto.  

1.9 Semianelli

23

Nel caso di un monoide M, la famiglia Rat(M) delle parti razionali di M è la più piccola famiglia di parti di M che contiene le parti finite di M ed è chiusa rispetto alla operazioni di unione (∪), prodotto (·) e sottomonoide generato (∗ ). Nel caso di Rat(M) valgono proposizioni simili alle Proposizioni 1.15, 1.16 e 1.17 la cui dimostrazione, perfettamente analoga a quella dei semigruppi, è lasciata al Lettore. Si dimostrerà nel Capitolo 4 che S è un semigruppo (monoide) libero finitamente generato allora Ric(S) = Rat(S). Questo risultato costituirà un teorema fondamentale (teorema di Kleene) della teoria degli Automi finiti.

1.9 Semianelli Introduciamo in questo paragrafo una struttura algebrica detta semianello. Questa struttura è molto importante in teoria dei semigruppi cosìS¸ come gli anelli in teoria dei gruppi. Formalmente un semianello A = [S, +, ·, 0, 1] è individuato da un supporto S e da due operazioni binarie + (somma) e · (prodotto) e da due costanti 0 e 1 che verificano le proprietà seguenti: per ogni s,t, r ∈ S s + (t + r) = (s + t) + r,

s + t = t + s,

s(tr) = (st)r, s(t + r) = st + sr,

s + 0 = 0 + s = s,

s1 = 1s = s, (t + r)s = ts + rs,

s0 = 0s = 0. In altre parole A è un monoide additivo abeliano rispetto all’operazione di somma e un monoide moltiplicativo rispetto all’operazione di prodotto; inoltre il prodotto è distributivo rispetto alla somma sia a sinistra che a destra. Infine l’elemento 0 che è l’elemento neutro della somma è un elemento zero per il prodotto. Se si aggiunge l’ulteriore requisito che per ogni elemento s ∈ S esiste un elemento −s ∈ S tale che s + (−s) = 0, cioè se A è un gruppo additivo abeliano rispetto alla somma, si ha che A è un anello. Non bisogna confondere la struttura di semianello con altre strutture che generalizzano gli anelli e che prendono il nome di quasi-anelli. In queste generalizzazioni si suppone ad esempio che l’operazione di somma non è commutativa oppure che l’operazione di prodotto non è distributiva in entrambi i sensi rispetto alla somma. Esempi di semianelli sono N, R0 e Q0 (insieme dei razionali non negativi). Un’altro esempio è il semianello Booleano B costituito dai due soli elementi 1 e 0 con un’operazione di somma + e di prodotto · definite da: 1 + 1 = 1,

1 · 1 = 1,

1 + 0 = 0 + 1 = 1, 1 · 0 = 0 · 1 = 0, 0 + 0 = 0,

0 · 0 = 0.

Un esempio meno usuale di semianello è il cosiddetto semianello tropicale T =  min, +, ∞, 0] il cui supporto N  è costituito dall’insieme N ∪ {∞} degli interi [N,

24

1 Teoria dei Semigruppi

non negativi più ∞ (infinito). Le due operazioni min e + sono definite come segue: per n1 , n2 ∈ N, min{n1 , n2 } fornisce il minimo dei due interi n1 e n2 , mentre per ogni n ∈ N, min{n, ∞} = min{∞, n} = n. Inoltre min{∞, ∞} = ∞. Similmente per n1 , n2 ∈ N, n1 + n2 è la somma usuale dei due interi n1 e n2 , mentre se n1 = ∞ o n2 = ∞ allora n1 + n2 = ∞. Sia M un monoide e P(M) il monoide delle sue parti. Rispetto all’operazione di unione ∪, P(M) è un monoide additivo abeliano con elemento neutro dato dal sottoinsieme vuoto 0. / Si ha infatti per ogni X,Y, Z ∈ P(M): X ∪ (Y ∪ Z) = (X ∪ Y ) ∪ Z, X ∪ Y = Y ∪ X, X ∪ 0/ = 0/ ∪ X = X. Inoltre si ha: X(Y Z) = (XY )Z, X{1} = {1}X = X, X 0/ = 0X / = 0. / Infine il prodotto è distributivo rispetto all’unione sia a destra che a sinistra: X(Y ∪ Z) = XY ∪ XZ, (Y ∪ Z)X = Y X ∪ ZX. Pertanto P(M) è un semianello rispetto alle operazioni di unione insiemistica e di prodotto di parti. Consideriamo ora l’insieme R(X) delle relazioni binarie sull’insieme X. R(X) è un monoide additivo abeliano rispetto all’operazione di unione. Inoltre sappiamo che R(X) è un monoide moltiplicativo rispetto all’operazione di composizione di relazioni con elemento identità dato dalla relazione identica. Inoltre l’operazione di prodotto è, come si verifica, distributiva a destra e a sinistra rispetto alla unione. R(X) è dunque un semianello rispetto all’unione e al prodotto di relazioni. Un ulteriore esempio interessante di semianello è fornito dall’insieme KA di tutte le applicazioni s : A∗ → K dove A∗ è il monoide libero sull’alfabeto A e K è un dato semianello. Un elemento s ∈ KA si dice anche serie formale su A a valori in K. Si denota il valore s(w) della serie s calcolata sulla parola w anche con s, w. In KA si possono introdurre le due operazioni di somma (+) e di prodotto (·) definite come segue. Per ogni s,t ∈ KA la somma s + t è la serie formale tale che s + t, w = s, w + t, w, per ogni w ∈ A∗ . Il prodotto st di due serie s,t ∈ KA è definita come st, w =



s, ut, v, per ogni w ∈ A∗ .

uv=w

Si possono poi introdurre la serie formale 0 che è definita come 0, w = 0 per ogni w ∈ A∗ e la serie 1 definita come segue: 1, ε  = 1 e 1, w = 0 per w = ε . Si verifica immediatamente che KA è un semianello rispetto alle operazioni + e · prima introdotte.

1.10 Ideali

25

1.10 Ideali Sia S un semigruppo. Una parte non vuota R (risp. L) di S si dice ideale destro (risp. ideale sinistro) di S se RS ⊆ R (risp. SL ⊆ L). Un ideale bilatere J di S è, come si è già visto, un ideale sia destro che sinistro di S. Si ha evidentemente che S è un ideale destro, sinistro e bilatere di se stesso. Ad esempio sia S = A+ il semigruppo libero su A e a ∈ A. Si ha allora che aA∗ , A∗ a e A∗ aA∗ rappresentano, rispettivamente, un ideale destro, un ideale sinistro ed un ideale bilatere di A+ . Nel caso di un anello A un ideale destro (risp. sinistro, risp. bilatere) è un sottogruppo di A (rispetto all’operazione +) ed un ideale destro (risp. sinistro, risp. bilatere) di A riguardato quale semigruppo moltiplicativo. Ricordiamo che nel caso degli anelli il concetto di ideale è di fondamentale importanza per poter formare anelli quozienti. Valgono le seguenti proprietà elementari di chiusura degli ideali di semigruppi la cui dimostrazione è una conseguenza immediata della definizione. Siano J1 e J2 due ideali destri (risp. sinistri, risp. bilateri) di S. Si ha allora J1 ∪ J2 è un ideale destro (risp. sinistro, risp. bilatere) di S. Se J1 ∩ J2 = 0/ allora J1 ∩ J2 è un ideale destro (risp. sinistro, risp. bilatere) di S. Si noti che se J1 e J2 sono due ideali bilateri allora J1 ∩ J2 = 0/ poiché O ˝ J1 J2 ⊆ J1 ∩ J2 . Di qui segue che J1 ∩ J2 è un ideale bilatere. Nel caso di un numero infinito di ideali bilateri Jγ , γ ∈ Γ , si ha  che l’intersezione J = γ ∈Γ Jγ è un ideale bilatere sempre che J = 0. / Si noti infine che se J1 e J2 sono ideali destri (risp. sinistri, risp. bilateri) di S allora J1 J2 è un ideale destro (risp. sinistro, risp. bilatere) di S.

1.10.1 Ideali generati da una parte di un semigruppo Siano S un semigruppo e X una parte non vuota di S. Si può considerare l’ideale sinistro (risp. destro, risp. bilatere) generato da X cioè il più piccolo ideale sinistro (risp. destro, risp. bilatere) che contiene X. Questo ideale esiste sempre perché S è un ideale sinistro (risp. destro, risp. bilatere) che contiene X; inoltre l’intersezione di tutti gli ideali sinistri (risp. destri, risp. bilateri) che contengono X non è vuota. Si denoterà con (X)l (risp.(X)r , risp. (X)) l’ideale sinistro (risp. destro, risp. bilatere) generato da X. Se X = {a}, dove a ∈ S, allora (a)l (risp. (a)r , risp. (a)) si chiama ideale principale sinistro (risp. destro, risp. bilatere) generato da a. Proposizione 1.18. L’ideale sinistro, destro e bilatere generati da una parte X non vuota di S sono dati rispettivamente da: (X)l = S1 X, (X)r = XS1 , (X) = S1 XS1 . Dimostrazione. È evidente che XS1 è un ideale destro che contiene X cosicché (X)r ⊆ XS1 . Viceversa poiché X ⊆ (X)r segue che XS ⊆ (X)r S ⊆ (X)r cosicché X ∪ XS ⊆ (X)r ovvero XS1 ⊆ (X)r . Pertanto (X)r = XS1 . In modo simile si dimostra che (X)l = S1 X e (X) = S1 XS1 .  

26

1 Teoria dei Semigruppi

Un semigruppo si dice semplice a sinistra, semplice a destra, semplice se S non contiene rispettivamente ideali sinistri propri, ideali destri propri, ideali bilateri propri. Proposizione 1.19. Un semigruppo S è un gruppo se e solo se S è semplice a sinistra e a destra. Dimostrazione. Dimostriamo prima la condizione necessaria. Se G è un gruppo e R un ideale destro si ha RG ⊆ R ⊆ G; tuttavia se si moltiplica r ∈ R per r−1 g dove g è un arbitrario elemento di G si produce, al variare di g, tutto il gruppo G, cosicché G ⊆ RG e quindi R = G. Pertanto G è semplice a destra. In modo simile si dimostra che G è semplice a sinistra. Dimostriamo ora la condizione sufficiente. Supponiamo che S è semplice a destra e a sinistra. Per ogni a ∈ S deve aversi aS = S = Sa. Fissiamo ora un particolare elemento a di S. Ciò comporta che esistono elementi h, k ∈ S tali che ah = a = ka. Sia x un elemento arbitrario di S. Si ha allora che esistono y, z ∈ S tali che x = ay = za. Si ha allora xh = z(ah) = za = x e kx = k(ay) = ay = x. Poiché le precedenti relazioni valgono per ogni x ∈ S segue allora che kh = k e kh = h, cosicché h = k. Pertanto h è l’elemento identità di S ed S è dunque un monoide. Sia ora a un arbitrario elemento di S. Poiché aS = S = Sa deve aversi che esistono a e a elementi di S tali che aa = a a = h e quindi

a = a (aa ) = (a a)a = a ;

l’elemento a = a è l’elemento inverso di a. S è dunque un gruppo.

 

Sia S un semigruppo. Per ogni s ∈ S denotiamo con Fact(s) l’insieme dei fattori di s cioè Fact(s) = { f ∈ S | s ∈ S1 f S1 }. Per ogni X ⊆ S sia poi Fact(X) l’insieme dei  fattori degli elementi di X. Si ha evidentemente Fact(X) = s∈X Fact(s). Una parte X di S si dice chiusa per fattori se X = Fact(X). Vale la seguente: Proposizione 1.20. Una parte X propria di un semigruppo S è chiusa per fattori se e solo se esiste un ideale bilatere J tale che X = S \ J.

1.10 Ideali

27

Dimostrazione. Sia X una parte propria di S chiusa per fattori e poniamo J = S \ X. L’insieme J è un ideale bilatere di S. Infatti sia s ∈ J e siano h, k ∈ S1 . Si ha hsk ∈ J. Infatti, altrimenti, hsk ∈ X il che implicherebbe, essendo X chiuso per fattori, l’assurdo s ∈ X. Viceversa sia J un ideale bilatere di S. Poniamo X = S \ J. Tale insieme è chiuso per fattori; infatti se x ∈ X e x = h f k con f ∈ S e h, k ∈ S1 , si ha f ∈ X, altrimenti f ∈ J e quindi x ∈ J.   Sia X una parte di un semigruppo S e Fact(X) l’insieme dei fattori di X. Essendo Fact(X) chiuso per fattori, se Fact(X) ⊂ S allora J = S \ Fact(X) è un ideale. Il semigruppo SFact(X) = S/J quoziente di Rees di S per l’ideale J è detto semigruppo dei fattori di X. Si verifica facilmente che SFact(X) ∼ = [Fact(X) ∪ {0}, ◦] dove il prodotto (◦) è definito come: per ogni f1 , f2 ∈ (Fact(X) ∪ {0}),  f1 f2 se f1 , f2 , f1 f2 ∈ Fact(X) . f1 ◦ f2 = 0 altrimenti

1.10.2 Costanti e coppie sincronizzanti In questa sezione introduciamo l’importante nozione di costante di un semigruppo S per una sua parte X. Un elemento c ∈ S si dice costante di S per X se la condizione seguente è soddisfatta: per ogni λ1 , λ2 , λ3 , λ4 ∈ S1 si ha:

λ1 cλ2 ∈ X, λ3 cλ4 ∈ X =⇒ λ1 cλ4 ∈ X. Sia C(X) l’insieme delle costanti di S per X. La seguente proposizione mostra che C(X) è un ideale bilatere di S e che le costanti si preservano sotto l’azione del morfismo sintattico σ : S → S(X) e del morfismo inverso σ −1 . Precisamente vale la seguente: Lemma 1.1. Siano S un semigruppo e X una parte di S. Si ha allora: 1) C(X) è un ideale bilatere di S, 2) Se σ : S → S(X) è il morfismo sintattico di X, allora C(X)σ ⊆ C(X σ ) e C(X σ )σ −1 ⊆ C(X), dove C(X σ ) è l’insieme delle costanti di S(X) per X σ . Dimostrazione. 1) Sia c ∈ C(X). Mostriamo che per ogni s,t ∈ S1 , sct ∈ C(X). Infatti, per ogni λ1 , λ2 , λ3 , λ4 ∈ S1 se λ1 sct λ2 = (λ1 s)c(t λ2 ) ∈ X e λ3 sct λ4 = (λ3 s)c(t λ4 ) ∈ X segue dalla definizione di costante che λ1 sct λ4 ∈ X. 2) Sia c = cσ . Mostriamo che c ∈ C(X σ ). Siano s1 , s2 , s3 , s4 ∈ (S(X))1 tali che s1 c s2 , s3 c s4 ∈ X σ . Essendo σ un epimorfismo, sia λi ∈ S1 tale che λi σ = si , i = 1, 2, 3, 4. Si ha allora (λ1 cλ2 )σ , (λ3 cλ4 )σ ∈ X σ e quindi, essendo X = X σ σ −1 ,

λ1 cλ2 , λ3 cλ4 ∈ X σ σ −1 = X. Poiché c ∈ C(X) si ha λ1 cλ4 ∈ X e quindi s1 c s4 ∈ X σ .

28

1 Teoria dei Semigruppi

Siano ora c ∈ C(X σ ) e c ∈ c σ −1 . Mostriamo che c ∈ C(X). Siano λ1 , λ2 , λ3 , λ4 ∈ tali che: λ1 cλ2 ∈ X e λ3 cλ4 ∈ X. Se poniamo per i = 1, 2, 3, 4, si = λi σ si ottiene s1 c s2 , s3 c s4 ∈ X σ e quindi, essendo c una costante di S(X) per X σ , s1 c s4 = (λ1 cλ4 )σ ∈ X σ . Ne segue λ1 cλ4 ∈ X σ σ −1 = X.  

S1

Si osservi che se X è una parte di S che contiene un ideale bilatere J di S allora J ⊆ C(X). Infatti per ogni λ1 , λ2 , λ3 , λ4 ∈ S1 e j ∈ J si ha: λ1 jλ2 ∈ X, λ3 jλ4 ∈ X e λ1 jλ4 ∈ X. Se P è un sottosemigruppo di S la nozione di costante di S per P è legata alla nozione di coppia sincronizzante per P. Precisamente una coppia (p, q) ∈ P × P è detta coppia sincronizzante per P se la seguente condizione è verificata: per ogni λ , μ ∈ S1

λ pqμ ∈ P =⇒ λ p, qμ ∈ P. Proposizione 1.21. Sia P un sottosemigruppo di un semigruppo S. Se (p, q) è una coppia sincronizzante per P allora pq è una costante di S per P. Viceversa se c ∈ P è una costante di S per P allora la coppia (c, c) ∈ P × P è una coppia sincronizzante per P. Dimostrazione. Sia (p, q) una coppia sincronizzante per P. Per ogni λ1 , λ2 , λ3 , λ4 ∈ S1 se λ1 pqλ2 ∈ P e λ3 pqλ4 ∈ P si ha λ1 p, qλ2 , λ3 p, qλ4 ∈ P. Essendo P un semigruppo ne segue λ1 pqλ4 ∈ P e quindi pq è una costante di S per P. Viceversa sia c ∈ P una costante di S per P. Per ogni λ , μ ∈ S1 se λ ccμ ∈ P essendo 1c1 = c ∈ P ne segue λ c, cμ ∈ P, cosicché la coppia (c, c) è una coppia sincronizzante per P.  

1.11 Relazioni binarie ed operatori di chiusura Siano X un insieme e R(X) l’insieme delle relazioni binarie in X. Come si è visto R(X) è un semianello rispetto all’unione e al prodotto di relazioni. Inoltre la relazione di inclusione di relazioni è, come si verifica facilmente, isotona rispetto al prodotto, cioè, per ogni ρ , σ , τ ∈ R(X),

ρ ⊆ σ =⇒ ρτ ⊆ σ τ . In R(X) si possono considerare le operazioni Booleane di intersezione (∩) e di complemento (c ) avendosi evidentemente per ogni ρ , σ ∈ R(X): (ρ c )c = ρ , (ρ ∪ σ )c = ρ c ∩ σ c , (ρ ∩ σ )c = ρ c ∪ σ c . Inoltre in R(X) si possono introdurre le due operazioni unarie (−1 ) e (+ ) definite per ogni ρ ∈ R(X) come:

ρ −1 = {(a, b) ∈ X × X | (b, a) ∈ ρ }, ρ + =

 i≥1

ρ i.

1.11 Relazioni binarie ed operatori di chiusura

29

La relazione ρ −1 è la relazione inversa di ρ . L’operatore (−1 ) verifica le seguenti proprietà: per ogni ρ , σ ∈ R(X): (ρσ )−1 = σ −1 ρ −1 , (ρ −1 )−1 = ρ , (ρ ∪ σ )−1 = ρ −1 ∪ σ −1 , (ρ ∩ σ )−1 = ρ −1 ∩ σ −1 . Da queste relazioni segue facilmente che l’operatore (−1 ) è isotono con l’inclusione insiemistica, cioè per ogni ρ , σ ∈ R(X):

ρ ⊆ σ implica ρ −1 ⊆ σ −1 . L’operatore (+ ) fornisce per ogni ρ ∈ R(X) il sottosemigruppo monogenico, rispetto all’operazione di prodotto, di R(X) generato da ρ . In base alla definizione si ha che per a, b ∈ X a ρ + b ⇐⇒ esiste k ≥ 1 tale che a ρ k b, cioè esistono z1 , z2 , . . . , zk−1 ∈ X tali che a ρ z1 , . . . , zi ρ zi+1 , . . . , zk−1 ρ b (i = 1, . . . , k − 2). In termini del grafo associato alla relazione ρ si ha che a ρ + b se e solo se esiste nel grafo di ρ un cammino che parte da a e perviene a b. Per ogni ρ ∈ R(X), si porrà ρ ∗ = ρ + ∪ ι . L’operatore (∗ ) applicato ad una relazione binaria in X definisce il sottomonoide di R(X) generato da ρ . L’operatore (+ ), cosìS¸ come (∗ ), soddisfa le proprietà: per ogni ρ , σ ∈ R(X):

ρ ⊆ ρ + (estensività), se ρ ⊆ σ allora ρ + ⊆ σ + (isotonia), (ρ + )+ = ρ (idempotenza). Una relazione ρ ∈ R(X) si dice riflessiva se ι ⊆ ρ ; si dice simmetrica se ρ −1 ⊆ ρ e transitiva se ρ 2 ⊆ ρ . La relazione ρ si dice antisimmetrica se ρ ∩ ρ −1 = ι . Una relazione che sia riflessiva e transitiva si dice quasi-ordine. Un relazione di quasi-ordine che verifica la prorietà antisimmetrica si dice una relazione di ordine parziale. Ricordiamo che una relazione ρ che sia riflessiva, simmetrica e transitiva è una relazione di equivalenza. Se ρ è una equivalenza in X allora dall’essere ι ⊆ ρ si ricava ρ ⊆ ρ 2 e quindi ρ = ρ 2 . Inoltre poiché ρ −1 ⊆ ρ segue che (ρ −1 )−1 = ρ ⊆ ρ −1 e quindi ρ = ρ −1 . Denotiamo con Ri f l(X), Sim(X), Trans(X), Eq(X) i sottoinsiemi di R(X) costituiti dalle relazioni riflessive, simmetriche, transitive e di equivalenza in X. Possiamo facilmente dimostrare che i predetti insiemi sono famiglie di Moore di parti di X × X. Infatti è chiaro che la relazione X × X è una relazione di equivalenza.  Sia {ρi }i∈I un qualsiasi insieme di relazioni e ρ = i∈I ρi la intersezione di esse.

30

1 Teoria dei Semigruppi

Supponiamo che per ogni i ∈ I, ρi ∈ Ri f l(X). Poiché ι ⊆ ρi per ogni i ∈ I, si ha allora ι ⊆ ρ cosicché ρ è una relazione riflessiva. Supponiamo ora che per ogni i ∈ I, ρi ∈ Sim(X). Per ogni a, b ∈ X si ha (a, b) ∈ ρ ⇐⇒ ∀ i ∈ I, (a, b) ∈ ρi ⇐⇒ ∀ i ∈ I, (b, a) ∈ ρi ⇐⇒ (b, a) ∈ ρ , cosicché ρ è una relazione simmetrica. Supponiamo che per ogni i ∈ I, ρi ∈ Trans(X). Siano a, b ∈ X tali che (a, b) ∈ ρ 2 . Pertanto esiste c ∈ X tale che (a, c), (c, b) ∈ ρ . Ciò implica che ∀ i ∈ I, (a, c), (c, b) ∈ ρi e quindi (a, b) ∈ ρ e ρ è una relazione transitiva. Da quanto detto segue anche che le relazioni di equivalenza in R(X) sono chiuse per intersezione completa. Sia ρ ∈ R(X); potremo allora considerare le relazioni ρr , ρs , ρt e ρe definite rispettivamente quali la più piccola relazione riflessiva, simmetrica, transitiva e di equivalenza contenenti ρ . Possiamo quindi individuare quattro operazioni unarie (o operatori) chiuse in R(X) che denoteremo con (r) (s) (t) e (e), che ad ogni relazione ρ ∈ R(X) associano rispettivamente le relazioni ρr (chiusura riflessiva), ρs (chiusura simmetrica), ρt (chiusura transitiva) e ρe (chiusura di equivalenza). Le relazioni ρr , ρs , ρt e ρe prendono anche il nome rispettivamente di relazione riflessiva, simmetrica, transitiva e di equivalenza generate da ρ . Proposizione 1.22. Per ogni ρ ∈ R(X) si ha che

ρr = ρ ∪ ι , ρs = ρ ∪ ρ −1 , ρt = ρ + , ρe = (ρ ∪ ρ −1 ∪ ι )+ . Dimostrazione. Sia σ una relazione riflessiva che contiene ρ . poiché ι ⊆ σ segue che ρ ∪ ι ⊆ σ . Quindi ρ ∪ ι ⊆ ρr . poiché ρ ∪ ι è riflessiva e ρ ⊆ ρ ∪ ι segue che ρr ⊆ ρ ∪ ι e quindi ρr = ρ ∪ ι . Sia ora σ una relazione simmetrica che contiene ρ . Si ha allora che ρ ⊆ σ implica che σ −1 = σ ⊇ ρ −1 e quindi σ ⊇ ρ ∪ ρ −1 . D’altra parte poiché ρ ∪ ρ −1 è simmetrica e contiene ρ si ha che ρ ∪ ρ −1 ⊇ ρs . Di qui segue che ρs = ρ ∪ ρ −1 . Sia σ una relazione transitiva che contiene ρ . Si ha allora che σ ⊇ ρ implica che σ 2 ⊇ σ ρ ⊇ ρ 2 e quindi σ ⊇ σ 2 ⊇ ρ 2 . Per iterazione segue che per ogni n > 0, σ ⊇ ρ n . Si ha pertanto che σ ⊇ ρ + e ρt ⊇ ρ + . Dalla definizione si ha che ρ + è una relazione transitiva cosicché ρ + ⊇ ρt . Si ha pertanto che ρ + = ρt . Sia σ una relazione di equivalenza che contiene ρ . Si ha allora che

σ ⊇ ρ , σ −1 = σ ⊇ ρ −1 e σ ⊇ ι , il che comporta σ ⊇ ρ ∪ ρ −1 ∪ ι e σ + = σ ⊇ (ρ ∪ ρ −1 ∪ ι )+ . Pertanto ρe ⊇ (ρ ∪ ρ −1 ∪ ι )+ . La relazione (ρ ∪ ρ −1 ∪ ι )+ è ovviamente riflessiva e transitiva e tale da contenere ρ . Dimostriamo ora che (ρ ∪ ρ −1 ∪ ι )+ è anche simmetrica. Siano a, b ∈ X tali che (a, b) ∈ (ρ ∪ ρ −1 ∪ ι )+ . Ciò avviene se e solo se esiste un intero k > 0 ed elementi c1 , . . . , ck−1 ∈ X tali che: (a, c1 ), . . . , (ci , ci+1 ), . . . , (ck−1 , b) ∈ (ρ ∪ ρ −1 ∪ ι ) (i = 1, . . . , k − 2).

1.12 Reticolo delle congruenze di un semigruppo

31

Poiché ρ ∪ ρ −1 ∪ ι è una relazione simmetrica si ha allora (c1 , a), . . . , (ci+1 , ci ), . . . , (b, ck−1 ) ∈ (ρ ∪ ρ −1 ∪ ι ) (i = 1, . . . , k − 2), il che comporta (b, a) ∈ (ρ ∪ ρ −1 ∪ ι )+ . Pertanto (ρ ∪ ρ −1 ∪ ι )+ è una relazione di equivalenza che contiene ρ . Si ha allora (ρ ∪ ρ −1 ∪ ι )+ ⊇ ρe e quindi in conclusione segue che ρe = (ρ ∪ ρ −1 ∪ ι )+ .   Siano ϑ1 e ϑ2 due relazioni di equivalenza. Mentre l’intersezione ϑ1 ∩ ϑ2 è ancora una relazione di equivalenza l’unione ϑ1 ∪ ϑ2 in generale non lo è. Potremo allora considerare la relazione di equivalenza generata da ϑ1 ∪ ϑ2 . Si porrà ϑ1 ∨ ϑ2 = (ϑ1 ∪ ϑ2 )e . Dal fatto che ϑ1 e ϑ2 sono due equivalenze e dalla precedente formula si ricava ϑ1 ∨ ϑ2 = (ϑ1 ∪ ϑ2 )+ . Si verifica che Eq(X) è un reticolo, relativamente alla relazione di inclusione, rispetto alle operazioni ∩ e ∨. Anzi poiché le operazioni ∩ e ∨ sono definibili per un qualsiasi insieme di equivalenze in X, si ha che Eq(X) è un reticolo completo (cf. Birkhoff 1967). Poniamoci ora il problema di quando il prodotto ϑ1 ϑ2 di due relazioni di equivalenza è ancora una relazione di equivalenza. Una risposta a tale quesito è fornito dalla proposizione seguente. Proposizione 1.23. Siano ϑ1 , ϑ2 ∈ Eq(X). Il prodotto ϑ1 ϑ2 ∈ Eq(X) se e solo se ϑ1 ϑ2 = ϑ2 ϑ1 . In tal caso

ϑ1 ∨ ϑ2 = ϑ1 ϑ2 = ϑ2 ϑ1 . Dimostrazione. Supponiamo che ϑ1 ϑ2 ∈ Eq(X); poiché vale la proprietà simmetrica deve aversi (ϑ1 ϑ2 )−1 = ϑ2−1 ϑ1−1 = ϑ1 ϑ2 . Poiché ϑ1 , ϑ2 ∈ Eq(X) si ha ϑ1−1 = ϑ1 e ϑ2−1 = ϑ2 cosicché ne segue che ϑ1 ϑ2 = ϑ2 ϑ1 . Viceversa supponiamo che ϑ1 ϑ2 = ϑ2 ϑ1 . poiché ϑ1 , ϑ2 ⊇ ι si ha che ϑ1 ϑ2 ⊇ ι . Inoltre come si è visto (ϑ1 ϑ2 )−1 = ϑ1 ϑ2 . Infine (ϑ1 ϑ2 )2 = ϑ1 ϑ2 ϑ1 ϑ2 = ϑ1 ϑ1 ϑ2 ϑ2 = ϑ1 2 ϑ2 2 = ϑ1 ϑ2 . Dimostriamo ora che nell’ipotesi che ϑ1 ϑ2 = ϑ2 ϑ1 l’equivalenza generata da ϑ1 ∪ ϑ2 è data da ϑ1 ϑ2 . Infatti poiché ϑ1 , ϑ2 ⊇ ι si ha che ϑ1 ϑ2 ⊇ ϑ1 , ϑ2 ; ciò comporta che ϑ1 ϑ2 ⊇ ϑ1 ∪ ϑ2 . Essendo ϑ1 ϑ2 un’equivalenza ne segue che ϑ1 ϑ2 ⊇ ϑ1 ∨ ϑ2 . Viceversa poiché ϑ1 ∨ ϑ2 ⊇ ϑ1 , ϑ2 , segue che (ϑ1 ∨ ϑ2 )2 = ϑ1 ∨ ϑ2 ⊇ ϑ1 ϑ2 . Di qui si ha che ϑ1 ∨ ϑ2 = ϑ1 ϑ2 .   Conviene osservare che il predetto risultato può anche ricavarsi in modo diretto utilizzando la formula ϑ1 ∨ ϑ2 = (ϑ1 ∪ ϑ2 )+ .

1.12 Reticolo delle congruenze di un semigruppo Supponiamo ora che X sia un semigruppo S. Potremo denotare con Comp(S) l’insieme delle relazioni binarie in X che sono compatibili con il prodotto.

32

1 Teoria dei Semigruppi

Si ha: Proposizione 1.24. Comp(S) è una famiglia di Moore di parti di S × S. Dimostrazione. Infatti S × S è compatibile con il prodotto; inoltre Comp(S) è chiuso per intersezione completa. Sia infatti {ρi }i∈I un qualsiasi insieme di relazioni di  Comp(S) e ρ = i∈I ρi la intersezione di esse. Dimostriamo che ρ è compatibile a destra con il prodotto. Supponiamo che per u, v ∈ S si abbia u ρ v. Ciò comporta che per ogni i ∈ I, u ρi v. Essendo ρi ∈ Comp(S) segue che per ogni w ∈ S, uw ρi vw. Si ha pertanto che ∀ w ∈ S, ∀ i ∈ I uw ρi vw, ovvero ∀ w ∈ S, uw ρ vw. In modo perfettamente simmetrico si dimostra la compatibilità a sinistra di ρ .   In base alla precedente proposizione per ogni relazione ρ ∈ R(S) si può considerare la relazione ρc ∈ R(S) definita quale la più˙I piccola relazione compatibile con il prodotto che contiene ρ . Introduciamo poi per ogni ρ ∈ R(S) la relazione ρreg ∈ R(S) definita come:

ρreg = {(xay, xby) ∈ S × S | (x, y) ∈ S1 × S1 e (a, b) ∈ ρ }. In altri termini se u, v ∈ S, u ρreg v se e solo se ∃ (x, y) ∈ S1 × S1 ed (a, b) ∈ ρ tali che u = xay e v = xby. In base alla definizione segue che se ρ , σ ∈ R(S) e ρ ⊆ σ allora ρreg ⊆ σreg . Proposizione 1.25. Sia ρ ∈ R(S). Si ha allora che ρc = ρreg . Dimostrazione. Dalla definizione segue immediatamente che ρreg è una relazione compatibile con il prodotto che contiene ρ cosicché ρreg ⊇ ρc . Viceversa poiché ρ ⊆ ρc si ha che ρreg ⊆ (ρc )reg . Dimostriamo ora che (ρc )reg = ρc , per la qual cosa è sufficiente dimostrare che (ρc )reg ⊆ ρc . Supponiamo infatti che u, v ∈ S siano tali che u (ρc )reg v. Ciò comporta che esiste (a, b) ∈ ρc ed esiste (x, y) ∈ S1 × S1 in modo tale che u = xay e v = xby. Essendo ρc compatibile con il prodotto l’essere a ρc b implica xay = u ρc v = xby. Di qui segue l’asserto.   La relazione ρreg = ρc è detta anche la relazione regolare generata da ρ . Ricordiamo che una relazione di congruenza in S è una relazione di equivalenza in S compatibile con il prodotto. Se denotiamo con Congr(S) l’insieme delle congruenze in S si ha allora che Congr(S) = Eq(S) ∩Comp(S). Proposizione 1.26. Congr(S) è una famiglia di Moore di parti di S × S. Dimostrazione. Infatti S × S è banalmente una relazione di congruenza in S. Inoltre Congr(S) è chiuso per intersezione completa. Infatti comunque si prendano delle congruenze la loro intersezione è certamente una equivalenza poiché Eq(S) è una famiglia di Moore di parti di S × S ed è inoltre regolare poiché Comp(S) è una famiglia di Moore di parti di S × S.   Per ogni relazione ρ ∈ R(S) si può considerare la relazione ρcong ∈ R(S) definita quale la più piccola congruenza che contiene ρ . La relazione ρcong è detta anche la congruenza generata da ρ . Si viene quindi ad individuare un’operatore di chiusura (cong) definito in R(S) e che ad ogni relazione ρ ∈ R(S) associa ρcong ∈ R(S).

1.13 Cenni di algebra universale

33

Proposizione 1.27. Sia ρ ∈ R(S). Si ha allora che

ρcong = (ρreg )e = (ρreg ∪ ρreg −1 ∪ ι )+ . Dimostrazione. Poiché ρcong ⊇ ρ e ρcong è regolare si ha che ρcong ⊇ ρreg . Essendo inoltre ρcong una relazione d’equivalenza che contiene ρreg deve aversi che ρcong contiene (ρreg )e che è la relazione d’equivalenza generata da ρreg . Dimostriamo, viceversa, che (ρreg )e è una relazione di congruenza che contiene ρ . Si tratta di far vedere che (ρreg )e è compatibile a destra e a sinistra con il prodotto. Noi dimostreremo la compatibilità a destra; in modo simmetrico si dimostra la compatibilità a sinistra. Siano a, b ∈ S tali che (a, b) ∈ (ρreg ∪ ρreg −1 ∪ ι )+ . Ciò avviene se e solo se esiste un intero k > 0 ed elementi c1 , . . . , ck−1 ∈ S tali che: (a, c1 ), . . . , (ci , ci+1 ), . . . , (ck−1 , b) ∈ (ρreg ∪ ρreg −1 ∪ ι ) (i = 1, . . . , k − 2). Se poniamo a = c0 e b = ck , la precedente condizione è verificata se e solo se per i ∈ [0, k − 1]: ci = ci+1 , oppure ci ρreg ci+1 oppure ci+1 ρreg ci . Poiché ρreg è compatibile a destra con il prodotto deve aversi per ogni u ∈ S e i ∈ [0, k − 1]: ci u = ci+1 u, oppure ci u ρreg ci+1 u oppure ci+1 u ρreg ci u, ovvero per ogni u ∈ S, au (ρreg ∪ ρreg −1 ∪ ι )+ bu. Ciò dimostra che (ρreg )e è compatibile a destra con il prodotto.   Siano ϑ1 e ϑ2 due relazioni di congruenza nel semigruppo S. Mentre l’intersezione ϑ1 ∩ ϑ2 è ancora una relazione di congruenza l’unione ϑ1 ∪ ϑ2 in generale non lo è. Potremo allora considerare la relazione di congruenza generata da ϑ1 ∪ ϑ2 . Si porrà ϑ1 ∨ ϑ2 = (ϑ1 ∪ ϑ2 )cong . Si verifica che, relativamente alla relazione di inclusione, Congr(S) è un reticolo rispetto alle operazioni ∩ e ∨. Anzi poiché le operazioni ∩ e ∨ sono definibili per un qualsiasi insieme di congruenze in S, si ha che Congr(S) è un reticolo completo.

1.13 Cenni di algebra universale L’Algebra universale ha per oggetto di studio quei concetti, definizioni e risultati di natura algebrica che non dipendono dal particolare tipo di algebra, ma esclusivamente dal considerare un insieme S sul quale sono definite un certo numero di operazioni chiuse in S. I teoremi che si ottengono sono quindi estremamente generali in quanto validi in tutte le algebre. In questa breve sezione ci limiteremo a dare solo alcuni cenni di algebra universale che saranno utili nel seguito. Il Lettore interessato potrà approfondire l’argomento consultando i volumi di G. Birkhoff e P. Cohn riportati in bibliografia.

34

1 Teoria dei Semigruppi

Un’algebra, in senso universale, è una coppia A = [S, F] dove S è un insieme detto supporto dell’algebra e F è un insieme di operazioni sugli elementi di S, chiuse in S. Supporremo che l’insieme F è finito e che le operazioni agiscono su un numero finito di elementi. Più precisamente gli elementi di F sono delle applicazioni: fα : Snα → S, dove nα è un intero non negativo, Snα denota il prodotto cartesiano: S nα = S × · · · × S  nα

e α varia in un insieme finito di interi {1, 2, . . . , γ }. Pertanto per ogni s1 , . . . , snα ∈ S, fα (s1 , . . . , snα ) ∈ S. Per ogni α , nα è detto arità dell’operazione fα . Se nα = 2 l’operazione fα si dice binaria, se nα = 1 unaria e se nα = 0 l’operazione, detta nullaria o zeraria, individua, o sceglie, un particolare elemento del supporto detto costante. Si definisce per tipo dell’algebra A la sequenza

τ (A ) = (n1 , · · · , nγ ). Ad esempio un semigruppo è un algebra dove F è costituito da una sola operazione binaria (associativa). In un monoide M oltre ad una operazione binaria vi è una operazione nullaria che corrisponde all’elemento identità del monoide, cosicché τ (M) = (2, 0). In un gruppo vi è una ulteriore operazione unaria che ad ogni elemento associa il suo inverso. Nel caso di un gruppo G il tipo τ (G) è (2, 0, 1). Due algebre A e B si dicono simili se τ (A ) = τ (B). Siano A = [S, F A ] e B= [T, F B ] due algebre simili. Esiste dunque una corrispondenza biunivoca tra le operazioni fαA di F A e le operazioni fαB di F B . Per questo motivo quando non vi è ambiguità fαA e fαB si denoteranno semplicemente con fα . Sia A = [S, F] un’algebra. Un sottoinsieme T di S è chiuso rispetto alle operazioni di F se per ogni α ∈ {1, 2, . . . , γ } t1 , . . . ,tnα ∈ T =⇒ fα (t1 , . . . ,tnα ) ∈ T. Si può allora definire l’algebra B = [T, F] simile ad A avente come supporto l’insieme T e le operazioni fα di B, per ogni α ∈ {1, 2, . . . , γ }, sono le operazioni fα di A ristrette a T nα . L’algebra B = [T, F] è detta sottoalgebra di A . Si scriverà B ≤ A per denotare che B è una sottoalgebra di A . Proposizione 1.28. Sia A = [S, F] un’algebra. Se Aβ = [Sβ , F], β ∈ B, sono sot toalgebre di A allora B = [T, F] con T = β Sβ è una sottoalgebra di A . Dimostrazione. Per ogni α ∈ {1, 2, . . . , γ } siano t1 , . . . ,tnα ∈ T . Ciò comporta che per ogni β ∈ B, t1 , . . . ,tnα ∈ Sβ . Essendo Sβ chiuso rispetto alle operazioni di F si ha fα (t1 , . . . ,tnα ) ∈ Sβ per ogni β ∈ B e quindi fα (t1 , . . . ,tnα ) ∈ T .  

1.13 Cenni di algebra universale

35

L’algebra B della precedente proposizione è detta intersezione delle algebre Aβ ,  β ∈ B, e si scrive B = β ∈B Aβ . Sia A = [S, F] un’algebra e X un sottoinsieme di S. Si definisce sottoalgebra generata da X e si denota con X, l’intersezione di tutte le sottoalgebre Aβ = [Sβ , F] di A i cui supporti contengono X. Più formalmente X =



{Aβ | Aβ ≤ A e X ⊆ Sβ }.

β ∈B

Si noti che la precedente intersezione non è vuota poiché, per ogni β ∈ B, X ⊆ Sβ and Aβ ≤ A . Consideriamo ora a partire da X ⊆ S la seguente successione di insiemi (Zi )i≥1 definita induttivamente come: per i ≥ 1 Z1 = X, Zi+1 = Zi ∪

γ  α =1

{ fα (x1 , . . . , xnα ) | xi ∈ Zi , 1 ≤ i ≤ nα }.

Proposizione 1.29. Sia A = [S, F] un’algebra. Per ogni X ⊆ S si ha X = [Z, F] con Z=



Zi .

i≥1



Dimostrazione. Poniamo Z = i≥1 Zi . L’insieme Z contiene X ed inoltre è chiuso rispetto alle operazioni di F. Infatti per ogni α ∈ {1, . . . , γ } se z1 , . . . , znα ∈ Z esiste un intero i tale che z1 , . . . , znα ∈ Zi cosicché fα (z1 , . . . , znα ) ∈ Zi+1 ⊆ Z. Pertanto X ≤ [Z, F]. Viceversa poiché X ⊇ X = Z1 e X è chiusa rispetto a tutte le operazioni fα ∈ F si ha che X ⊇ Z2 . Per induzione si ha che per ogni i ≥ 1, X ⊇ Zi e quindi X ⊇ Z. Si ha allora X ≥ [Z, F] e quindi l’asserto.   Un morfismo tra due algebre simili è un’applicazione dei supporti che preserva le operazioni, cioè l’immagine del risultato di una qualsiasi operazione effettuata nell’algebra di partenza coincide con il risultato dell’operazione corrispondente nell’algebra di arrivo. Più precisamente un morfismo ϕ : A → B è un’applicazione ϕ : S → T tale che: per ogni α = 1, 2, . . . , γ ( fα (x1 , . . . , xnα ))ϕ = fα (x1 ϕ , . . . , xnα ϕ ). Un morfismo si dice epimorfismo se l’applicazione ϕ è suriettiva, si dice monomorfismo se ϕ iniettiva e isomorfismo se ϕ è biiettiva. Se S = T allora ϕ è detto endomorfismo. Un endomorfismo che è un isomorfismo è detto automorfismo. Se le algebre A e B sono isomorfe si scriverà A ∼ = B. Siano End(A ) e Aut(A ) rispettivamente gli insiemi degli endomorfismi e degli automorfismi di A . Si dimostra facilmente che End(A ) è un monoide e Aut(A ) un gruppo (vedi Eser. 1.19).

36

1 Teoria dei Semigruppi

La seguente proposizione mostra che la proprietà di essere una sottoalgebra si preserva per morfismi diretti e inversi. Proposizione 1.30. Sia ϕ : A → B un morfismo di A = [S, F] in B = [T, F]. Valgono le seguenti due condizioni: 1) Se C = [S , F] ≤ A allora [ϕ (S ), F] ≤ B, 2) Se C = [T , F] ≤ B allora [ϕ −1 (T ), F] ≤ A . Dimostrazione. Mostriamo che ϕ (S ) è un sottoinsieme di T chiuso rispetto alle operazioni di F. Per ogni α ∈ {1, . . . , γ } siano y1 , . . . , ynα ∈ ϕ (S ) e x1 , . . . , xnα ∈ S tali che ϕ (xi ) = yi , 1 ≤ i ≤ nα . Poiché C ≤ A si ha fα (x1 , . . . , xnα ) ∈ S e quindi ( fα (x1 , . . . , xnα ))ϕ = fα (y1 , . . . , ynα ) ∈ ϕ (S ) il che dimostra il punto 1). Mostriamo ora che ϕ −1 (T ) è un sottoinsieme di S chiuso rispetto alle operazioni di F. Siano infatti per ogni α ∈ {1, . . . , γ }, x1 , . . . , xnα ∈ ϕ −1 (T ). Si ha ϕ (xi ) = yi ∈ T , 1 ≤ i ≤ nα . Poiché C ≤ B ne segue fα (y1 , . . . , ynα ) = ( fα (x1 , . . . , xnα ))ϕ ∈ T e quindi fα (x1 , . . . , xnα ) ∈ ϕ −1 (T ), il che dimostra il punto 2).   La nozione duale di morfismo è quella di relazione di congruenza in un’algebra A = [S, F]. Una congruenza in A è una relazione di equivalenza nel supporto di A che verifica la proprietà di sostituzione, cioè se in una qualsiasi espressione in cui intervengono le operazioni dell’algebra si sostituiscono elementi di S con elementi ad essi congruenti si ottiene un risultato che è congruente al primo. Più precisamente una relazione di congruenza ϑ di A = [S, F] è una relazione di equivalenza in S tale che per ogni α ∈ {1, 2, . . . , γ }, xi ϑ yi , i = 1, . . . , nα =⇒ fα (x1 , . . . , xnα ) ϑ fα (y1 , . . . , ynα ). Proposizione 1.31. Sia ϕ : A → B un morfismo di due algebre simili. La relazione di equivalenza ϑ = ϕϕ −1 è una relazione di congruenza in A . Dimostrazione. Sia α ∈ {1, 2, . . . , γ } e xi ϕϕ −1 yi per ogni i = 1, 2, . . . , nα . Si ha allora: ( fα (x1 , . . . , xnα ))ϕ = fα (x1 ϕ , . . . , xnα ϕ ) = fα (y1 ϕ , . . . , ynα ϕ ) = ( fα (y1 , . . . , ynα ))ϕ , cioè fα (x1 , . . . , xnα ) ϑ fα (y1 , . . . , ynα ), il che dimostra l’asserto.

 

La relazione ϕϕ −1 è detta la relazione di congruenza naturalmente indotta dal morfismo ϕ . Sia ϑ una relazione di congruenza di A = [S, F]. Si può definire un’algebra simile ad A , detta algebra quoziente di A per ϑ , il cui supporto è l’insieme quoziente S/ϑ e le operazioni fα , α = 1, . . . , γ , sono definite come: fα (ϑ (x1 ), . . . , ϑ (xnα )) = ϑ ( fα (x1 , . . . , xnα )).

1.13 Cenni di algebra universale

37

Si noti che le operazioni sono ben definite poiché ϑ è una relazione di congruenza, cosicché se y1 , . . . , ynα sono elementi di S tali che yi ∈ ϑ (xi ), i = 1, . . . , nα , si ha fα (ϑ (x1 ), . . . , ϑ (xnα )) = fα (ϑ (y1 ), . . . , ϑ (ynα )). L’algebra quoziente di A per ϑ si denota con A /ϑ . Proposizione 1.32. Sia ϑ una congruenza dell’algebra A = [S, F]. L’applicazione ψϑ : A → A /ϑ che ad ogni elemento s ∈ S associa la classe di congruenza ϑ (s) è un epimorfismo. Dimostrazione. Denotiamo ψϑ semplicemente con ψ . Per ogni α ∈ {1, 2, . . . , γ } si ha: ( fα (x1 , . . . , xnα ))ψ = ϑ ( fα (x1 , . . . , xnα )) = fα (ϑ (x1 ), . . . , ϑ (xnα )) = fα (x1 ψ , . . . , xnα ψ ). Poiché ψ è un’applicazione suriettiva, si ha che ψ è un epimorfismo.

 

Il morfismo ψϑ è detto anche l’epimorfismo canonico di A in A /ϑ . Vale per le algebre universali il seguente teorema di isomorfismo già dimostrato nel caso dei semigruppi (cf. Teor. 1.1). Teorema 1.3. Sia ϕ : A → B un epimorfismo dell’algebra A = [S, F] nell’algebra simile B= [T, F]. Sia ϑϕ la congruenza naturalmente indotta dal morfismo ϕ e A /ϑϕ l’algebra quoziente di A mediante ϑϕ . Si ha allora A /ϑϕ ∼ = B. Se ζ denota il predetto isomorfismo e ψϑ l’epimorfismo canonico si ha che

ϕ = ψϑ ζ . Dimostrazione. Denotiamo ϑϕ e ψϑ semplicemente con ϑ e ψ . Consideriamo poi l’applicazione ζ : A /ϑ → B definita da: per ogni s ∈ S

ζ (ϑ (s)) = ϕ (s). La precedente definizione è non ambigua; infatti s ϑ s se e solo se ϕ (s) = ϕ (s ). Inoltre ζ è un morfismo. Infatti, per ogni α ∈ {1, 2, . . . , γ } ( fα (ϑ (x1 ), . . . , ϑ (xnα )))ζ = (( fα (x1 , . . . , xnα ))ψζ = ( fα (x1 , . . . , xnα ))ϕ = fα (x1 ϕ , . . . , xnα ϕ ) = fα (ϑ (x1 )ζ , . . . , ϑ (xnα )ζ ).

ζ è un epimorfismo perché tale risulta ϕ . Inoltre ζ è iniettiva. Infatti ζ (ϑ (s1 )) = ζ (ϑ (s2 )) comporta ϕ (s1 ) = ϕ (s2 ) e quindi s1 ϑ s2 . Quindi ζ è un isomorfismo. Dalla definizione di ζ si ha infine ϕ = ψζ .   Un’altra importante nozione di algebra universale è quella di algebra libera . Più precisamente sia F = {Aγ }, γ ∈ Γ e Aγ = [Sγ , F] una famiglia di algebre dello stesso tipo (ad esempio, semigruppi, monoidi, gruppi). Un’algebra A = [S, F] della

38

1 Teoria dei Semigruppi

famiglia si definisce algebra libera in F se esiste X ⊆ S tale che: 1) X è un insieme di generatori A , cioè X = S, 2) Per ogni γ ∈ Γ , ogni applicazione ϕ : X → Sγ si estende ad un unico morfismo

ϕ : A → Aγ . L’insieme X si dirà una base di A . Nel Capitolo 3 tratteremo nei dettagli la teoria dei semigruppi e dei monoidi liberi. A conclusione di questa sezione osserviamo che se A = [S, F] è un’algebra è possibile definire la famiglia Ric(A ) delle parti riconoscibili di A quale la famiglia dei sottoinsiemi di S che saturano una congruenza dell’algebra A di indice finito, cosicché un sottoinsieme X di S è riconoscibile se X è unione di classi di una relazione di congruenza in A di indice finito. Tale definizione estende dunque ad una qualsiasi algebra la nozione di riconoscibilità data nel caso dei semigruppi e dei monoidi. Anche la nozione di razionalità può essere definita per una qualsiasi algebra. Infatti, si osservi che se A = [S, F] è un’algebra è possibile estendere le operazioni fα ∈ F, α = 1, . . . , γ , alle parti di S ponendo: per ogni X1 , . . . , Xn(α ) sottoinsiemi di S, fα (X1 , . . . , Xn(α ) ) = { fα (x1 , . . . , xn(α ) ) | x1 ∈ X1 , . . . , xn(α ) ∈ Xn(α ) }. La famiglia Rat(A ) può definirsi come la più piccola famiglia di parti di S che contiene le parti finite ed è chiusa rispetto all’operazione di unione, alle operazioni di F e all’operazione unaria di sottoalgebra generata (tale operazione ad ogni X ⊆ S associa X). Pertanto X ⊆ S appartiene a Rat(A ) se e solo se è una parte finita di S oppure può ottenersi dalle parti finite di S applicando un numero finito di volte le operazioni di unione, le operazioni di F e l’operazione di sottoalgebra generata. Questa definizione della razionalità al caso di algebre generali estende quella data nel caso dei semigruppi e dei monoidi.

1.14 Esercizi 1.1. Sia X un insieme. Dimostrare che l’insieme FP(X) di tutte le funzioni parziali da X in X è un sottomonoide di R(X). 1.2. Verificare che la tavola di moltiplicazione seguente a b c d definisce un semigruppo di ordine 4.

a a a a a

b c a a a a b c b d

d a a d c

1.14 Esercizi

39

1.3. Un elemento e di un semigruppo S è un’identità sinistra se ex = x per ogni x ∈ S e un’identità destra se xe = x per ogni x ∈ S. Mostrare che se S ha un’identità sinistra e ed un’identità destra f allora e = f . Dare un esempio di semigruppo che ha un’identità sinistra che non è un’identità destra. 1.4. Mostrare che se S è un semigruppo cancellativo a destra ogni elemento di ordine finito ha indice 1. Mostrare che ogni semigruppo cancellativo a destra e periodico è un’unione di gruppi. 1.5. Sia S un semigruppo privo di identità. Mostrare che S è cancellativo senza idempotenti se e solo se S1 è un monoide cancellativo. 1.6. Sia S un sottosemigruppo di un gruppo finito G. Mostrare che S è un sottogruppo di G. 1.7. Siano G1 e G2 due gruppi. Dimostrare che se ϕ : G1 −→ G2 è tale che per ogni g1 , g2 ∈ G1 , ϕ (g1 g2 ) = ϕ (g1 )ϕ (g2 ) allora ϕ è un morfismo del gruppo G1 nel gruppo G2 . 1.8. Sia ϑ una relazione di congruenza in un semigruppo G. Mostrare che se G è un gruppo allora ϑ è una congruenza nel gruppo G. 1.9. Dimostrare che se ϑ è una congruenza di un gruppo G allora ϑ (1) è un sottogruppo normale di G. Viceversa se H è un sottogruppo normale di G allora la relazione di equivalenza ϑ definita in G come: per ogni g1 , g2 ∈ G, Hg1 = Hg2 , è una congruenza ed inoltre risulta H = ϑ (1). 1.10. Sia S un semigruppo. Mostrare che End(S) è un monoide ed Aut(S) è un gruppo. 1.11. Mostrare che la funzione logaritmo naturale è un isomorfismo del monoide moltiplicativo R+ dei reali positivi nel monoide additivo R dei reali. 1.12. Sia S il semigruppo dell’Esercizio 1.2. Mostrare che l’equivalenza ϑ definita dalla partizione {a, b}, {c, d} è una congruenza. Si calcoli la tavola di moltiplicazione del semigruppo quoziente. 1.13. Sia definita in S = {a, b, c, d} l’operazione di prodotto mediante la seguente tabella: a b c d

a c d a b

b d d b b

c a b c d

d b b d d

Verificare che S è un semigruppo e che le congruenze in S, oltre alle congruenze banali ι e S × S, sono: σ le cui classi sono {a, b}, {c, d}, μ le cui classi sono {a, c}, {b, d} e ζ con le classi {a}, {c}, {b, d}. Costruire il semigruppo quoziente S/ζ .

40

1 Teoria dei Semigruppi

1.14. Si consideri il semigruppo delle trasformazioni dell’insieme X = {1, 2, 3} ed il sottosemigruppo S generato dalle applicazioni a, b : X → X definite dalla tavola: a b 1 2 3 2 2 3 3 1 3 Mostrare che S contiene 4 elementi a, b, c, d con c = a2 e d = ba e che la tavola di moltiplicazione è: a b c d

a c d c c

b b b b b

c c c c c

d d d d d

1.15. Sia A un alfabeto finito e sia w ∈ A+ una parola su A. Mostrare che l’indice dell’equivalenza di Nerode NX in A+ dove X = {w} è dato da |w| + 1 dove |w| denota la lunghezza di w. 1.16. Sia A un alfabeto finito e w una parola. Mostrare che il semigruppo sintattico di X = {w} è isomorfo al semigruppo dei fattori di w. 1.17. Mostrare che una relazione binaria ϑ in un insieme X è un’equivalenza se e solo se ι ⊆ ϑ e ϑ ϑ −1 ⊆ ϑ . 1.18. Mostrare che se S è un semigruppo generato da un sistema finito di generatori {g1 , . . . , gk }, k ≥ 1, allora Rat(S) coincide con la più piccola famiglia di parti che contiene i singleton {gi }, 1 ≤ i ≤ k, e l’insieme vuoto 0/ ed è chiusa rispetto alle operazioni razionali. 1.19. Sia A = [S, F] un’algebra in senso universale. Mostrare che l’insieme degli endomorfismi End(A ) di A è un monoide e che l’insieme degli automorfismi Aut(A ) di A è un gruppo.

1.15 Note bibliografiche La teoria dei semigruppi è molto vasta. Si pensi ad esempio che la teoria dei gruppi può considerarsi quale una parte della teoria dei semigruppi. Pertanto non esiste un unico volume che sia completo cioè tale da includere i molteplici aspetti della teoria. Il primo, e ormai classico, trattato di teoria dei semigruppi pubblicato in due volumi negli Anni ‘60 è dovuto a A.H. Clifford e G.B. Preston (Clifford, Preston, vol. I, 1961, vol. II, 1967).

1.15 Note bibliografiche

41

Un testo meno completo, ma più moderno e che costituisce una buona introduzione alla teoria dei semigruppi è il volume di J.M. Howie (Howie 1976). È da segnalare infine il testo di G. Lallement (Lallement 1979) in cui l’autore tratta principalmente la teoria combinatoria dei semigruppi e le sue applicazioni alla teoria degli Automi e dei Linguaggi Formali. Osserviamo, infine, che data la vastità della teoria, esistono vari altri testi, che qui non riportiamo, che trattano di classi particolari di semigruppi (ad es. semigruppi commutativi, semigruppi liberi, gruppi, etc.) la cui teoria è sufficientemente autonoma da poter essere presentata al di fuori del contesto generale della teoria dei semigruppi. Per le algebre universali il Lettore interessato può consultare i volumi di G. Birkhoff (Birkhoff 1967) e di P.M. Cohn (Cohn 1965). La nozione di costante introdotta nella Sezione 1.10.2 è dovuta a Schützenberger (Schützenberger 1975).

2 Relazioni di Green

In questo capitolo considereremo alcune relazioni di equivalenza in un semigruppo di grande importanza per lo studio della loro struttura, dette relazioni di Green, poiché introdotte per la prima volta da J. A. Green agli inizi degli Anni ’50. Le relazioni di Green sono definite sulla base della nozione di ideale (destro, sinistro e bilatere) di un semigruppo, già introdotta nel capitolo precedente. La teoria di Green risulta banale nel caso dei gruppi poiché essi non posseggono ideali non banali ed anche per certe famiglie di semigruppi quali i semigruppi e monoidi liberi e i semigruppi commutativi. Le relazioni di Green hanno particolare interesse nello studio dei semigruppi regolari e dei semigruppi finiti. Presenteremo infine un teorema molto importante relativo alla struttura dell’ideale minimo dei semigruppi finiti dovuto a A. Suschkewitsch.

2.1 Teoria di Green dei semigruppi Sia S un semigruppo. Introduciamo in S le relazioni binarie, che denoteremo con R, L e J, definite nel modo seguente: per ogni s,t ∈ S, s R t se sS1 = tS1 , s L t se S1 s = S1t, s J t se S1 sS1 = S1tS1 . Quindi s e t sono nella relazione R (risp. L ) se essi generano lo stesso ideale destro (risp. sinistro). Gli elementi s e t sono nella relazione J se generano lo stesso ideale bilatere. Si verifica che R, L e J sono relazioni di equivalenza in S. Denotiamo poi con H la relazione R ∩ L cioè l’intersezione di L e R e con D la relazione R ∨ L cioè la più piccola relazione di equivalenza in S contenente R e L . Osserviamo che, dalla definizione data, la relazione R è invariante a sinistra e la relazione L è invariante a destra. A. de Luca, F. D’Alessandro: Teoria degli Automi Finiti, UNITEXT – La Matematica per il 3+2 68, DOI 10.1007/978-88-470-5474-5_2, © Springer-Verlag Italia 2013

44

2 Relazioni di Green

Le relazioni R, L , J , H e D sono dette relazioni di Green. Lemma 2.1. Le relazioni R e L commutano e dunque D = RL = L R. Dimostrazione. Dimostriamo prima che L R ⊆ RL . Poiché, per ogni s,t ∈ S si ha s L R t ⇐⇒ ∃ c ∈ S : s L c e c R t, ne segue che ∃ u, v ∈ S1 : s = uc, t = cv, da cui si ottiene sv = ucv = ut. Poiché L è un’equivalenza invariante a destra si ha s L c =⇒ sv L cv, e poiché R è un’equivalenza invariante a sinistra si ha c R t =⇒ uc R ut. Essendo sv = ut si ha pertanto s R ut e ut L t da cui segue s RL t. Quindi L R ⊆ RL . Ciò comporta che (vedi Cap. 1, Sez. 1.11) (L R)−1 ⊆ (RL )−1 , ovvero, essendo R −1 = R e L −1 = L , R −1 L −1 = RL ⊆ L −1 R −1 = L R e quindi RL = L R. Dalla uguaglianza precedente, per la Proposizione 1.23, si ha che D = R ∨ L = RL = L R.   Proposizione 2.1. D ⊆ J . Dimostrazione. Per ogni s,t ∈ S si ha s L t =⇒ S1 s = S1t =⇒ S1 sS1 = S1tS1 =⇒ s J t, e s R t =⇒ sS1 = tS1 =⇒ S1 sS1 = S1tS1 =⇒ s J t, ovvero, R, L ⊆ J, e, di conseguenza, D = R ∨ L ⊆ J, il che dimostra l’asserto.

 

2.1 Teoria di Green dei semigruppi

45

J

D

@

@

@ @

R

L

@

@

@ @ H

Il diagramma sopra riportato rappresenta le inclusioni tra relazioni di Green di un semigruppo. Se s ∈ S denotiamo con Ls , Rs , Hs , Ds e Js rispettivamente la L -classe, R-classe, H -classe, D-classe e J -classe contenente s. Lemma 2.2. Siano s,t ∈ S. Allora Ls ∩ Rt = 0/ se e solo se Ds = Dt . Dimostrazione. Per ogni s,t ∈ S si ha Ls ∩ Rt = 0/ ⇐⇒ ∃ c ∈ S : c ∈ Ls e c ∈ Rt ⇐⇒ ⇐⇒ ∃ c ∈ S : s L c e c R t ⇐⇒ s D t.

 

In base ai lemmi precedenti, si può pervenire alla seguente struttura di un semigruppo detta anche “struttura a scatole d’uova” (in Inglese “egg-box picture”). Nella Fig. 2.1 si sono rappresentate le classi di equivalenza della relazione D di un semigruppo. Ogni D-classe è unione di R-classi e di L -classi. Ogni R-classe contenuta in una D-classe D ha intersezione non vuota con una qualsiasi L -classe contenuta in D. L’intersezione di una R-classe e di una L -classe contenute in D è una H -classe. Come si vedrà nel seguito le H -classi contenute in una stessa D-classe hanno la stessa cardinalità. Ricordiamo (cf. Cap. 1, Sez. 1.10.1) che un semigruppo si dice semplice a sinistra, semplice a destra, semplice se S non contiene rispettivamente ideali sinistri propri, ideali destri propri, ideali bilateri propri. Se S è semplice a sinistra allora S è costituito da una sola L -classe. Infatti tutti gli elementi di S sono L -equivalenti. Simmetricamente se S è semplice a destra allora S è costituito da una sola R-classe. Se S è semplice allora S è costituito da una sola J -classe. Se S è un gruppo allora, per la Proposizione 1.19, S è semplice a sinistra e a destra ed è dunque costituito da una sola H -classe. Infine S è detto bisemplice se S è costituito da una sola D-classe.

46

2 Relazioni di Green Ha Da Ra {

@ @@ @@ @@ @@ @@ @@ @

Db



La

Dc

Fig. 2.1. Struttura a scatole d’uova di una D- classe

Proposizione 2.2. Sia S un semigruppo commutativo. Allora si ha R =L =H =D =J. Dimostrazione. Per ogni s,t ∈ S si ha s L t ⇐⇒ S1 s = S1t ⇐⇒ sS1 = tS1 ⇐⇒ s R t, cioè L = R e dunque H = R = L . Da ciò segue anche che D = R ∨ L = R. Infine, si ha s J t ⇐⇒ S1 sS1 = S1tS1 ⇐⇒ sS1 = tS1 ⇐⇒ s R t, cioè J = R.

 

Proposizione 2.3. In un semigruppo libero, le relazioni di Green coincidono con la relazione identità. Dimostrazione. Sia A+ il semigruppo libero generato da un alfabeto A. Se u, v ∈ A+ si ha u R v =⇒ ∃ p, q ∈ A∗ : u = vp, v = uq =⇒ u = uqp. Ora ciò è possibile se e solo se qp = 1 e, dunque, se e solo se q = p = 1 da cui segue u = v. Si ha pertanto R = ι . Similmente si prova che L = ι e quindi H = R ∩ L = ι , D = RL = ι . Infine si ha u J v ⇐⇒ ∃ p, q, r, s ∈ A∗ : u = pvq, v = rus.

2.1 Teoria di Green dei semigruppi

47

Pertanto u = (pr)u(sq) e dunque pr = 1, sq = 1. Quindi q = p = r = s = 1, ovvero u = v.   Definizione 2.1. Un elemento s di un semigruppo S si dice stabile a destra (risp. stabile a sinistra) se per ogni t ∈ Js , tS1 ⊆ sS1 (risp. S1t ⊆ S1 s) implica s R t (risp. s L t). Un elemento di S si dice stabile se esso è sia stabile a destra che a sinistra. Un sottoinsieme X ⊆ S si dice stabile a destra (risp. stabile a sinistra, stabile) se ogni elemento di X è stabile a destra (risp. stabile a sinistra, stabile). Vale il seguente Lemma 2.3. Se S è un semigruppo periodico, allora S è stabile. Dimostrazione. Siano s,t ∈ S tali che s J t. Supponiamo che sS1 ⊆ tS1 . Ciò implica s = tx, x ∈ S1 . Poiché s J t, esistono λ , μ ∈ S1 tali che t = λ sμ = λ txμ = λ nt(xμ )n , n ≥ 0. Poiché S è periodico, esistono interi i, j tali che i < j e λ i = λ j . Ponendo p = j − i, si ottiene t = λ i+p t(xμ )i+p = λ it(xμ )i+p = λ it(xμ )i (xμ ) p = txμ (xμ ) p−1 = sμ (xμ ) p−1 . Di qui, s R t cosicché S è stabile a destra. In modo simmetrico si dimostra che S è stabile a sinistra.   Proposizione 2.4. Se S è un semigruppo periodico allora D =J. Dimostrazione. Per la Proposizione 2.1, D ⊆ J . Per dimostrare l’asserto, è allora sufficiente provare l’inclusione inversa. Siano a, b ∈ S tali che aJ b. Esistono allora x, y ∈ S1 tali che a = xby. Si ha allora: S1 aS1 ⊆ S1 xbS1 ⊆ S1 bS1 e S1 aS1 ⊆ S1 byS1 ⊆ S1 bS1 . Poiché S1 aS1 = S1 bS1 ne segue che S1 xbS1 = S1 byS1 = S1 aS1 e quindi xb, by ∈ Ja . Essendo il semigruppo S periodico, dal lemma precedente si ha che S è stabile cosicché dalle relazioni byS1 ⊆ bS1 e S1 xb ⊆ S1 b ne segue b R by e xb L b. Poiché la relazione L è compatibile a destra con il prodotto, si ha xby L by. Si ha allora a L R b cioè per il Lemma 2.1, a D b. Il che dimostra l’asserto.   Corollario 2.1. Se S è un semigruppo finito allora D =J. Dimostrazione. Poiché un semigruppo finito è periodico, l’asserto segue dalla proposizione precedente.  

48

2 Relazioni di Green

2.2 Teoremi di struttura Analizzeremo ora alcuni teoremi di grande interesse per l’analisi della struttura di un semigruppo ottenuti mediante le relazioni di Green. Teorema 2.1. Sia S un semigruppo. Per ogni a, b ∈ S, La Rb ⊆ Dab . Dimostrazione. La situazione è rappresentata dal diagramma seguente. Siano a , b ∈ S tali che a L a e b R b. Poiché L è un’equivalenza invariante a destra e R è un’equivalenza invariante a sinistra, si ha a b L ab e a b R a b, da cui segue a b RL ab e dunque a b D ab.   La



Da

Db

Rb {

Dab L a Rb

Un sottogruppo di un semigruppo S si dice massimale se non è propriamente contenuto in nessun altro sottogruppo di S. Mostreremo (cf. Teor. 2.2) che i sottogruppi massimali di S sono tutte e sole le H -classi che contengono elementi idempotenti di S. Lemma 2.4. Siano S un semigruppo ed e un idempotente di S. Si ha che eSe è un sottosemigruppo di S tale che eSe = eS ∩ Se = eS1 ∩ S1 e = eS1 e.

2.2 Teoremi di struttura

49

Dimostrazione. Poiché e è un idempotente se p, q ∈ eSe si ha che pq ∈ eSe cosicché eSe è un sottosemigruppo di S. Si ha inoltre che eSe ⊆ eS ∩ Se ⊆ eS1 ∩ S1 e. Mostriamo ora che eS1 ∩ S1 e ⊆ eSe. Se p ∈ eS1 ∩ S1 e esistono u, v ∈ S1 tali che p = eu = ve cosicché p = pe = ep e, moltiplicando a destra per e, ne segue p = pe = epe il che mostra che p ∈ eSe. Mostriamo infine che eSe = eS1 e. Banalmente eSe ⊆ eS1 e. Viceversa sia p ∈ eS1 e cioè p = eue con u ∈ S1 . Se u = 1 allora p ∈ eSe; se u = 1 allora p = e = eee cosicché ancora p ∈ eSe.   Teorema 2.2. Sia H una H -classe di un semigruppo S. Se H contiene un elemento idempotente e allora H è un gruppo che coincide con l’insieme degli elementi invertibili rispetto ad e del sottosemigruppo eSe. Inoltre H è il sottogruppo massimale di S che contiene e. Dimostrazione. Denotiamo con Ge il gruppo degli elementi invertibili rispetto ad e del semigruppo eSe e dimostriamo che Ge ⊆ He . Se g è un elemento qualsiasi di Ge allora ge = eg = g ed esiste un elemento g ∈ Ge tale che: gg = g g = e. Pertanto, g ∈ eS1 , e ∈ gS1 e dunque e R g. Similmente si ha che e L g da cui si ha e H g e quindi g ∈ He . Dimostriamo ora l’inclusione inversa, cioè Ge ⊇ He . Se g è un elemento qualsiasi di He = Re ∩ Le , si ha e L g ed e R g, ovvero gS1 = eS1 , S1 g = S1 e.

(2.1)

Dalle due identità precedenti, esistono elementi p e q di S1 tali che: e = gp, e = qg.

(2.2)

Possiamo inoltre supporre che p, q ∈ eSe. Infatti, dalla (2.1) e dal Lemma 2.4, si ha g ∈ eS1 ∩ S1 e = eS1 e = eSe. Pertanto g = eg e, con g ∈ S1 . Si ha allora e = eg ep, e = qeg e, e dunque

e = ee = (eg ep)e = eg e(epe) = g(epe), e = ee = e(qeg e) = (eqe)eg e = (eqe)g,

50

2 Relazioni di Green

con epe, eqe ∈ eS1 e = eSe. Di conseguenza possiamo supporre che nella (2.2), p, q ∈ eSe. Si ha allora qgp = qe = q, qgp = ep = p, da cui segue che p = q è l’elemento inverso di g rispetto ad e e quindi g ∈ Ge . Si è dunque provato che He = Ge . Dimostriamo, infine, che He è un sottogruppo massimale di S contenente e, ovvero se Ke è un sottogruppo di S contenente e, allora Ke ⊆ He . Osserviamo che Ke è un sottogruppo di eSe poiché se g è un elemento di Ke , allora ge = eg = g cosicché g ∈ eSe. Poiché Ke ⊆ Ge = He , segue l’asserto.   Teorema 2.3 (Green). Siano a, b elementi di un semigruppo S appartenenti ad una stessa R-classe e siano u, v ∈ S1 tali che au = b e bv = a. Siano poi τu e τv le traslazioni interne destre definite da u e v rispettivamente. Allora τu e τv sono biiezioni mutuamente inverse da La su Lb e da Lb su La rispettivamente, che preservano le R-classi. Dimostrazione. Illustriamo la situazione con il diagramma seguente:

a

τu

-b

x

τu

- xu





La

Lb

La traslazione interna destra τu ristretta a La è l’applicazione che associa ad ogni elemento x ∈ La l’elemento xu. Osserviamo dapprima che xu ∈ Lb . Infatti, poiché L è un’equivalenza invariante a destra, dal fatto che x L a si ha che xu L au = b, ovvero xu ∈ Lb . In modo simmetrico si ha che per ogni y ∈ Lb , yv ∈ La . Dimostriamo ora che τu τv è la funzione identità sulla classe La , cioè per ogni x ∈ La , xτu τv = x. Infatti, xτu τv = (xu)τv = xuv. Poiché x ∈ La , x = ta, con t ∈ S1 e dunque xuv = tauv = tbv = ta = x. In modo simmetrico, si dimostra che τv τu è la funzione identità sulla classe Lb .

2.2 Teoremi di struttura

51

Poiché τu τv è la funzione identità sulla classe La , si ha che τu è iniettiva. Infatti, per ogni x1 , x2 ∈ La , x1 τu = x2 τu =⇒ (x1 τu )τv = (x2 τu )τv =⇒ x1 = x2 . Inoltre τu è suriettiva. Infatti, per ogni y ∈ Lb , yτv ∈ La e yτv τu = y. Dunque la funzione τu è una biiezione da La su Lb e τv = τu−1 . Osserviamo infine che, per ogni x ∈ La , (xτu )v = (xu)v = x cioè x R xu e dunque τu preserva le R-classi.   In modo perfettamente simmetrico, si dimostra il seguente: Teorema 2.4. Siano a, b elementi di un semigruppo S appartenenti ad una stessa L -classe e siano u, v ∈ S1 tali che ua = b e vb = a. Siano poi σu e σv le traslazioni interne sinistre definite da u e v rispettivamente. Allora σu e σv sono biiezioni mutuamente inverse da Ra su Rb e da Rb su Ra rispettivamente, che preservano le L -classi. Come conseguenza diretta dei teoremi precedenti, si ha che tutte le H -classi contenute in una stessa D-classe hanno lo stesso numero cardinale. Corollario 2.2. Se Ha e Hb sono due H -classi di un semigruppo S contenute in una stessa D-classe, esiste una biiezione tra Ha e Hb . Dimostrazione. Illustriamo la situazione con il diagramma seguente: Ha

a 6

Hb b

-c

Hc

52

2 Relazioni di Green

Per ipotesi, a D b cosicché esiste c ∈ S tale che b R c e c L a. Poiché b R c, esistono u, v ∈ S1 tali che c = bu, b = cv. Per il Teorema 2.3, τu è una biiezione da Lb su Lc che preserva le R-classi. Proviamo ora che, per ogni x ∈ Hb , xτu ∈ Hc . Poiché x ∈ Hb allora x R b e x L b. Poiché L è un’equivalenza invariante a destra, si ha xτu = xu L bu = c. Inoltre, dal fatto che τu che preserva le R-classi, si ha x R xτu e b R bτu = c cosicché xτu R c. Quindi xτu H c, ovvero τu , ristretta ad Hb , è una biiezione tra Hb e Hc . D’altra parte, poiché a L c, esistono u , v ∈ S1 tali che a = u c, c = v a. In modo simmetrico, si dimostra che l’applicazione σu , ristretta ad Hc , è una biiezione tra Hc e Ha . Di conseguenza l’applicazione

τu σu : Hb −→ Ha , tale che, per ogni x ∈ Hb , xτu σu = u xu è una biiezione tra Hb e Ha .

 

Teorema 2.5. Siano a, b elementi di un semigruppo S. Allora ab ∈ Ra ∩ Lb se e solo se Rb ∩ La contiene un idempotente. Dimostrazione. Sia ab ∈ Ra ∩ Lb . Per il Teorema 2.3, τb : La → Lb è una biiezione che preserva le R-classi. Questa condizione è rappresentata dal diagramma seguente:

Ra {

a

τb

- ab

Rb {

c

τb

- b





La

Lb

Esiste un elemento c ∈ La tale che τb (c) = b ovvero cb = b. Poiché τb preserva le R-classi, c ∈ Rb ∩ La . Essendo poi c R b, esiste un elemento u ∈ S1 , tale che c = bu e quindi bub = cb = b. Pertanto c2 = bubu = bu = c, cioè c è idempotente.

2.2 Teoremi di struttura

53

Viceversa, sia e ∈ Rb ∩ La tale che e2 = e. Ne segue che e R b e e L a. Poiché esiste s ∈ S1 tale che a = se e quindi ae = se2 = se = a. Simmetricamente, da e R b si deriva che eb = b. Pertanto, poiché R è invariante a sinistra e L è invariante a destra, si ha a = ae R ab e b = eb L ab e dunque ab ∈ Ra ∩ Lb .   S1 e = S1 a,

Corollario 2.3. Sia H una H -classe di un semigruppo S. Se esistono a, b ∈ H tali che ab ∈ H allora H è un gruppo. Dimostrazione. Dal fatto che Ra = Rb e La = Lb si ha che ab ∈ Ra ∩ Lb = Rb ∩ La . Pertanto Ra ∩ Lb = H contiene un elemento idempotente e, per il Teorema 2.2, è un gruppo.   Lemma 2.5. Ogni idempotente e di un semigruppo S è un’identità a sinistra (risp. a destra) per Re (risp. Le ), cioè per ogni z ∈ Re (risp. z ∈ Le ) si ha ez = z (risp. ze = z). Dimostrazione. Se z ∈ Re allora z = ex con x ∈ S1 . Si ha allora ez = e(ex) = e2 x = ex = z. In modo simile se z ∈ Le allora z = xe con x ∈ S1 . Ne segue ze = xee = xe = z.

 

Teorema 2.6. Due sottogruppi massimali di un semigruppo S contenuti in una stessa D-classe sono isomorfi. Dimostrazione. Come si è visto nel Teorema 2.2, un sottogruppo massimale di S che contiene un idempotente e coincide con la H -classe He di S. Siano dunque He e H f due H -classi contenute in una stessa D-classe. Poiché e ed f sono D-equivalenti, esiste a ∈ S tale che e R a e a L f . Dal fatto che e R a si ha eS1 = aS1 e dunque a = ex con x ∈ S1 . Di conseguenza, ea = eex = ex = a. Inoltre, poiché a L f si ha S1 a = S1 f e dunque f = a a, con a ∈ S1 . Sia τa : He → Ha la traslazione interna destra definita da a e sia σa : Ha → H f la traslazione interna sinistra definita da a . Quindi τa σa : He → H f è una biiezione tra He e H f tale che, per ogni x ∈ He , xτa σa = a xa (si guardi il diagramma seguente).

54

2 Relazioni di Green

He

τa

-a

Ha

σa

? Hf

Per il Lemma 2.5, f è una identità a destra per L f = La , cioè per ogni z ∈ La , z f = z. Pertanto aa a = a f = a. Da ciò segue che (aa )2 = a f a = aa , cosicché aa è idempotente. Inoltre, sempre dal fatto che aa a = a si ha che a R aa e quindi aa ∈ Ra . Essendo aa idempotente, esso è, per il Lemma 2.5, una identità a sinistra per Ra , cioè per ogni z ∈ Ra , aa z = z. Pertanto, per ogni x, y ∈ He , si ha (xy)τa σa = a xya = a x(aa y)a = (a xa)(a ya) = (xτa σa )(yτa σa ). Di conseguenza τa σa è un isomorfismo di He su H f , cioè He e H f sono sottogruppi isomorfi.  

2.3 D -classi regolari Sia S un semigruppo. Un elemento a ∈ S si dice regolare se esiste x ∈ S tale che a = axa. S si dice regolare se tutti i suoi elementi sono regolari. Se poniamo a = xax, si ha: aa a = axaxa = axa = a, a aa = xaxax = xax = a . Due elementi quali a e a si dicono mutuamente inversi e a è detto un inverso generalizzato di a. Si noti che un elemento idempotente e di S è certamente un elemento regolare poiché e = eee. In tal caso e = e. Proposizione 2.5. Una D-classe D di un semigruppo S contiene un elemento regolare se e solo se tutti i suoi elementi sono regolari. In tal caso ogni R-classe e ogni L -classe in D contiene un elemento idempotente. Dimostrazione. Sia a ∈ D un elemento regolare cioè a = axa, con x ∈ S. Poiché ax = axax e xa = xaxa, si ha che ax e xa sono idempotenti. Poniamo ax = f e xa = e.

2.3 D-classi regolari

55

Sia b un qualsiasi elemento di D. Allora esiste c ∈ S tale che: a L c, c R b. Dimostriamo che c è regolare. Poiché a = axa = ae si ha che a ∈ S1 e. D’altra parte, e = xa ∈ S1 a e dunque S1 e = S1 a, ovvero a L e. Pertanto si ha c L e, cioè S1 c = S1 e. Quindi esistono z, y ∈ S1 tali che c = ye, e = zc. Pertanto si ha czc = ye2 = ye = c, e dunque c è regolare. Poiché c = czc, ponendo g = cz, si ha cS1 = gS1 e quindi gS1 = bS1 . Dunque esistono w, u ∈ S1 tali che b = gw, g = bu, cosicché, essendo g2 = (cz)2 = cz = g, si ha bub = g2 w = b, ovvero b è regolare. Dimostriamo infine che ogni R-classe in D contiene un elemento idempotente. Sia Rc una R-classe in D che contiene c. Poiché c = cxc, si ha che cx = (cx)2 = e e dunque e ∈ cS1 . D’altra parte c ∈ eS1 e quindi eS1 = cS1 , ovvero e R c. Quindi e ∈ Rc . Simmetricamente si dimostra che ogni L -classe in D contiene un elemento idempotente.   Una D-classe D di un semigruppo S si dice regolare se tutti i suoi elementi sono regolari. In base alla proposizione precedente, D è regolare se contiene un elemento regolare di S. Corollario 2.4. Una D-classe D è regolare se e solo se contiene un idempotente. Dimostrazione. Se D contiene un idempotente e, essendo e regolare, in base alla Proposizione 2.5, ogni elemento della D-classe è regolare. Viceversa, se D è regolare, sempre in base alla Proposizione 2.5, contiene un idempotente.   Se una D-classe D di S è regolare allora, per il corollario precedente, D contiene almeno un idempotente e. Per il Teorema 2.2 la H -classe He ⊆ D è un sottogruppo massimale di S che contiene e, al quale per il Teorema 2.6, sono isomorfi tutti i sottogruppi massimali di S che sono contenuti in D. Pertanto ad ogni D-classe regolare D di S si può associare un gruppo GD , unico a meno di isomorfismi, detto gruppo della D-classe regolare D. Esempio 2.1. Sia X = {0, 1, 2, 3} un insieme di 4 elementi e sia S = {a, b, c}+ il sottosemigruppo del monoide delle trasformazioni F(X) su X generato dalle applicazioni a, b e c definite nella tavola seguente: 1 a 2 b 0 c 1

2 0 3 0

3 0 3 3

0 0 . 0 0

56

2 Relazioni di Green

S ha 6 elementi riportati nella tavola seguente

a b c 0 ab cb

1 2 0 1 0 3 0

2 0 3 0 0 0 0

3 0 3 3 0 0 3

0 0 0 0 0 0 0

ed in esso valgono le seguenti relazioni: a2 = ac = ba = 0,

c2 = c,

b2 = bc = b,

cbcb = cb,

ca = a.

Di conseguenza la tavola di moltiplicazione di S è: S a b c 0 ab cb

a 0 0 a 0 0 0

b c ab 0 b b cb c 0 0 ab ab cb cb

0 0 0 0 0 0 0

ab cb 0 0 0 b ab cb . 0 0 0 ab 0 cb

Gli ideali principali destri di S sono: 0S1 = {0},

aS1 = {a, ab, 0},

cS1 = {a, cb, c, ab, 0},

bS1 = {0, b},

abS1 = {ab, 0},

cbS1 = {cb, 0},

da cui segue che R è la relazione identica di S. Gli ideali principali sinistri di S sono: S1 0 = {0},

S1 a = {a, 0},

S1 b = S1 cb = {ab, b, cb, 0},

S1 c = {0, b, c, ab, cb},

S1 ab = {ab, 0},

da cui segue che Lb = Lcb = {b, cb}, mentre, per ogni altro elemento x, distinto da b e cb, si ha Lx = {x}. Infine gli ideali principali bilateri di S sono: S1 0S1 = {0},

S1 aS1 = {a, 0, ab},

S1 bS1 = S1 cbS1 = {0, b, ab, cb},

S1 cS1 = {0, b, c, ab, cb, a},

S1 abS1 = {ab, 0},

da cui segue che Jb = Jcb = {b, cb}, mentre, per ogni altro elemento x, distinto da b e cb, si ha Jx = {x}. In particolare si ha Lb = Jb = Jcb = Lcb . Osserviamo che, essendo R la relazione identica di S, anche la relazione H coincide con la relazione identica di S.

2.4 Ideale minimale di un semigruppo

57

Essendo S finito, J = D e la struttura a scatole d’uova del semigruppo S è descritta nel diagramma seguente: c @

@

a @

@ @ b cb

@

@ @ ab 0

Come si vede dal disegno, vi sono cinque D-classi. Gli elementi idempotenti sono stati denotati in grassetto. Le D-classi che contengono questi ultimi sono regolari. Le linee denotano la relazione di inclusione tra gli ideali principali generati dagli elementi delle classi.

2.4 Ideale minimale di un semigruppo Un lavoro molto importante, pubblicato nel 1928, nello studio della struttura dei semigruppi finiti è dovuto a Suschkewitsch il quale caratterizzò in modo preciso la struttura dell’ideale minimo di un semigruppo finito. Sia S un semigruppo e sia J un ideale bilatere. Allora J si dice ideale minimale di S se, per ogni ideale bilatere I di S si ha I ⊆ J =⇒ I = J. Si dimostra facilmente che un ideale minimale J di S è minimo nel senso che, per ogni ideale bilatere I di S, J ⊆ I. Infatti si ha che JI ⊆ J ∩ I ⊆ J. Quindi J ∩ I = 0/ è un ideale bilatere di S ed essendo J minimale si ha J ∩ I = J, ovvero J ⊆ I. Da questa condizione segue che l’ideale minimale di un semigruppo è unico. Infatti se J1 e J2 sono due ideali minimali di S si ha che J1 ⊆ J2 e J2 ⊆ J1 , ovvero J1 = J2 . L’ideale minimale di un semigruppo S si dice anche nucleo o “kernel” di S. Ogni semigruppo finito S contiene sempre un ideale minimale che è dato dall’intersezione non vuota di tutti gli ideali bilateri contenuti in S. Vi sono invece esempi di semigruppi infiniti che non contengono un ideale minimale. Si consideri, ad esempio, il semigruppo (N, +) additivo dei numeri naturali. Un ideale di tale semigruppo è della forma Jn = n + N, dove n ∈ N. Si prova facilmente che Jm ⊆ Jn ⇐⇒ m ≥ n. Ne segue dunque che al crescere di m si ha un ideale sempre più piccolo. Pertanto non esiste un ideale minimo.

58

2 Relazioni di Green

Come si è detto, un semigruppo S si dice semplice se S non contiene ideali bilateri propri. Lemma 2.6. Sia S un semigruppo. Allora si ha S è semplice ⇐⇒ ∀ a ∈ S, S1 aS1 = S. Dimostrazione. Se S è semplice, poiché, per ogni a ∈ S, S1 aS1 è un ideale bilatere di S, allora S1 aS1 = S. Viceversa, sia, per ogni a ∈ S, S1 aS1 = S. Se J è un ideale bilatere di S ed a ∈ J, allora S1 aS1 = S ⊆ J e pertanto S = J.   Osserviamo che, in base al lemma precedente, un semigruppo è semplice se e solo se tutti i suoi elementi sono J -equivalenti. Se J è l’ideale minimale del semigruppo S, poiché per ogni j ∈ J, J 1 jJ 1 = J ne segue dal lemma precedente, che J è un semigruppo semplice. Se S contiene uno 0, allora {0} è l’unico ideale minimale di S e la teoria dell’ideale minimale di S non è interessante. Infatti i risultati relativi alla struttura dell’ideale minimale di un semigruppo finito che presenteremo in seguito sono significativi solo se S non contiene uno 0. Un ideale destro R di un semigruppo S si dice minimale se essendo R un ideale destro di S si ha R ⊆ R =⇒ R = R, cioè per un qualsiasi ideale destro R di S, si ha R ⊇ R oppure R ∩ R = 0. / Simmetricamente un ideale sinistro L di un semigruppo S si dice minimale se, essendo L un ideale sinistro di S, si ha L ⊆ L =⇒ L = L, cioè per un qualsiasi ideale sinistro L di S, si ha L ⊇ L oppure L ∩ L = 0. / Teorema 2.7 (Suschkewitsch). Sia S un semigruppo finito. Allora S possiede un ideale minimale J che è unione di tutti gli ideali minimali destri di S (risp. unione di tutti gli ideali minimali sinistri di S). Se R è un ideale minimale destro ed L è un ideale minimale sinistro, allora si ha che R ∩ L = RL è un sottogruppo massimale G di S. Se e è l’identità di G, si ha G = R ∩ L = RL = eSe. Dimostrazione. Essendo S semigruppo finito allora S possiede un ideale minimale destro. Infatti, poiché S è in ideale destro, o S è minimale oppure altrimenti esiste un ideale destro R1 di S tale che R1 ⊂ S. L’ideale R1 o è minimale oppure esiste un ideale destro R2 di S tale che R2 ⊂ R1 . Continuando in questo modo si ottiene una catena discencente di ideali destri S ⊃ R1 ⊃ R2 ⊃ · · · ⊃ Rm ⊃ · · · . Essendo S finito, esiste necessariamente un intero n tale che non esiste un ideale destro propriamente contenuto in Rn , cosicché Rn è un ideale destro minimale. Sia R un ideale destro minimale di S. Mostriamo che, per ogni a ∈ S, aR è un ideale destro minimale. Poiché RS ⊆ R, si ha aRS ⊆ aR, cosicché aR è un ideale destro di S. Inoltre aR è ideale destro minimale. Infatti sia R un ideale destro di S tale che

2.4 Ideale minimale di un semigruppo

59

R ⊆ aR e proviamo che R = aR. Sia A = {y ∈ R | ay ∈ R }. Si ha che A è un ideale destro. Infatti A = 0/ ed, inoltre, se y ∈ A e s ∈ S, si ha ays ∈ R S ⊆ R e pertanto ys ∈ A. Poiché R è minimale, dal fatto che A ⊆ R si ha A = R e dunque aA = aR ⊆ R . Pertanto aR = R .  Sia J = i∈I Ri l’unione di tutti gli ideali minimali destri di S. Ovviamente J è un ideale destro di S. Proviamo ora che J è anche ideale sinistro di S. Infatti si ha SJ = S(



Ri ) =

i∈I





SRi =

i∈I

sRi .

i∈I , s∈S

Essendo, per ogni i ∈ I , sRi un ideale minimale destro di S, si ha allora che SJ ⊆ J. Pertanto J è un ideale bilatere di S. Proviamo ora che J è l’ideale minimale di S. Sia I un ideale bilatere di S e sia R un ideale minimale destro di S. Si ha allora RI ⊆ R ∩ I ⊆ R. Essendo R un ideale destro minimale e R ∩ I un ideale destro, si ha che R ∩ I = R, ovvero R ⊆ I. Pertanto  Ri = J ⊆ I, i∈I

e quindi J è l’ideale minimale di S. In modo simmetrico, si dimostra che S possiede un ideale minimale sinistro e che J è unione di tutti gli ideali minimali sinistri di S. Siano R ed L rispettivamente un ideale minimale destro e un ideale minimale sinistro di S e si ponga G = RL ⊆ R ∩ L. Dimostriamo che G è un gruppo. Sia a ∈ R ∩ L. Poiché aR ⊆ R ed essendo R minimale, si ha aR = R; simmetricamente, dalla condizione La ⊆ L si ottiene La = L. Si ha allora, per ogni a ∈ G, aRL = RL = RLa = G. Dalla Proposizione 1.19 del Capitolo 1, G è un gruppo. Dimostriamo ora che R ∩ L ⊆ RL. Sia e l’identità di G. Osserviamo prima che, essendo R e L ideali minimali, eR = R, Le = L. Sia x ∈ R ∩ L. Proviamo che x ∈ RL. Per le due identità precedenti, si ha che esistono y ∈ R, z ∈ L tali che x = ey, x = ze. Pertanto si ha che ex = eey = ey = x, xe = zee = ze = x, da cui segue x = ex = xe = exe. Poiché ex ∈ R e e ∈ L, dall’identità precedente segue che x ∈ RL e dunque RL = R ∩ L.

60

2 Relazioni di Green

Sia G un sottogruppo di S che contiene e ∈ RL come sua identità. Poiché eG = = G si ha G ⊆ R e G ⊆ L da cui segue G ⊆ R ∩ L = RL = G, cioè G è sottogruppo massimale di S. Dal Teorema 2.2, si ha che G ⊆ eSe. Viceversa, poiché e ∈ G = R ∩ L = RL, si ha eS ⊆ R, Se ⊆ L e, per il Lemma 2.4, eSe = eS ∩ Se ⊆ R ∩ L = G. Pertanto G = eSe.  

G e

Osserviamo che, come conseguenza del teorema precedente, se J è l’ideale minimo di S allora J=

 i∈I

Ri =





Lj =

i∈I , j∈J

j∈J



(Ri ∩ L j ) =

Gi j ,

i∈I , j∈J

dove Gi j = Ri ∩ L j sono sottogruppi massimali di S. Possiamo infine dimostrare, facendo uso della teoria delle relazioni di Green, che i gruppi Gi j sono isomorfi. A tal fine premettiamo alcune proposizioni. Proposizione 2.6. Se R è un ideale minimale destro (risp. L ideale minimale sinistro) di un semigruppo S, allora R (risp. L) è una R-classe (risp. L -classe) di S. Dimostrazione. Sia a ∈ R e sia aS1 l’ideale destro generato da a. Poiché a ∈ R, si ha aS1 ⊆ R. Essendo R minimale, aS1 = R. Quindi tutti gli elementi di R generano lo stesso ideale destro che coincide con R. Pertanto R ⊆ Ra . Viceversa sia c ∈ Ra . Allora cS1 = aS1 = R, da cui segue c ∈ R e dunque Ra ⊆ R. Pertanto R = Ra . Simmetricamente, si dimostra l’asserto nell’ipotesi in cui L sia un ideale minimale sinistro di S.   Proposizione 2.7. Se J è l’ideale minimo di un semigruppo finito S, allora J è una D-classe di S. Dimostrazione. Siano i, j ∈ J. Consideriamo gli ideali principali bilateri S1 iS1 e S1 jS1 generati da i e j rispettivamente. Essendo S1 iS1 , S1 jS1 ⊆ J, poiché J è ideale minimo di S si ha che S1 iS1 = S1 jS1 = J. Da ciò segue che i J j. Poiché S è finito, per il Corollario 2.1, J = D e dunque i D j. Sia ora j ∈ J e sia i ∈ S tale che i D j. Allora esistono x, y ∈ S1 tali che i = x jy e pertanto i ∈ J. L’asserto è dunque provato.   Proposizione 2.8. Se J è l’ideale minimo di un semigruppo finito S, ogni R-classe (risp. L -classe) di S contenuta in J è un ideale minimale destro (risp. sinistro) di S. Dimostrazione. Siano a, b ∈ J tali che a R b. Dal Teorema 2.7, si ha che J è unione dei suoi ideali minimali destri, cosicché a ∈ R dove R è un ideale minimale destro di S. Pertanto aS1 = bS1 = R e quindi b ∈ R. Ne segue Ra ⊆ R e dalla Proposizione 2.6, Ra = R.   Per le proposizioni appena dimostrate, si ha che nell’identità J=

 i∈I

Ri =

 j∈J

L j,

2.4 Ideale minimale di un semigruppo

61

gli insiemi Ri e L j possono interpretarsi quali R-classi e L -classi di S. Ora J=





(Ri ∩ L j ) =

i∈I , j∈J

Gi j .

i∈I , j∈J

e per il Teorema 2.6, le H -classi Gi j = Ri ∩ L j sono gruppi isomorfi. Pertanto all’ideale minimo J del semigruppo S si può associare il gruppo della D-classe regolare J (cf. Sez. 2.3). Tale gruppo, unico a meno di isomorfismi, è detto gruppo di Suschkewitsch di J. Proposizione 2.9. Siano Gi j = Ri ∩ L j , i ∈ I , j ∈ J , i sottogruppi nell’ideale minimale del semigruppo finito S. Si ha che Giλ G j μ = Giμ . Dimostrazione. La situazione è illustrata dal diagramma sottostante:

i

λ

μ

Giλ

Gi μ

j

G jμ

Dal fatto che Giλ ⊆ Ri e G j μ ⊆ Lμ si ha: Giλ G j μ ⊆ Ri Lμ = Ri ∩ Lμ = Giμ . Siano ora eiλ e e j μ gli elementi identità di Giλ e G j μ rispettivamente. Dalle precedenti relazioni si ha che eiλ e j μ ∈ Giμ . In base al Corollario 2.2, l’applicazione τe jμ : Giλ → Giμ è una biiezione e dunque Giλ e j μ = Giμ . Pertanto si ha Giλ e j μ ⊆ Giλ G j μ ⊆ Giμ = Giλ e j μ , e dunque Giλ G j μ = Giμ .

 

Il Teorema 2.7, dimostrato da Suschkewitsch nel caso di semigruppi finiti, vale anche sotto l’ipotesi più generale che il semigruppo abbia un ideale minimale destro e un ideale minimale sinistro. La dimostrazione segue le stesse linee della dimostrazione del Teorema 2.7. Se un semigruppo S contiene un elemento 0, allora {0} è l’ideale minimo di S. In tal caso al fine di ottenere risultati significativi in questo contesto conviene rimpiazzare la nozione di minimalità di un ideale con la nozione di 0-minimalità. Precisamente

62

2 Relazioni di Green

un ideale bilatere (risp. ideale destro, ideale sinistro) J = {0} è detto 0-minimale se per ogni ideale bilatere (risp. ideale destro, ideale sinistro) I la seguente condizione è verificata: I ⊆ J =⇒ I = {0} oppure I = J. Si verifica facilmente che se S è un semigruppo finito con 0 e Card(S)> 1 allora S possiede un ideale 0-minimale. Si noti che in un semigruppo con 0 possono esservi più di un ideale 0-minimale. In tal caso se I e J sono due ideali 0-minimali allora I ∩ J = {0}. La teoria degli ideali 0-minimali dei semigruppi è ampiamente trattata nei volumi di Clifford e Preston 1967, di Howie 1976 e di Lallement 1979 riportati in bibliografia. Noi ci limitiamo ad osservare che facendo delle opportune ipotesi sul semigruppo S si può dimostrare che esiste un unico ideale 0-minimale ed ottenere una conveniente generalizzazione del teorema di Suschkewitsch. Supponiamo ad esempio che un semigruppo S con 0 soddisfi la condizione che per ogni s,t ∈ S \ {0} esista un elemento u ∈ S1 tale che sut = 0. Un tale semigruppo si dirà primo. Vale il seguente il teorema (cf. Berstel, Perrin, Reutenauer 2009) di cui omettiamo la dimostrazione, per molti aspetti simile a quella del Teorema 2.7. Teorema 2.8. Sia S un semigruppo primo. Si ha allora: 1) Se S contiene un ideale 0-minimale esso è unico, 2) Se S contiene un ideale destro (risp. sinistro) 0-minimale allora S contiene un ideale 0-minimale che è l’unione di tutti gli ideali destri (risp. sinistri) 0-minimali, 3) Se S contiene un ideale destro 0-minimale ed un ideale sinistro 0-minimale, il suo ideale 0-minimale J è composto di una D-classe regolare e di 0; per ogni H -classe H ⊆ J \ {0} si ha H 2 = H oppure H 2 = {0}.

2.5 Esercizi 2.1. Mostrare che due elementi arbitrari di un sottogruppo di un semigruppo sono H -equivalenti. 2.2. Se S è un semigruppo cancellativo a destra e senza elementi idempotenti allora ogni L -classe di S contiene un unico elemento. 2.3. Siano R ed L un ideale destro e un ideale sinistro di un semigruppo S. Mostrare che RL ⊆ R ∩ L. Se S è regolare allora RL = R ∩ L. 2.4. Siano e ed f idempotenti di un semigruppo S. Mostrare che: i) e L f se e solo se e f = e e f e = f ii) e R f se e solo se e f = f e f e = e. 2.5. Un semigruppo S si dice inversivo se ogni elemento di S ha un unico inverso generalizzato. Mostrare che S è un semigruppo inversivo se e solo se S è regolare e due qualsiasi idempotenti commutano.

2.6 Note bibliografiche

63

2.6. Sia ϕ : S → G un epimorfismo di un semigruppo finito S in un gruppo G. Si mostri che esiste un sottogruppo H di S tale che H ϕ = G.

2.6 Note bibliografiche Le relazioni R, L , H , J e D di fondamentale importanza per la struttura dei semigruppi furono introdotte e studiate da J.A. Green (Green 1951). I Teoremi 2.1 e 2.5 sono dovuti a D.D. Miller e A.H. Clifford (Miller, Clifford 1956). La struttura dell’ideale minimale di un semigruppo finito fu per la prima volta studiata da A. Suschkewitsch (Suschkewitsch 1928). Una esposizione dettagliata e completa della teoria di Green è in (Clifford, Preston 1961). Per la struttura degli ideali 0-minimali dei semigruppi il Lettore interessato può consultare anche i volumi (Howie 1976) e (Lallement 1979).

3 Semigruppi e monoidi liberi

In questo capitolo ci occuperemo di semigruppi e di monoidi liberi vale a dire di semigruppi in cui non vale nessuna identità tranne la proprietà associativa; nel caso dei monoidi liberi, si richiede anche l’esistenza dell’elemento identità. La proprietà di libertà equivale all’esistenza di una base cioè di un sottoinsieme in grado di generare il semigruppo o il monoide e tale che ogni elemento del semigruppo, diverso dall’identità nel caso dei monoidi, si fattorizza in un unico modo mediante gli elementi della base. Un semigruppo, o un monoide, libero ammette un’unica base. La precedente definizione di base è equivalente a quella data nel contesto generale delle algebre universali, cioè ogni applicazione della base X di un semigruppo S (risp. monoide M) in un qualsiasi semigruppo S (risp. monoide M ) si estende ad un unico morfismo di S (risp. M) in S (risp. M ). Da ciò segue che ogni semigruppo (risp. monoide) è sempre immagine omomorfa di un conveniente semigruppo (risp. monoide) libero e che due semigruppi (risp. monoidi) liberi generati da basi aventi la stessa cardinalità sono isomorfi. Ogni semigruppo (risp. monoide) libero è dunque isomorfo al semigruppo A+ (risp. A∗ ) delle parole cioè delle sequenze finite di simboli, detti lettere, appartenenti ad un opportuno insieme A, detto alfabeto. L’elemento identità di A∗ è una parola di lunghezza 0 detta parola vuota. L’operazione di prodotto è la concatenazione delle parole. I semigruppi e i monoidi liberi sono alla base sia della presentazione dei semigruppi mediante generatori e relazioni sia della teoria dell’informazione, della teoria degli automi e dei linguaggi formali. I codici su un dato alfabeto A, di fondamentale importanza in teoria dell’informazione, sono le basi di sottomonoidi liberi del monoide libero A∗ . Nella Sezione 3.2 si fornisce una notevole caratterizzazione dei sottomonoidi liberi di un monoide libero dovuta a M.P. Schützenberger. Nella Sezione 3.3, dedicata ai codici, si dimostra il teorema di A.A. Sardinas e C.W. Patterson che dà una diretta caratterizzazione dei codici di grande interesse applicativo. Si analizzano inoltre alcune importanti classi di codici quali i codici prefissi, i codici massimali e i codici sincronizzanti. Come vedremo nella Sezione 3.4 la teoria dei codici è in effetti equivalente alla teoria dei monomorfismi di monoidi liberi in monoidi liberi. A. de Luca, F. D’Alessandro: Teoria degli Automi Finiti, UNITEXT – La Matematica per il 3+2 68, DOI 10.1007/978-88-470-5474-5_3, © Springer-Verlag Italia 2013

66

3 Semigruppi e monoidi liberi

Una breve introduzione alla teoria della presentazione dei semigruppi e dei monoidi mediante generatori e relazioni è data nella Sezione 3.5. I linguaggi formali su un dato alfabeto A sono sottoinsiemi del monoide libero A∗ . Nella Sezione 3.6 si presentano alcune proprietà combinatorie delle parole e varie operazioni sui linguaggi formali tra le quali le operazioni Booleane e le operazioni razionali. Infine si introducono concetti molto generali relativi alla possibilità di definire famiglie di linguaggi su un dato alfabeto mediante proprietà algebriche o combinatorie, oppure mediante famiglie di macchine astratte (automi) o, infine, mediante opportuni sistemi generativi (sistemi di riscrittura e grammatiche).

3.1 Semigruppi e monoidi liberi Sia S un semigruppo. Una parte X di S è una base se verifica la seguente proprietà: per ogni h, k > 0 e x1 , x2 , . . . , xh , x1 , x2 , . . . , xk ∈ X x1 x2 · · · xh = x1 x2 · · · xk =⇒ h = k, e x1 = x1 , x2 = x2 , . . . , xh = xk . In altre parole ogni elemento del sottosemigruppo X + di S generato da X si fattorizza in un unico modo mediante gli elementi di X. Per questo motivo la precedente condizione è anche detta di univoca fattorizzabilità di X + e sarà denotata semplicemente con UF. Si noti che dalla definizione segue che se S è un monoide allora una base X ⊆ S non può contenere l’elemento identità di S. Un semigruppo S si dice libero se esiste un insieme di generatori X di S che è una base. Si noti che un semigruppo libero non è un monoide. Un monoide M si dice libero se esiste un insieme di generatori X di M che è una base. In tal caso si ha X ∗ = M ed ogni elemento di M \ {1} si fattorizza in un unico modo mediante gli elementi di X. Proposizione 3.1. Se S è un semigruppo libero allora esiste un’unica base X = S \S2 per S che coincide con l’insieme minimale di generatori di S, cioè ogni altro insieme Y di generatori di S è tale che Y ⊇ X. Dimostrazione. Sia X una base di S. Mostriamo che X = S \ S2 . Infatti X ⊆ S \ S2 ; altrimenti esisterebbe un elemento x ∈ X e s1 , s2 ∈ S tali che x = s1 s2 . Poiché S è generato da X, s1 ed s2 potranno esprimersi ciascuno come prodotto di un certo numero di elementi di X. Pertanto s1 s2 sarà il prodotto di almeno due elementi di X e ciò è in contrasto con la definizione di base. Mostriamo ora che S \ S2 ⊆ X. Infatti sia s ∈ S \ S2 ; s può essere generato dagli elementi di X, cosicché potremo scrivere s = x1 · · · xh , h ≥ 1. Poiché s ∈ S2 l’unica possibilità è che h = 1 e quindi s ∈ X. Pertanto X = S \ S2 . Di qui segue che esiste un’unica base. Sia ora Y un insieme di generatori di S e mostriamo che Y ⊇ S \ S2 = X. Infatti supponiamo che esista un elemento z ∈ X \Y . Poiché Y è un insieme di generatori di S potremo scrivere z = y1 · · · yk , con k ≥ 1. Essendo X = S \ S2 l’unica possibilità è che k = 1 e quindi z = y1 ∈ Y il che è assurdo. Pertanto X ⊆ Y .  

3.1 Semigruppi e monoidi liberi

67

In modo simile si dimostra la seguente: Proposizione 3.2. Se M è un monoide libero allora esiste un’unica base X = (M \ {1}) \ (M \ {1})2 per M che coincide con l’insieme minimale di generatori di M. Esempio 3.1. Sia A un insieme finito non vuoto di cardinalità r. Abbiamo già introdotto nel Capitolo 1 il semigruppo Fr (A) costituito da tutte le sequenze finite di elementi di A. L’insieme A è detto alfabeto e le sequenze finite w = a1 · · · an con ai ∈ A, i = 1, . . . , n, sono dette parole. Come si è visto Fr (A) è un semigruppo rispetto all’operazione di concatenazione. Inoltre, ogni elemento di Fr (A) si fattorizza in unico modo mediante le lettere di A. Si ha inoltre che Fr (A) = A+ cosicché Fr (A) è un semigruppo libero avente come base l’alfabeto A. Analogamente, il monoide Fr (A)1 = A∗ è un monoide libero di base A. Come già si è detto l’elemento identità del monoide libero A∗ si denoterà con ε e si chiamerà anche parola vuota. È di grande interesse la seguente caratterizzazione delle basi: Proposizione 3.3. Sia S un semigruppo ed X un suo sottoinsieme. X è una base se e solo se ogni applicazione ϕ : X → T , dove T è un qualsiasi semigruppo, si estende ad un (unico) morfismo ϕ : X + → T . Dimostrazione. Sia X una base, T un semigruppo e ϕ : X → T una qualsiasi applicazione di X in T . Se w = x1 · · · xn ∈ X + potremo estendere ϕ a X + ponendo

ϕ (w) = ϕ (x1 ) · · · ϕ (xn ).

(3.1)

Tale definizione è buona (cioè non ambigua) poiché ogni elemento di X + si fattorizza in un unico modo mediante gli elementi di X. Inoltre, la predetta estensione è un morfismo di X + in T . Infatti, come si verifica, per ogni w1 , w2 ∈ X + , si ha ϕ (w1 w2 ) = ϕ (w1 )ϕ (w2 ). Inoltre, ogni possibile estensione di ϕ ad un morfismo di X + in T deve necessariamente verificare l’equazione (3.1). Viceversa sia A un alfabeto tale che Card(A) = Card(X) e A+ il semigruppo libero su A. Sia δ : X → A una biiezione e ϕ : X → A+ un’applicazione la cui ridotta ad A coincide con δ . Per ipotesi ϕ si estende ad un morfismo di X + in A+ . Supponiamo ora che esistano elementi x1 , . . . , xh , x1 , . . . , xk ∈ X, h, k > 0 tali che x1 · · · xh = x1 · · · xk . Se poniamo ϕ (xi ) = δ (xi ) = ai ∈ A, i = 1, . . . , h, e ϕ (xi ) = δ (xi ) = a i ∈ A, i = 1, . . . , k, si ha allora: ϕ (x1 · · · xh ) = a1 · · · ah = ϕ (x1 · · · xk ) = a 1 · · · a k , e quindi

a1 · · · ah = a 1 · · · a k .

68

3 Semigruppi e monoidi liberi

Poiché A è la base di A+ segue che h = k e a1 = a 1 , . . . , ah = a k . Essendo δ una biiezione si ha x1 = x1 , . . . , xh = xk . Di conseguenza X è una base di S.   Corollario 3.1. Ogni semigruppo è immagine omomorfa di un semigruppo liberamente generato da una base di conveniente cardinalità. Dimostrazione. Sia S un semigruppo e G un suo insieme di generatori, cioè S = G+ . Sia X un insieme tale che Card(X) ≥ Card(G) e X + il semigruppo libero di base X. Sia δ : X → G un’applicazione suriettiva e ϕ : X → S un’applicazione la cui ridotta a G coincide con δ . Dalla precedente proposizione si ha che l’applicazione ϕ si estende ad un morfismo ϕ : X + → S del semigruppo libero X + in S che è un epimorfismo.   Dal predetto corollario e dal teorema di isomorfismo (cf. Cap. 1, Teor. 1.1) si ha che ogni semigruppo S è isomorfo al semigruppo quoziente Fr (A)/ϑ dove A è un alfabeto di conveniente cardinalità r e ϑ è una relazione di congruenza. Corollario 3.2. Due semigruppi liberamente generati da due basi aventi la stessa cardinalità sono isomorfi. Dimostrazione. Siano S1 e S2 due semigruppi aventi come basi X ed Y rispettivamente. Supponiamo che X ed Y abbiano la stessa cardinalità. Sia δ : X → Y una biiezione e ϕ : X → S2 un’applicazione la cui ridotta ad Y sia δ . Dalla Proposizione 3.3, ϕ si estende ad un epimorfismo ϕ : S1 → S2 . Tale epimorfismo è un isomorfismo poiché ϕ è iniettiva. Infatti supponiamo che esistano elementi x1 , . . . , xh , x1 , . . . , xk ∈ X tali che ϕ (x1 . . . xh ) = ϕ (x1 . . . xk ). Ponendo ϕ (xi ) = yi ∈ Y , i = 1, . . . , h e ϕ (xi ) = y i ∈ Y , i = 1, . . . , h, si ha y1 · · · yh = y 1 · · · y k . Essendo Y la base di S2 ne segue che h = k e y1 = y 1 , . . . , yh = y k . Essendo δ una biiezione ciò comporta x1 = x1 , . . . , xh = xk e quindi x1 · · · xh = x1 · · · xk .   La Proposizione 3.3 così come i Corollari 3.1 e 3.2 possono essere estesi ai monoidi. Vale precisamente la seguente proposizione la cui dimostrazione è perfettamente simile a quella della Proposizione 3.3. Proposizione 3.4. Sia M un monoide ed X un suo sottoinsieme. X è una base se e solo se ogni applicazione ϕ : X → T , dove T è un qualsiasi monoide, si estende ad un (unico) morfismo ϕ : X ∗ → T . Si osservi che, come si è visto nel Capitolo 1, Sezione 1.13, le caratterizzazioni delle basi nel caso dei semigruppi e dei monoidi, date dalle Proposizioni 3.3 e 3.4, hanno un carattere algebrico-universale nel senso che possono essere utilizzate per definire le basi per ogni famiglia di algebre dello stesso tipo quali, per esempio, i gruppi (nel caso dei gruppi, il Lettore interessato può consultare il volume di R. Lyndon e P. Schupp 2001). Sia M un monoide libero di base X. Per ogni elemento w ∈ M \ {1}, si denota con |w| il numero totale di simboli di X che intervengono nell’unica fattorizzazione di

3.1 Semigruppi e monoidi liberi

69

w mediante gli elementi di X. Si pone poi |1| = 0. Più precisamente si può definire induttivamente l’applicazione | | : M −→ N come segue: per ogni w ∈ M e x ∈ X, |x| = 1, e |wx| = |w| + 1. Per ogni w ∈ M, |w| è detta lunghezza di w. Si verifica che la funzione lunghezza è un morfismo di M nel monoide additivo N, avendosi, per ogni u, v ∈ M: |uv| = |u| + |v|, anzi la lunghezza è l’unico morfismo ϕ di M in N che verifica la condizione ϕ (x) = 1, per ogni x ∈ X. Per ogni w ∈ M e x ∈ X definiamo |w|x come il numero di volte che x appare nell’unica fattorizzazione di w mediante elementi di X. Si ha ovviamente che: |w| =



|w|x .

x∈X

Si denoterà con alf(w) il numero di simboli distinti di X che intervengono nell’unica fattorizzazione di w mediante gli elementi di X. Sia ad esempio A∗ il monoide libero su A = {a, b, c} e w la parola w = aabcabbaa. Si ha |w| = 9, |w|a = 5, |w|b = 3, |w|c = 1 e alf(w) = 3. Nei monoidi liberi, vale il seguente importante risultato noto quale Lemma di Levi. Lemma 3.1. Sia M un monoide libero e siano u1 , u2 , u3 , u4 ∈ M tali che: u1 u2 = u3 u4 . Se |u3 | ≥ |u1 | allora esiste v ∈ M tale che u3 = u1 v e u2 = vu4 ; se, invece, |u1 | ≥ |u3 |, esiste v ∈ M tale che u1 = u3 v e vu2 = u4 . Dimostrazione. L’asserto è banale se almeno uno degli elementi ui , (i = 1, 2, 3, 4) è l’identità. Supponiamo quindi che ui ∈ M \ {1}, (i = 1, 2, 3, 4). Se X è la base di M, possiamo scrivere u1 = a1 · · · ar , ai ∈ X, 1 ≤ i ≤ r, u2 = b1 · · · bs , bi ∈ X, 1 ≤ i ≤ s, u3 = c1 · · · ch , ci ∈ X, 1 ≤ i ≤ h, u4 = d1 · · · dk , di ∈ X, 1 ≤ i ≤ k. Si ha allora: a1 · · · ar b1 · · · bs = c1 · · · ch d1 · · · dk . Essendo X la base di M, segue che r + s = h + k. Se |u3 | ≥ |u1 | allora h ≥ r e quindi a1 = c1 , . . . , ar = cr , e b1 · · · bs = cr+1 · · · ch d1 · · · dk . Ponendo v = cr+1 · · · ch , si ha allora che: u2 = vu4 e u3 = u1 v. In modo simmetrico si dimostra la seconda parte dell’asserto.

 

70

3 Semigruppi e monoidi liberi

Si può fare il seguente disegno illustrativo delle due situazioni. u1

u2 v ←→

u3

u4

u1

u2 v ←→

u3

u4

Una conseguenza immediata del Lemma di Levi è che un monoide libero è cancellativo sia a sinistra che a destra e quindi cancellativo. Un altro risultato molto interessante che può essere dimostrato utilizzando il Lemma di Levi è il seguente. Lemma 3.2 (Lyndon, Schützenberger). Siano M un monoide libero, u, v ∈ M \ {1} ed h ∈ M tali che uh = hv. Esistono allora α , β ∈ M ed n ≥ 0 tali che u = αβ , v = β α , h = (αβ )n α . Dimostrazione. La dimostrazione è per induzione sulla lunghezza k dell’elemento intermedio h. La base dell’induzione, cioè k = |h| = 0, è banale. Basta infatti in tal caso assumere α = 1 = h, n = 0 e β = u = v. Supponiamo ora di aver dimostrato l’asserto per k < |h| e dimostriamo la sua validità per k = |h|. Dobbiamo considerare due casi: Caso 1. |u| ≥ |h|. Possiamo allora scrivere per il Lemma di Levi u = hh , v = h h, cosicché l’asserto è provato assumendo α = h, β = h ed n = 0. Caso 2. |u| < |h|. Per il Lemma di Levi si ha h = uh e dalla equazione uh = hv si ricava uh = h v, con |h | < |h|. Per l’ipotesi induttiva si ha allora che esistono allora α , β ∈ M ed n ≥ 0 tali che: u = αβ , v = β α , h = (αβ )n α . Poiché h = uh ne segue: e l’asserto è provato.

h = (αβ )n+1 α  

3.2 Sottomonoidi di monoidi liberi

71

3.2 Sottomonoidi di monoidi liberi Sia M un monoide libero e N un suo sottomonoide. Un elemento n ∈ N \ {1} si dice irriducibile se non si fattorizza nel prodotto n = n1 n2 con n1 , n2 ∈ N \ {1}. L’insieme degli elementi irriducibili di N sarà denotato con N0 . Dalla definizione si ha dunque: N0 = (N \ {1}) \ (N \ {1})2 . La seguente proposizione mostra che N0 è l’insieme minimale, rispetto alla relazione di inclusione, di generatori per N. Proposizione 3.5. Sia N un sottomonoide di un monoide libero M. Allora N0 è l’insieme minimale di generatori di N. Dimostrazione. Mostriamo innanzitutto che N0 genera N. Si ha evidentemente che N0∗ ⊆ N. Supponiamo per assurdo che N0∗ ⊂ N e sia n un elemento di lunghezza minima in N \ N0∗ . Poiché n ∈ / N0∗ si ha che n ∈ / N0 e quindi n ∈ (N \ {1})2 . Quindi n = n1 n2 con n1 , n2 ∈ N \ {1}. Poiché |n1 |, |n2 | < |n| ne segue che n1 , n2 ∈ N0∗ e quindi n1 n2 = n ∈ N0∗ , contraddicendo così la definizione di N0 . Si ha dunque N0∗ = N. Mostriamo ora che se C è un insieme di generatori di N allora N0 ⊆ C. Supponiamo per assurdo che esista n0 ∈ N0 \ C. Potremo allora scrivere n0 = c1 c2 · · · ck con ci ∈ C \ {1}, i = 1, . . . , k. Poiché n0 è irriducibile si deriva che k = 1 e n0 = c1 ∈ C, che è una contraddizione.   Si osservi che nel caso N = M si ritrova la Proposizione 3.2. Proposizione 3.6. Sia N = X ∗ un sottomonoide di un monoide libero M. Allora N0 = (X \ {1}) \ (X \ {1})2 X ∗ . Dimostrazione. Se n ∈ N0 possiamo scrivere n = x1 · · · xr con xi ∈ X \{1}, i = 1, . . . , r. Poiché n è irriducibile la sola possibilità è che r = 1 cosicché n ∈ X \ {1} e n ∈ (X \ {1})2 X ∗ . Di qui n ∈ (X \ {1}) \ (X \ {1})2 X ∗ . Viceversa sia n ∈ (X \ {1}) \ (X \ {1})2 X ∗ . Mostriamo che n è irriducibile. Infatti n = 1. Inoltre se n = n1 n2 con n1 , n2 ∈ N \ {1} si avrebbe n1 ∈ x1 X ∗ , n2 ∈ x2 X ∗ con x1 , x2 = 1, cosicché n ∈ (X \ {1})2 X ∗ il che è assurdo.   Siano M un monoide libero e N un suo sottomonoide. Se N è libero, allora per la Proposizione 3.5, la sua base coincide con l’insieme minimale di generatori di N, cioè N0 . Tuttavia, in generale, un sottomonoide di un monoide libero può non essere libero. Esempio 3.2. Siano M = {a}∗ e N il sottomonoide N = {1} ∪ a5 a∗ . Allora si ha che N0 = {a5 , a6 , a7 , a8 , a9 } ed N0 non è una base (perché, ad esempio, a5 a6 = a6 a5 ), cosicché N non è libero. Siano M = {a, b}∗ e N = {a, ab, ba}∗ . Il sottomonoide N non è libero poiché se lo fosse dovrebbe ammettere quale base N0 = {a, ab, ba} ma N0 non è una base poiché non verifica la proprietà UF risultando, ad esempio, a(ba) = (ab)a.

72

3 Semigruppi e monoidi liberi

Siano M = {a, b}∗ e N = {a, bb, ba}∗ . Si ha che N0 = {a, bb, ba} è una base di N poiché verifica la proprietà UF. Pertanto N è libero. Il seguente importante teorema dovuto a M. P. Schützenberger caratterizza i sottomonoidi liberi di un monoide libero. Si osservi che nel caso dei gruppi, ogni sottogruppo di un gruppo libero è libero (Teorema di Nielsen e Schreier, vedi, ad esempio, Lyndon e Schupp 2001). Teorema 3.1 (Schützenberger). Sia N un sottomonoide di un monoide libero M. Allora N è libero se e solo se N −1 N ∩ NN −1 ⊆ N. Dimostrazione. Sia N un sottomonoide libero di M. Dimostriamo che se m ∈ N −1 N ∩ NN −1 allora m ∈ N. Siano n1 , n2 , n3 e n4 elementi di N tali che n1 m = n2 e mn3 = n4 . Se uno qualsiasi degli elementi n1 , n2 , n3 , n4 è eguale a 1, ne segue banalmente che n ∈ N. Supponiamo dunque che n1 , n2 , n3 , n4 ∈ N \ {1}. Essendo N libero, N0 sarà la base di N. Potremo dunque scrivere: n1 = a1 · · · ar , n2 = b1 · · · bs , n3 = c1 · · · ch , n4 = d1 · · · dk ,

con ai ∈ N0 , i = 1, . . . , r, con bi ∈ N0 , i = 1, . . . , s, con ci ∈ N0 , i = 1, . . . , h, con di ∈ N0 , i = 1, . . . , k.

Si ha allora a1 · · · ar m = b1 · · · bs , mc1 · · · ch = d1 · · · dk .

(3.2) (3.3)

Moltiplicando a destra ambo i membri della Equazione (3.2) per c1 · · · ch si ha, utilizzando la (3.3), a1 · · · ar d1 · · · dk = b1 · · · bs c1 · · · ch . (3.4) Se r ≤ s, dalla Equazione (3.4) per la proprietà UF ne segue che a1 = b1 , a2 = b2 , . . . , ar = br . Dalla (3.2), ne segue b1 · · · br m = b1 · · · bs . Per la cancellatività si ha m = br+1 · · · bs se r < s e m = 1 se r = s. Pertanto m ∈ N. Se r > s, allora dalla Equazione (3.4) per la proprietà UF ne segue che a1 = b1 , a2 = b2 , . . . , as = bs , cosicché dalla (3.2) si ha as+1 · · · ar m = 1. In questo caso, si avrebbe ai = 1 per i = s + 1, . . . , r, che contraddice il fatto che gli elementi ai appartengono alla base di N. Pertanto, r ≤ s ed m ∈ N. Dimostriamo ora che se N −1 N ∩ NN −1 ⊆ N allora N è libero, cioè che N0 verifica la proprietà UF. Se per assurdo N0 non verificasse UF esisterebbe un elemento n ∈ N \ {1} di lunghezza minima che ha due fattorizzazioni distinte mediante gli elementi di N0 , cioè n = a1 · · · ar = b1 · · · bs ,

3.2 Sottomonoidi di monoidi liberi

73

con a1 , . . . , ar , b1 , . . . , bs ∈ N0 . Se |a1 | = |b1 | allora, dal Lemma di Levi, a1 = b1 e, cancellando a sinistra, nella precedente equazione a1 e b1 si otterebbe un elemento di N di lunghezza minore di quella di n avente due fattorizzazioni distinte in N0 , il che è assurdo. Senza perdita di generalità, supponiamo che |a1 | > |b1 |. Dal Lemma di Levi, si ha che a1 = b1 m, ma2 · · · ar = b2 · · · bs , cosicché m ∈ N −1 N ∩NN −1 e quindi m ∈ N \{1}. Ciò comporta che a1 ∈ (N \{1})2 il che è assurdo. Pertanto N0 verifica la proprietà UF e quindi N è libero di base N0 .   Osserviamo che per la validità del teorema di Schützenberger è necessario che il monoide M sia libero. Infatti consideriamo, ad esempio, il monoide additivo degli interi Z. Il monoide Z ha l’insieme di generatori {1, −1}. Se Z fosse libero di base B dovrebbe aversi B ⊆ {1, −1} e quindi B = {1, −1} il che è assurdo poiché {1, −1} non verifica la proprietà UF (ad es. 2 = 1 + 1 = 1 + 1 + 1 − 1). Il sottomonoide N di Z è invece libero di base {1} ma in questo caso N−1 N =NN−1 = Z. Il seguente lemma sarà utile nel seguito. Lemma 3.3. Sia N un sottomonoide libero del monoide libero M. Se N è propriamente contenuto in M allora N non può contenere ideali bilateri di M. Dimostrazione. Supponiamo che N contenga un ideale bilatere J di M. Per ogni m ∈ M e j ∈ J si ha m j, jm ∈ J ⊆ N, cosicché dal Teorema 3.1 segue che m ∈ N. Pertanto si ha N = M una contraddizione.   Siano M un monoide libero e Free(M) la famiglia dei suoi sottomonoidi liberi. Si ha: Proposizione 3.7. Sia M un monoide libero. Allora Free(M) è una famiglia di Moore di parti di M. Dimostrazione. Poiché M ∈ Free(M) è sufficiente dimostrare che Free(M) è chiusa per intersezione completa. Siano (Nγ )γ ∈Γ una qualsiasi collezione di sottomonoidi liberi di M ed N la loro intersezione: N=



Nγ .

γ ∈Γ

L’insieme N è un sottomonoide di M. Mostriamo ora che N −1 N ∩ NN −1 ⊆ N cosicché il risultato deriverà dal teorema di Schützenberger. Siano infatti n1 , n2 , n3 , n4 elementi di N ed m ∈ M tali che n1 m = n2 , mn3 = n4 . Per ogni γ ∈ Γ si ha che n1 , n2 , n3 , n4 ∈ Nγ , cosicché essendo Nγ un sottomonoide libero di M, dal teorema di Schützenberger segue che m ∈ Nγ . Si ha allora m ∈    γ ∈Γ Nγ = N.

74

3 Semigruppi e monoidi liberi

Una parte X di un monoide M si dice liberabile in M se X −1 X ∩ XX −1 ⊆ X. Il teorema di Schützenberger afferma dunque che un sottomonoide N di un monoide libero M è libero se e solo se N è liberabile in M. Si osservi che se N è un sottomonoide di M allora N −1 N ⊇ N e NN −1 ⊇ N cosicché N −1 N ∩ NN −1 ⊇ N. Si ha allora che N è liberabile in M se e solo se N −1 N ∩ NN −1 = N. Se G è un gruppo si può facilmente dimostrare che una parte H di G è liberabile in G se e solo se H è un sottogruppo di G (vedi Eser. 3.6). Proposizione 3.8. Un sottomonoide N di un monoide M è liberabile in M se e solo se la seguente condizione è soddisfatta: ∀ m ∈ M, ∀ n ∈ N, nm, mn ∈ N =⇒ m ∈ N.

(3.5)

Dimostrazione. Supponiamo che N sia liberabile in M. Se m ∈ M ed n ∈ N sono tali che nm, mn ∈ N si ha m ∈ N −1 N ∩ NN −1 cosicché m ∈ N e quindi la (3.5) è soddisfatta. Viceversa supponiamo che la (3.5) sia soddisfatta. Siano n1 , n2 ∈ N e m ∈ M tali che n1 m, mn2 ∈ N. Si ha allora n2 n1 m, mn2 n1 ∈ N cosicché in base alla (3.5) si ha m ∈ N. Pertanto N è liberabile in M.   Si ha pertanto che un sottomonoide N di un monoide libero M è libero se e solo se N verifica la Condizione (3.5). La seguente proposizione ci mostra che la proprietà di liberabilità di un sottomonoide N di un monoide M si preserva sotto l’azione del morfismo sintattico σ di N e del morfismo inverso σ −1 . Proposizione 3.9. Sia N un sottomonoide del monoide M. Se M(N) è il monoide sintattico di N e σ : M → M(N) è il morfismo sintattico di N si ha: N è liberabile in M ⇐⇒ N σ è liberabile in M(N). Dimostrazione. (⇒) Siano u ∈ M(N), s1 , s2 ∈ N σ tali che s1 u, us2 ∈ N σ . Essendo σ un epimorfismo, esistono m ∈ M, n1 , n2 ∈ N tali che mσ = u,

n1 σ = s1 ,

n2 σ = s2 .

Pertanto (n1 m)σ ∈ N σ e (mn2 )σ ∈ N σ . Essendo N = N σ σ −1 si ha n1 m, mn2 ∈ N. Poiché N è liberabile in M si ottiene m ∈ N e quindi u = mσ ∈ N σ . Pertanto N σ è liberabile in M(N). (⇐) Siano m ∈ M, n1 , n2 ∈ N tali che n1 m, mn2 ∈ N. Si ha allora (n1 σ )(mσ ), (mσ )(n2 σ ) ∈ N σ . Essendo N σ liberabile in M(N) si ha mσ ∈ N σ e quindi m ∈ N. Pertanto N è liberabile in M.   Un sottomonoide N di un monoide M si dice unitario a destra se N −1 N ⊆ N.

3.3 Codici

75

In modo simile N si dice unitario a sinistra se NN −1 ⊆ N. Il monoide N si dice biunitario se è unitario sia a detra che a sinistra. Dal teorema di Schützenberger si ha che un sottomonoide N unitario a destra oppure a sinistra di un monoide libero M è libero.

3.3 Codici Sia A∗ il monoide libero sull’alfabeto A ed ε l’elemento identità di A∗ , o parola vuota. L’insieme A+ = A∗ \ {ε } denota il semigruppo libero su A. Per ogni n ≥ 0, An è l’insieme di tutti gli elementi (o parole) di lunghezza n. Si ha quindi A∗ =



An .

n≥0

Si porrà inoltre

A[n] =



Ai .

0≤i≤n

L’insieme A[n] è dunque il sottoinsieme di tutte le parole su A di lunghezza minore o uguale a n. Ricordando la terminologia introdotta nel Capitolo 1, Sezione 1.1, una parola u ∈ A∗ si dirà fattore (o divisore) di w se w ∈ A∗ uA∗ , cioè se esistono λ , μ ∈ A∗ tali che w = λ uμ . La parola u è un fattore sinistro (o divisore sinistro) di w se w ∈ uA∗ . Analogamente, u è un fattore destro (o divisore destro) di w se w ∈ A∗ u. Un fattore si dirà proprio se u = w. Usualmente nella teoria dei codici e dei linguaggi formali un fattore sinistro u (risp. destro) di una parola w viene detto prefisso (risp. suffisso) di w. Se w ∈ A∗ , Fact(w) è l’insieme dei fattori di w. Si denoterà con Pre f (w) (risp. Su f (w)) l’insieme di tutti i prefissi (risp. suffissi) della parola w. Se X ⊆ A∗ , Fact(X), Pre f (X) e Su f (X) denoteranno rispettivamente gli insiemi dei fattori, dei prefissi e dei suffissi di tutte le parole di X. Un sottoinsieme X di A∗ si dice codice su A se X è la base di un sottomonoide libero di A∗ . Proposizione 3.10. L’insieme X ⊆ A+ è un codice su A se e solo se X ∗ è liberabile in A∗ ed inoltre X ∩ X 2 X ∗ = 0. / Dimostrazione. Se X è un codice su A allora X ∗ è libero e quindi per il teorema di Schützenberger, X ∗ è liberabile in A∗ . Inoltre la base X di X ∗ deve coincidere con il suo insieme minimale di generatori cioè, per la Proposizione 3.6 con l’insieme X \ X 2 X ∗ . Ciò comporta X ∩ X 2 X ∗ = 0. /

76

3 Semigruppi e monoidi liberi

Viceversa se X ∗ è liberabile in A∗ per il teorema di Schützenberger X ∗ è libero e la sua base coincide con il suo insieme minimale di generatori X \ X 2 X ∗ = X poiché X ∩ X 2 X ∗ = 0. /   Un insieme X ⊆ A∗ si dice prefisso su A se X ∩ XA+ = 0, / cioè se x1 , x2 ∈ X e x2 = x1 ξ con ξ ∈ A∗ allora ξ = ε e x1 = x2 . Esempi di insiemi prefissi sono X1 = 0, / X2 = {ε }, X3 = {a, ba, bb}, X4 = a∗ b. Proposizione 3.11. Un insieme X prefisso su A è un codice su A se e solo se X = {ε }. Dimostrazione. Se X è un insieme prefisso su A ed è un codice su A allora banalmente X = {ε }. Se X = {ε } è un insieme prefisso su A allora verifica la proprietà UF. elementi di X, n ≤ m tali che Infatti, siano x1 , . . . , xn , x1 , . . . , xm x1 x2 · · · xn = x1 x2 · · · xm .

Poiché x1 ∈ x1 A∗ oppure x1 ∈ x1 A∗ , essendo X un insieme prefisso l’unica possibilità è x1 = x1 . Si ha allora, cancellando a sinistra x1 dai due membri della precedente equazione, x2 · · · xn = x2 · · · xm . Ripetendo lo stesso ragionamento si ha di seguito x2 = x2 , x3 = x3 , etc. fino ad arrivare a xn = xn . Se n < m si avrà ε = xn+1 · · · xm = ε . Poiché X è prefisso si perviene ad un assurdo. Quindi l’unica possie quindi xm bilità è n = m. Pertanto X soddisfa la proprietà UF.  

Dalla precedente proposizione si ha quindi che ogni insieme prefisso X ⊆ A+ è un codice su A detto codice prefisso su A. I codici prefissi sono detti nel linguaggio della teoria dell’informazione codici istantanei poiché è possibile decodificare senza ambiguità i messaggi in codice via via che si ricevono le successive parole di codice senza dover attendere la fine del messaggio (cf. Ash 1967). La proposizione seguente mostra che a livello dei sottomonoidi generati la proprietà di essere codice prefisso corrisponde alla proprietà di unitarietà a destra. Proposizione 3.12. Un sottomonoide N di A∗ è unitario a destra se e solo se la sua base è un codice prefisso su A. Dimostrazione. Sia N un sottomonoide unitario a destra di A∗ e X = N0 la sua base. Se x1 , x2 ∈ X e x1 = x2 ξ poiché ξ ∈ N −1 N ne segue ξ ∈ N. Poiché gli elementi di X sono irriducibili si ha che ξ = ε e x1 = x2 . Pertanto X è un codice prefisso. Viceversa supponiamo che X sia un codice prefisso. Mostriamo che N = X ∗ è unitario a destra. Infatti siano n1 , n2 ∈ N e w ∈ A∗ tali che n1 w = n2 . Se n1 oppure n2 è la parola vuota ne segue banalmente che w ∈ N. Se n1 e n2 sono diversi da ε possiamo scrivere: n1 = a1 a2 · · · ar , n2 = b1 b2 · · · bs

3.3 Codici

77

con ai ∈ X, i = 1, . . . , r e b j ∈ X, j = 1, . . . , s. Si ha allora a1 a2 · · · ar w = b1 b2 · · · bs . Se r < s si ha, essendo X prefisso, a1 = b1 , . . ., ar = br e quindi w = br+1 · · · bs ∈ N. Se r = s ne segue che w = ε . Il caso r > s non può verificarsi perchè altrimenti ar = ε e il che contraddice l’ipotesi che X sia codice.   In modo simmetrico un insieme X ⊆ A∗ si dice suffisso su A se X ∩ A+ X = 0, / cioè se x1 , x2 ∈ X e x2 = ξ x1 con ξ ∈ A∗ allora ξ = ε e x1 = x2 . Si verifica immediatamente che X è un insieme suffisso se e solo se X ∼ è un insieme prefisso. Si dimostra in modo simile alla Proposizione 3.11 che un insieme X suffisso su A è un codice su A se e solo se X = {ε }. Si ha quindi che ogni insieme X ⊆ A+ suffisso è un codice su A detto codice suffisso su A. Inoltre, si dimostra in modo simile a quanto fatto per la Proposizione 3.12 che un sottomonoide N di A∗ è unitario a sinistra se e solo se la sua base è un codice suffisso su A. Un codice su A è detto biprefisso se è sia prefisso che suffisso. Ad esempio il codice X = {a, bab, bbb} è biprefisso. Per ogni n > 0 ogni insieme X ⊆ An è un codice biprefisso detto uniforme poiché tutte le parole di X hanno la stessa lunghezza n. In base a quanto si è detto si deriva che un sottomonoide N di A∗ è biunitario se e solo se la sua base è un codice biprefisso.

3.3.1 Teorema di Sardinas e Patterson Sia X un insieme di parole sull’alfabeto A. Definiamo induttivamente una successione (Rn (X))n>0 di insiemi al seguente modo: R1 (X) = (X −1 X) \ {ε } e per n ≥ 1

Rn+1 (X) = X −1 Rn (X) ∪ (Rn (X))−1 X.

Per ogni n ≥ 1, Rn (X), che denoteremo semplicemente Rn , è detto l’insieme dei resti destri di X di ordine n. Esempio 3.3. Sia X = {a, ba, bb}. Si ha Rn = 0/ per ogni n > 0. Sia X = {a, aba, bb}. Si ha R1 = {ba} e Rn = 0/ per ogni n > 1. Sia X = {a, aab, abb, bbb}. Si ha R1 = {ab, bb}, e per ogni n ≥ 1, R2n = {b} e R2n+1 = {bb}. Il seguente importante teorema dovuto a Sardinas e Patterson fornisce una caratterizzazione dei codici. / Teorema 3.2. Un insieme X ⊆ A+ è codice se e solo se per ogni n ≥ 1, Rn ∩ X = 0.

78

3 Semigruppi e monoidi liberi

La dimostrazione del teorema di Sardinas e Patterson si basa sul seguente: Lemma 3.4. Sia X ⊆ A+ e sia (Rn )n>0 la sua successione degli insiemi dei resti destri. Per ogni n > 0 si ha: w ∈ Rn ⇐⇒ ∃ i, j ≥ 1 : i + j = n + 1 e ∃ x1 , . . . xi , x1 , . . . , x j ∈ X tali che

x1 · · · xi w = x1 · · · x j con x1 = x1 e |w| ≤ |x j |.

Dimostrazione. La dimostrazione è ottenuta per induzione sull’intero n. Iniziamo con la base dell’induzione. Per n = 1 si ha dalla definizione di R1 : w ∈ R1 ⇐⇒ ∃ x, y ∈ X : xw = y e w = ε . Poiché x = y e 1 + 1 = n + 1 segue l’asserto. Supponiamo ora l’asserto vero fino ad n − 1 con n ≥ 2 e mostriamo che esso è vero per n. Mostriamo l’implicazione (⇒). Sia w ∈ Rn . Ciò comporta che esistono x ∈ X e rn−1 ∈ Rn−1 tali che xw = rn−1 oppure rn−1 w = x. Poiché rn−1 ∈ Rn−1 per l’ipotesi di induzione si ha che esistono interi i, j tali che 1 ≤ i, j ≤ n−1, i+ j = n e parole x1 , . . . xi , x1 , . . . , x j ∈ X, tali che x1 = x1 , |rn−1 | ≤ |x j | x1 · · · xi rn−1 = x1 · · · x j . Se xw = rn−1 si ha

(3.6)

x1 · · · xi xw = x1 · · · x j .

Poiché |w| < |rn−1 | ≤ |x j | ed i + j + 1 = n + 1 l’asserto è provato. Se rn−1 w = x, dalla (3.6) si ha, moltiplicando ambo i membri a destra per w, x1 · · · xi rn−1 w = x1 · · · xi x = x1 · · · x j w. Poiché |w| ≤ x e i + j + 1 = n + 1 anche in questo caso l’asserto è provato. Mostriamo ora l’implicazione (⇐). Supponiamo che x1 · · · xi w = x1 · · · x j ,

(3.7)

con x1 = x1 , |w| ≤ |x j | e i + j = n + 1. Poiché |w| ≤ |x j | possiamo scrivere x j = vw cosicché si ha dalla (3.7): x1 · · · xi = x1 · · · x j−1 v. Essendo i + j − 1 = n se |v| ≤ |xi |, per l’ipotesi di induzione si ha v ∈ Rn−1 e quindi poiché x j = vw ne segue che w ∈ Rn . Supponiamo allora che |v| > |xi |. Si ha allora: x1 · · · xi−1 xi w = x1 · · · x j−1 vw = x1 · · · x j−1 x j , e |xi w| < |vw| = |x j |. Poiché i − 1 + j = n, per l’ipotesi induttiva si ha xi w ∈ Rn−1 e quindi w ∈ Rn .  

3.3 Codici

79

Dimostrazione del Teorema di Sardinas e Patterson. Facciamo vedere che / X non è codice ⇐⇒ ∃ n > 0 : Rn ∩ X = 0. Sia x ∈ Rn ∩ X. Dal lemma precedente si ha che esistono i, j ≥ 1 tali che i + j = n + 1 ed esistono x1 , . . . xi , x1 , . . . , x j ∈ X tali che x1 · · · xi x = x1 · · · x j con x1 = x1 e |x| ≤ |x j |. Si ha allora che X non è codice poiché non verifica la proprietà UF. Viceversa, se X non è codice esiste un elemento u ∈ X + di lunghezza minima con due fattorizzazioni distinte mediante gli elementi di X. Pertanto esistono i, j tali che 1 ≤ i, j e parole x1 , . . . xi , x1 , . . . , x j ∈ X tali che u = x1 · · · xi = x1 · · · x j . Inoltre, si ha x1 = x1 e xi = x j per la minimalità della lunghezza di u. Se |xi | < |x j | dal lemma si ha xi ∈ Ri−1+ j−1 . Se |x j | < |xi | si ha allora x j ∈ R j−1+i−1 . Ciò prova che Ri+ j−2 ∩ X = 0. /   Si osservi che se X ⊆ A+ è un insieme finito è possibile decidere in un numero finito di passi se X è un codice o meno. Infatti come si può verificare facilmente (vedi Eser. 3.16) per ogni intero n ≥ 1 si ha Rn ⊆ Su f (X), dove Su f (X) è l’insieme dei suffissi delle parole di X. Essendo X finito anche Su f (X) è un insieme finito, cosicché dovranno esistere due interi i e j tali che 1 ≤ i < j e Ri = R j . Sia j il più piccolo intero positivo che verifica la precedente uguaglianza con i < j. Ciò comporta che per ogni h ≥ 0, Ri+h = R j+h . Se si pone p = j − i si ricava: Ri+h = Ri+h+kp

(3.8)

per ogni h, k ≥ 0. Se n è un arbitrario intero non negativo potremo sempre scrivere utilizzando la divisione Euclidea n = s + kp con 0 ≤ s < p e k ≥ 0. Pertanto si ha in base alla equazione (3.8) che Ri+n = Ri+s+kp = Ri+s . Da qui segue che nella successione (Rn )n>0 degli insiemi dei resti destri di X solo gli insiemi della sottosuccessione finita R1 , R2 , . . . , R j−2 , R j−1 = Ri+p−1 sono a due a due distinti. Si ha dunque che X è codice se e solo se / per ogni n ∈ [1, j − 1]. Rn ∩ X = 0,

80

3 Semigruppi e monoidi liberi

Pertanto se X è un insieme finito di parole allora il teorema di Sardinas e Patterson fornisce un algoritmo (algoritmo di Sardinas e Patterson) in grado di decidere in un numero finito di passi se X è un codice o meno. Terminiamo questa sezione fornendo un’importante caratterizzazione dei codici mediante la nozione di prodotto non ambiguo di sottoinsiemi di A∗ che sarà utile nel seguito. Siano X,Y ⊆ A∗ . Il prodotto XY si dice non ambiguo se ogni elemento di XY si fattorizza in un unico modo nel prodotto di un elemento di X per un elemento di Y , cioè se w ∈ XY allora esiste una unica coppia (x, y) ∈ X ×Y tale che w = xy. Ad esempio se X = {a, ab} e Y = {a, ba} allora XY = {aa, aba, abba}. Il prodotto XY è ambiguo poiché aba ∈ XY si fattorizza come aba = (a)(ba) = (ab)(a) con a, ab ∈ X e ba, a ∈ Y . Proposizione 3.13. Un insieme X ⊆ A+ è codice se e solo se per ogni n > 0 il prodotto XX n è non ambiguo. Dimostrazione. (=⇒) Supponiamo che esista un intero n > 0 tale che il prodotto XX n sia ambiguo. Esisteranno allora x, y ∈ X, x = y e x1 , . . . , xn ,y1 , . . . , yn ∈ X tali che xx1 · · · xn = yy1 · · · yn . Ciò comporta che X non soddisfa la proprietà UF il che contraddice l’ipotesi che X è un codice. (⇐=) Supponiamo che X non sia un codice. Esisterà un elemento w di X + di minima lunghezza che ha due fattorizzazioni distinte mediante gli elementi di X. Potremo scrivere: w = xx1 · · · xi = yy1 · · · y j , con x = y, x1 , . . . , xi ,y1 , . . . , y j ∈ X, 0 ≤ i, j e i + j ≥ 1. Potremo scrivere: xx1 · · · xi yy1 · · · y j = yy1 · · · y j xx1 · · · xi il che mostra che il prodotto XX i+ j+1 è ambiguo.

 

3.3.2 Disuguaglianza di Kraft-McMillan Introduciamo anzitutto la nozione di distribuzione di Bernoulli su un dato alfabeto che, come vedremo, è un importante strumento combinatorio nella teoria dei codici. Una distribuzione di Bernoulli su un alfabeto A è un’applicazione

μ : A → R+ , dove R+ denota l’insieme dei reali non negativi, tale che

∑ μ (a) = 1.

a∈A

(3.9)

3.3 Codici

81

Se per ogni a ∈ A, μ (a) > 0 la distribuzione si dice positiva. Se A è un alfabeto finito di cardinalità d, si denoterà con π la distribuzione di Bernoulli uniforme che è definita come 1 π (a) = d per ogni a ∈ A. Considereremo ora due estensioni delle distribuzioni di Bernoulli su A: la prima alle parole su A e la seconda agli insiemi di parole su A. Poiché A∗ è un monoide libero di base A ogni distribuzione di Bernoulli μ su A si estende ad un unico morfismo

μˆ : A∗ → R+ del monoide libero A∗ nel monoide moltiplicativo R+ . Si ha pertanto, denotando semplicemente μˆ con μ :

μ (ε ) = 1 e μ (uv) = μ (u)μ (v), per ogni u, v ∈ A∗ . Se w = a1 a2 · · · an con ai ∈ A, 1 ≤ i ≤ n, si ha allora:

μ (w) = μ (a1 )μ (a2 ) · · · μ (an ). La seconda estensione di μ alle parti di A∗ si ottiene considerando l’applicazione:

μ¯ : P(A∗ ) → R+ ∪ {∞}, definita come μ¯ (0) / = 0 e per ogni insieme X ∈ P(A∗ ) non vuoto:

μ¯ (X) =

∑ μ (x).

x∈X

Denoteremo nel seguito μ¯ semplicemente con μ . Le seguenti proprietà discendono immediatamente dalla definizione: 1) Per ogni X,Y ∈ P(A∗ ) se X ⊆ Y allora μ (X) ≤ μ (Y ), 2) Se (Xγ )γ ∈Γ è una famiglia di insiemi di A∗ si ha:

μ(



Xγ ) ≤

γ ∈Γ

∑ μ (Xγ ).

(3.10)

γ ∈Γ

Se gli insiemi Xγ sono a due a due disgiunti, cioè per ogni γ1 , γ2 ∈ Γ , con γ1 = γ2 , Xγ1 ∩ Xγ2 = 0, / la (3.10) vale con il segno di uguaglianza cioè:

μ(



γ ∈Γ

Xγ ) =

∑ μ (Xγ ).

γ ∈Γ

Nel seguito chiameremo μ (X) misura di X. Se X è un insieme finito allora la sua misura è finita. Invece la misura di insiemi infiniti può essere infinita o finita.

82

3 Semigruppi e monoidi liberi

Proposizione 3.14. Sia μ una distribuzione di Bernoulli su A. Per ogni X,Y ⊆ A∗ si ha μ (XY ) ≤ μ (X)μ (Y ). (3.11) Se il prodotto XY è non ambiguo la (3.11) vale con il segno di uguaglianza. Dimostrazione. Esprimiamo X e Y come X = XY =



x∈X {x} e Y



=



y∈Y {y} cosicché si ha:

{xy}.

x∈X,y∈Y

Sia μ una distribuzione di Bernoulli su A. In base alla (3.10) si ottiene:

μ (XY ) ≤



μ ({xy}) =

x∈X,y∈Y



μ (x)μ (y) = μ (X)μ (Y ).

(3.12)

x∈X,y∈Y

Gli insiemi {xy} con x ∈ X, y ∈ Y sono a due a due disgiunti se e solo se la condizione seguente è soddisfatta: per ogni x, x ∈ X e y, y ∈ Y xy = x y =⇒ x = x , il che è equivalente all’asserzione che il prodotto XY è non ambiguo. Pertanto sotto tale ipotesi vale la (3.12) con il segno di uguaglianza.   Proposizione 3.15. Siano X ⊆ A+ e μ una distribuzione di Bernoulli su A. Se X è un codice allora per ogni n ≥ 0 μ (X n ) = μ (X)n . (3.13) Dimostrazione. Sia μ una distribuzione di Bernoulli su A. La dimostrazione è per induzione sull’intero n. L’asserto è banale per n = 0 e n = 1. Supponiamo l’asserto vero fino ad n e mostriamo che esso è vero per n + 1. Poiché per ogni n, il prodotto XX n è non ambiguo dalla Proposizione 3.14 segue che per ogni n > 0:

μ (X n+1 ) = μ (XX n ) = μ (X)μ (X n ). Per l’ipotesi di induzione μ (X n ) = μ (X)n cosicché risulta

μ (X n+1 ) = μ (X)n+1 ,

(3.14)  

il che dimostra l’asserto.

Teorema 3.3 (Disuguaglianza di Kraft-McMillan generalizzata). Sia X un codice su A. Per ogni distribuzione di Bernoulli μ si ha:

μ (X) ≤ 1.

3.3 Codici

83

Dimostrazione. Dimostreremo anzitutto il teorema quando X è un codice finito. Sia L la lunghezza massima delle parole di X. Per ogni intero n > 0 si ha: Xn ⊆

nL 

Ai .

i=1

Se μ è una distribuzione di Bernoulli su A si ha:

μ (X n ) ≤ μ (

nL 

i=1

nL

Ai ) = ∑ μ (Ai ) = nL.

(3.15)

i=1

Poiché X è un codice dalla Proposizione 3.15, μ (X n ) = μ (X)n cosicché dalla (3.15) segue che μ (X)n ≤ nL. Effettuando la radice n-ma di ambo i membri della precedente equazione, si ha che per ogni n > 0: 1

1

μ (X) ≤ n n L n . Passando al limite per n → ∞ ne segue che:

μ (X) ≤ 1. Sia ora X un codice infinito. Per ogni k > 0, denotiamo con Xk l’insieme: Xk = {x ∈ X | |x| ≤ k}. Per ogni k si ha che Xk è un codice ed inoltre Xk ⊆ Xk+1 ⊆ X. Dalla dimostrazione precedente si ha che per ogni k > 0

μ (Xk ) ≤ μ (Xk+1 ) ≤ 1. In base ad un ben noto teorema di Analisi sulle successioni a termini positivi, esiste il limite di μ (Xk ) quando k diverge cosicché lim μ (Xk ) ≤ 1.

n→∞

Mostreremo ora che limn→∞ μ (Xk ) = μ (X) il che concluderà la dimostrazione. Infatti potremo scrivere: X = X1 ∪

∞ 

(Xi+1 \ Xi ),

i=1

cosicché, essendo gli insiemi Xi+1 \ Xi e X j+1 \ X j disgiunti per i = j, ne segue: ∞

μ (X) = μ (X1 ) + ∑ μ (Xi+1 \ Xi ) = μ (X1 ) + lim

p→∞

i=1

p

∑ (μ (Xi+1 ) − μ (Xi ))

i=1

= lim μ (Xp ) ≤ 1, p→∞

il che dimostra completamente l’asserto.

 

84

3 Semigruppi e monoidi liberi

Per ogni insieme X di parole su A denotiamo con fX la funzione fX : N → N definita come: per ogni n ≥ 0 fX (n) = Card(X ∩ An ). La funzione fX detta funzione di struttura dell’insieme X, conta per ogni n il numero di parole di X di lunghezza n. La seguente disuguaglianza fu dimostrata da Kraft per i codici prefissi e poi estesa da McMillan a tutti i codici. Corollario 3.3 (Disuguaglianza di Kraft-McMillan). Sia X codice su A e d = Card(A). Si ha allora ∑ d −|x| = ∑ fX (n)d −n ≤ 1. x∈X

n≥0

Dimostrazione. Consideriamo la distribuzione uniforme π su A. Poiché π (x) = d −|x| , si ha π (X) = ∑x∈X d −|x| . Poiché nella precedente somma se |x| = n l’addendo d −n figurerà fX (n) volte, si ha ∑x∈X d −|x| = ∑n≥0 fX (n)d −n . Dal Teorema 3.3, segue π (X) ≤ 1 e quindi l’asserto.  

3.3.3 Codici massimali e completi Un codice X ⊆ A∗ si dice massimale se per ogni altro codice Y su A X ⊆ Y ⇒ X = Y. Se X è un codice su A ed esiste una distribuzione di Bernoulli positiva μ su A tale che μ (X) = 1 allora X è un codice massimale. Infatti, se Y è un codice su A tale che X ⊂ Y allora μ (Y ) = μ (X) + μ (Y \ X). Poiché μ è una distribuzione positiva si ha μ (Y \ X) > 0 cosicché μ (Y ) > 1 in contrasto con la disuguaglianza di Kraft-McMillan. Esempio 3.4. I codici X1 = {a, ba, bb}, X2 = {a, ab, bb}, X3 = {aa, ab, ba, bb}, X4 = a∗ b sono codici massimali poiché se π è la distribuzione uniforme π (a) = π (b) = 1/2, si ha π (X1 ) = π (X2 ) = π (X3 ) = π (X4 ) = 1. La nozione di codice massimale, che è tipicamente algebrica, è legata alla nozione di codice completo che ha invece un carattere combinatorio. Al fine di introdurre quest’ultima nozione diamo alcune definizioni. Un insieme X ⊆ A∗ si dice denso se ∀ f ∈ A∗ , A∗ f A∗ ∩ X = 0, / cioè X interseca tutti gli ideali principali bilateri di A∗ . Pertanto per ogni parola f di A∗ esistono parole λ , μ ∈ A∗ tali che

λ f μ ∈ X,

3.3 Codici

85

ovvero ogni parola di A∗ può estendersi (o completarsi) in X con un opportuno contesto (λ , μ ). Questa proprietà può anche esprimersi come: Fact(X) = A∗ . Un insieme X ⊆ A∗ si dice denso a destra (risp. denso a sinistra) se ∀ f ∈ A∗ , f A∗ ∩ X = 0, / (risp. A∗ f ∩ X = 0), / cioè X interseca tutti gli ideali principali destri (risp. sinistri) di A∗ . Pertanto ogni parola di A∗ può estendersi (o completarsi) a destra (risp. sinistra) in X con una opportuna parola di A∗ . Esempi di insiemi densi sono A∗ , A∗ aA∗ ; gli insiemi aA∗ e A∗ a sono densi a destra e a sinistra rispettivamente. Un insieme che non è denso si dirà non denso (in Inglese thin). Pertanto se X è non denso ∃ w ∈ A∗ , A∗ wA∗ ∩ X = 0. / Ogni insieme finito X è non denso. Infatti se L è la lunghezza massima delle parole di X allora ogni parola f di lunghezza maggiore o uguale a L+1 non può estendersi in X. Si noti che esistono anche insiemi non densi infiniti. Ad esempio l’insieme X = a∗ b è non denso; infatti la parola bb non può estendersi in X. Vedremo nel Capitolo 4 che ogni insieme X che sia un codice razionale di A∗ è non denso. Un insieme X ⊆ A∗ si dice completo se X ∗ è denso, cioè ∀ f ∈ A∗ , A∗ f A∗ ∩ X ∗ = 0. / La relazione tra massimalità e completezza di un codice è data dal Teorema 3.4 dovuto a M. P. Schützenberger al quale premettiamo la seguente proposizione dovuta a Marcus e Schützenberger: Proposizione 3.16. Sia X un insieme non denso e completo sull’alfabeto A. Per ogni distribuzione di Bernoulli positiva μ su A si ha μ (X) ≥ 1. Dimostrazione. Poiché l’insieme X non è denso esiste una parola w ∈ A∗ tale che A∗ wA∗ ∩ X = 0. / Essendo X completo, per ogni parola f di A∗ si ha che w f w si com∗ pleta in X cioè A∗ w f wA∗ ∩ X ∗ = 0. / Pertanto esistono parole λ , μ ∈ A∗ tali che λ w f wμ ∈ X ∗ . Potremo allora scrivere:

λ w f wμ = x1 x2 · · · xn dove xi ∈ X, 1 ≤ i ≤ n e n > 0. Poiché w non si completa in X devono esistere parole w1 , w2 , w3 , w4 ∈ A∗ tali che w = w1 w2 = w3 w4 e w 2 f w3 ∈ X ∗ .

86

3 Semigruppi e monoidi liberi

Ponendo Pw = Pre f (w) e Sw = Su f (w) si ha allora w f w = w1 w2 f w3 w4 ∈ w1 X ∗ w4 ⊆ Pw X ∗ Sw . Data l’arbitrarietà di f potremo scrivere wA∗ w ⊆ Pw X ∗ Sw . Sia ora μ una distribuzione di Bernoulli positiva su A. Dalla precedente relazione si ha: μ (wA∗ w) ≤ μ (Pw X ∗ Sw ) ≤ μ (Pw )μ (X ∗ )μ (Sw ). (3.16) Poiché μ è una distribuzione di Bernoulli positiva si ha μ (w) > 0. Inoltre, essendo μ (A∗ ) = ∞, segue che

μ (wA∗ w) = μ (w2 )μ (A∗ ) = ∞. Essendo Pw e Sw insiemi finiti e μ una distribuzione di Bernoulli positiva si ha 0 < μ (Pw ), μ (Sw ) < ∞. Pertanto dalla equazione (3.16) si ha μ (X ∗ ) = ∞. Possiamo allora scrivere: ∞ = μ (X ∗ ) = μ (

∞ 

n≥0

X n) ≤



∑ μ (X n ) ≤

n≥0



∑ μ (X)n .

n≥0

Poiché la serie geometrica di ragione μ (X) è divergente deve aversi necessariamente μ (X) ≥ 1.   Teorema 3.4 (Schützenberger). Sia X un codice su A. Valgono le seguenti due condizioni: 1) Se X è massimale allora X è completo, 2) Se X è completo e non denso allora X è massimale.

Dimostrazione. 1) Supponiamo per assurdo che X non sia completo. Esisterà una parola f che non si può estendere in X ∗ . Faremo ora due ipotesi ausiliarie che poi toglieremo. La prima è che Card(A) > 1 e la seconda è che la parola f è primaria, cioè f = uvu, v ∈ A∗ , u ∈ A+ . Mostreremo allora che con le due ipotesi ausiliarie l’insieme Y = X ∪ { f } è codice contraddicendo la massimalità di X. Se Y non fosse codice esisterebbe una parola w ∈ Y + di minima lunghezza che ha due fattorizzazioni distinte mediante gli elementi di Y . Potremo scrivere w = y1 y2 · · · yh = y 1 y 2 · · · y k con yi ∈ Y, y j ∈ Y , i = 1, . . . h, j = 1, . . . , k, y1 = y 1 .

(3.17)

3.3 Codici

87

In linea di principio dobbiamo considerare tre casi: Caso 1. La parola f non appare né nel primo membro né nel secondo membro della predetta equazione. Ma ciò è assurdo poiché X è un codice e w ∈ X + non può avere due fattorizzazioni distinte mediante gli elementi di X. Caso 2. La parola f appare solo nel primo oppure solo nel secondo membro della equazione (3.17). Se f appare solo nel membro di sinistra allora esiste un intero i, i = 1, . . . , h, tale che yi = f . Pertanto si avrebbe: y1 y2 · · · yi−1 f yi+1 · · · yh ∈ X ∗ e ciò contraddice l’ipotesi che f non si estende in X ∗ . Ad una simile contraddizione si perviene se si suppone che f occorre solo nel secondo membro dell’equazione (3.17). Caso 3. La parola f occorre sia nel primo che nel secondo membro della equazione (3.17). Isoliamo la prima occorrenza di f in entrambi i membri della (3.17). Esisteranno interi i e j, i ∈ [1, h], j ∈ [1, k] tali che yi = y j = f e yr , y s ∈ X per r < i ed s < j. Potremo riscrivere la (3.17) nella forma: w = u f ξ = v f η,

(3.18)

con u = y1 · · · yi−1 ∈ X ∗ , v = y 1 · · · y j−1 ∈ X ∗ , ξ , η ∈ Y ∗ , |u| = |v|. Senza ledere la generalità possiamo supporre che |u| < |v|. Consideriamo allora i due seguenti sottocasi: a) |v| ≥ |u f |. Dalla equazione (3.18) si ha v = ufζ, con ζ ∈ A∗ . Poiché v ∈ X ∗ si arriva allora ad una contraddizione con l’ipotesi che f non si estende in X ∗ . b) |v| < |u f |. Poiché |u| < |v| < |u f |, si ha che le due occorrenze di f in w si accavallano cosicché esisteranno parole f1 , f2 ∈ A+ e Δ ∈ A+ tali che f = f1 Δ = Δ f2 . Dal Lemma di Lyndon e Schützenberger (cf. Lemma 3.2) esisteranno parole α , β ed un intero n ≥ 0 tali che: f1 = αβ , f2 = β α , Δ = (αβ )n α

(3.19)

cosicché f = (αβ )n+1 α . Poiché f è primaria deve aversi α = ε e quindi f = β n+1 . Per lo stesso motivo deve aversi n = 0, ma ciò comporta dalla (3.19), Δ = ε il che è assurdo. Pertanto sotto le

88

3 Semigruppi e monoidi liberi

ipotesi ausiliarie fatte si ha che Y = X ∪{ f } è codice il che contraddice la massimalità di X. Supponiamo ora che la parola f non è primaria. Poiché Card(A) > 1 possiamo considerare la parola g = f b| f | , dove b è una lettera dell’alfabeto diversa dalla prima lettera di f . La parola g è primaria. Infatti, altrimenti se g = f b| f | = uvu con u = ε , si avrebbe che u, in quanto prefisso di g, dovrebbe iniziare con la prima lettera di f e, in quanto suffisso di g, dovrebbe iniziare con la lettera b il che è assurdo. La parola g non è estendibile in X ∗ . Infatti, altrimenti, esisterebbero λ , μ ∈ A∗ tali che λ gμ = λ f b| f | μ ∈ X ∗ il che è assurdo dal momento che f non è estendibile in X ∗ . Poiché g è primaria e non estendibile in X ∗ si ha dunque, in base a quanto si è precedentemente dimostrato, che Y = X ∪ {g} è codice contraddicendo la massimalità di X. Resta infine da esaminare il caso Card(A) = 1, cioè A = {a}. Se X ⊆ a∗ è un codice allora o si ha X = 0/ ed in tal caso X non è massimale oppure X = a p con p > 0 e in tal caso X è massimale. Dimostriamo che X è completo, cioè per ogni f = aq esistono interi i, j tali che: ai aq a j ∈ (a p )∗ . Ponendo r = i + j la condizione precedente può riscriversi: ar+q = (a p )k per un opportuno k. Ciò equivale a r + q ≡ 0, mod p. Poiché esiste sempre un intero r che verifica la precedente relazione, segue l’asserto nel caso Card(A) = 1 e la dimostrazione del punto 1) del teorema è conclusa. Dimostriamo il punto 2). Sia μ una arbitraria distribuzione μ di Bernoulli positiva. Poiché X è un codice dal teorema di Kraft-McMillan si ha μ (X) ≤ 1. Essendo X un insieme completo e non denso dalla proposizione di Marcus e Schützenberger si ha μ (X) ≥ 1. Si ha pertanto μ (X) = 1. Ciò comporta che X è un codice massimale.   Si noti che l’ipotesi che il codice X sia non denso nel punto 2) del precedente teorema è necessaria. Infatti in generale un codice denso non è massimale come mostrato dall’esempio seguente: Siano A = {a, b} e X = {a|w|+1 bw | w ∈ A∗ }. Si verifica immediatamente che X è un codice prefisso e denso a sinistra e quindi denso. Inoltre banalmente X è completo in quanto denso. Tuttavia X non è massimale poiché X ∪ {b} è ancora un codice prefisso su A.

3.3 Codici

89

Un insieme X di parole su A si dice completo a destra se X ∗ è denso a destra, cioè ∀ f ∈ A∗ , f A∗ ∩ X ∗ = 0. / Un codice prefisso X su A si dice prefisso massimale se non è propriamente contenuto in nessun altro codice prefisso su A, cioè se Y è un codice prefisso su A e Y ⊇ X allora Y = X. Se un codice prefisso è massimale come codice è anche prefisso massimale, mentre il contrario non è vero in generale. Proposizione 3.17. Sia X un codice prefisso su A. Le due seguenti condizioni sono equivalenti: 1) X è prefisso massimale, 2) X è completo a destra. Dimostrazione. 1)⇒ 2) Mostriamo anzitutto che per ogni w ∈ A∗ si ha wA∗ ∩ XA∗ = 0. /

(3.20)

Supponiamo infatti che esista w ∈ A∗ tale che wA∗ ∩ XA∗ = 0. / Ciò comporta che w non è prefisso di alcuna parola di X e, viceversa, nessuna parola di X può essere un prefisso di w. Si ha allora w ∈ / X e l’insieme Y = X ∪ {w} è un codice prefisso il che contraddice la massimalità di X quale codice prefisso. Pertanto si ha che la (3.20) è soddisfatta. Sia ora f una qualsiasi parola di A∗ . Dalla (3.20) si ha f A∗ ∩ XA∗ = 0/ cosicché esistono parole ξ , η , w ∈ A∗ e x ∈ X tali che w = f ξ = xη .

(3.21)

Sia x1 · · · x p il più lungo prefisso in X ∗ di w. Si noti che x1 = x poiché X è un codice prefisso. Potremo allora scrivere la (3.21) anche come: w = f ξ = x1 · · · x p η .

(3.22)

Vi sono due casi da considerare: Caso 1. |x1 · · · x p | ≥ | f |. Dal lemma di Levi si ha che esiste δ ∈ A∗ tale che: f δ = x1 · · · x p , e quindi in tal caso l’asserto è provato poiché f A∗ ∩ X ∗ = 0. / Caso 2. |x1 · · · x p | < | f |. Si ha allora che esiste δ ∈ A∗ tale che f = x1 · · · x p δ . Dalla (3.20) si ha che

δ A∗ ∩ XA∗ = 0, /

(3.23)

90

3 Semigruppi e monoidi liberi

cosicché esistono x ∈ X e λ ∈ A∗ tali che x = δ λ oppure δ = x λ . Nel primo caso, moltiplicando ambo i membri della (3.23) a destra per λ , si ha: f λ = x1 · · · x p x , cosicché f A∗ ∩ X ∗ = 0/ il che dimostra l’asserto. Nel secondo caso si ha: f = x1 · · · x p x λ . Sostituendo nella (3.22) ne segue: w = f ξ = x1 · · · x p x λ ξ . Essendo |x1 · · · x p x | > |x1 · · · x p | si contraddice la richiesta di massimalità fatta sul prefisso di w in X ∗ . Si ha quindi che X è completo a destra. 2)⇒ 1) Se X non fosse prefisso massimale esisterebbe una parola f ∈ / X tale che X ∪ { f } sarebbe un codice prefisso. Poiché X è completo a destra esiste ζ ∈ A∗ tale che f ζ = x1 · · · x p , con xi ∈ X, i = 1, . . . , p. Ciò comporta che x1 è un prefisso di f oppure f è un prefisso di x1 in contrasto con l’essere X ∪ { f } codice prefisso.   Proposizione 3.18. Sia X un codice prefisso non denso su A. Le seguenti condizioni sono equivalenti: 1) 2) 3) 4)

X X X X

è prefisso massimale, è completo a destra, è completo, è massimale come codice.

Dimostrazione. 1) ⇒ 2). Segue dalla proposizione precedente; 2)⇒ 3) Se X è completo a destra allora è certamente completo; 3)⇒ 4) ⇒ 1) È una conseguenza immediata del teorema di Schützenberger.   A conclusione di questa sezione osserviamo che i codici massimali ed in particolare i codici prefissi massimali sono di grande interesse in teoria dell’informazione. Infatti si può dimostrare che un codice su un alfabeto a due lettere che è ottimale ai fini della trasmissione dell’informazione deve essere massimale (cf. Ash 1967).

3.3.4 Codici sincronizzanti Siano X un codice sull’alfabeto A e X ∗ il sottomonoide libero di A∗ da esso generato. Il codice X e il monoide X ∗ si dicono sincronizzanti se esiste una coppia sincronizzante per X ∗ . Come si è visto nel Capitolo 1 (vedi Sez. 1.10.2) una coppia (p, q) ∈ X ∗ × X ∗ è sincronizzante per X ∗ se per ogni λ , μ ∈ A∗

λ pqμ ∈ X ∗ =⇒ λ p, qμ ∈ X ∗ . Ad esempio se si considera il codice su {a, b}, X = a∗ b ogni coppia (x, y) ∈ X × X è una coppia sincronizzante per X ∗ . Infatti ogni parola di X termina con la lettera

3.3 Codici

91

b, non ha il fattore bb ed inizia con la lettera a oppure con la lettera b cosicché se w = λ xyμ ∈ X ∗ allora certamente una linea dell’unica fattorizzazione di w mediante gli elementi di X deve passare tra λ x e yμ . Deve quindi aversi λ x, yμ ∈ X ∗ . Osserviamo che se (p, q) è una coppia sincronizzante per X ∗ allora esiste sempre una coppia sincronizzante (p , q ) per X ∗ con p e q non vuote. Basta ad esempio assumere p = xp e q = qy con x, y ∈ X. Assumeremo nel seguito che ogni coppia sincronizzante per X ∗ è una coppia di parole non vuote. I codici sincronizzanti sono di grande interesse in teoria dell’informazione. Il significato della nozione di coppia sincronizzante è il seguente: sia w ∈ X ∗ un messaggio in codice del quale non si conosce l’inizio e la fine. In generale non è possibile decodificare univocamente la parte di messaggio a disposizione. Supponiamo però di poter individuare in esso un fattore pq con (p, q) coppia sincronizzante per X ∗ . Si ha allora λ pqμ ∈ X ∗ per opportuni λ , μ ∈ A∗ cosicché λ p, qμ ∈ X ∗ . Si può allora sapere con certezza che una delle linee della (unica) fattorizzazione di w mediante le parole del codice X deve passare tra λ p e qμ . Pertanto si può passare a decodificare a destra il messaggio qμ (procedendo da sinistra a destra) oppure a sinistra λ p (procedendo da destra a sinistra). Lemma 3.5. Un codice sincronizzante è non denso. Dimostrazione. Sia X un codice su A sincronizzante e sia (p, q) ∈ X ∗ ×X ∗ una coppia sincronizzante per X ∗ . Se X fosse denso esisterebbero λ , μ ∈ A∗ tali che λ pqμ ∈ X. Ciò comporterebbe λ p, qμ ∈ X ∗ e quindi X ∩ (X ∗ \ {ε })2 = 0/ il che contraddice il fatto che X è un codice.   La nozione di coppia sincronizzante per un semigruppo è strettamente legata alla nozione di costante (vedi Prop. 1.21). Pertanto se (p, q) è una coppia sincronizzante per X ∗ allora pq è una costante per X ∗ e viceversa se c ∈ X ∗ è una costante per X ∗ allora la coppia (c, c) è una coppia sincronizzante per X ∗ . Proposizione 3.19. Sia X un codice sincronizzante completo. Allora esiste una costante c ∈ X ∗ tale che cA∗ c ⊆ X ∗ . Viceversa se X è un codice tale che esiste una parola c ∈ X ∗ tale che cA∗ c ⊆ X ∗ allora X è sincronizzante e completo. Dimostrazione. Sia (p, q) ∈ X + × X + una coppia sincronizzante per X ∗ . Poiché X è completo per ogni f ∈ A∗ esistono λ , μ ∈ A∗ tali che λ pq f pqμ ∈ X ∗ . Da ciò segue λ p, q f pqμ ∈ X ∗ e quindi q f p ∈ X ∗ . Ciò comporta pq f pq ∈ X ∗ . Sia c la costante c = pq. Si ha allora cA∗ c ⊆ X ∗ . Viceversa supponiamo che X è un codice tale che esiste una parola c ∈ X ∗ tale che cA∗ c ⊆ X ∗ .

(3.24)

Dalla precedente equazione si ha banalmente che X è completo. Mostriamo ora che la coppia (c, c) è una coppia sincronizzante per X ∗ . Siano λ , μ ∈ A∗ tali che λ ccμ ∈ X ∗ .

92

3 Semigruppi e monoidi liberi

Dalla (3.24) si ha:

cλ c, cμ c, cλ ccμ ∈ X ∗ .

Dalla seconda equazione, poiché c ∈ X ∗ si ha cμ ∈ X ∗ (X ∗ )−1 e dalla prima e dalla terza si ha cμ ∈ (X ∗ )−1 X ∗ . Per il Teorema 3.1 poiché X ∗ è un sottomonoide libero di A∗ si ha che cμ ∈ X ∗ . Di qui, poiché cλ c ∈ X ∗ e λ ccμ ∈ X ∗ ne segue λ c ∈ X ∗ .   Nel caso in cui X è un codice prefisso sincronizzante e completo dalla precedente proposizione e dalla unitarietà a destra di X ∗ si ha che esiste una costante c ∈ X ∗ tale che A∗ c ⊆ X ∗ . Se X è anche suffisso si ottiene A∗ = X ∗ e quindi X = A. Di qui segue che un codice X biprefisso sincronizzante e completo tale che X ∗ ⊂ A∗ non è sincronizzante. Ad esempio il codice X = {aa, ab, ba, bb} non è sincronizzante.

3.4 Morfismi I morfismi definiti su semigruppi e monoidi liberi sono di fondamentale importanza sia dal punto di vista algebrico in relazione alla teoria della presentazione dei semigruppi e dei monoidi (vedi Sez. 3.5) che per le applicazioni in teoria dei codici e in teoria degli automi. In effetti come vedremo esiste uno stretto legame tra i codici e i monomorfismi di monoidi liberi in monoidi liberi (vedi Prop. 3.20) e tra gli automi finiti e i morfismi di monoidi liberi in monoidi finiti (vedi Cap. 4, Sez. 4.7). Un morfismo ϕ : Y ∗ −→ A∗ del monoide libero Y ∗ in A∗ è individuato dall’insieme ϕ (Y ) = X ⊆ A∗ . Proposizione 3.20. Sia ϕ : Y ∗ → A∗ un monomorfismo del monoide libero Y ∗ nel monoide libero A∗ . L’insieme X = ϕ (Y ) è un codice su A. Viceversa, se X è un codice su A allora ogni biiezione ϕ da Y su X si estende ad un monomorfismo ϕ : Y ∗ → A∗ . Dimostrazione. Mostriamo che X è una base. Siano infatti x1 , x2 , . . . , xn , x1 , x2 , . . . , xm elementi di X tali che x1 x2 · · · xn = x1 x2 · · · xm .

Poiché X = ϕ (Y ) e la restrizione di ϕ a Y è una biiezione, siano y j = ϕ −1 (x j ) e y i = ϕ −1 (xi ), ( j = 1, 2, . . . , n), (i = 1, 2, . . . , m). Potremo allora scrivere:

ϕ (y1 ) · · · ϕ (yn ) = ϕ (y1 · · · yn ) = ϕ (y 1 ) · · · ϕ (y m ) = ϕ (y 1 · · · y m ). Essendo ϕ iniettivo deve aversi: y1 y2 · · · yn = y 1 y 2 · · · y m . Poiché Y è una base ne segue n = m e yi = y i (i = 1, 2, . . . , n). Ciò comporta xi = xi (i = 1, 2, . . . , n) e quindi X è un codice su A. Il viceversa è una conseguenza del Corollario 3.2. Infatti la biiezione ϕ da Y su X si estende ad un isomorfismo di Y ∗ e X ∗ e quindi a un monomorfismo di Y ∗ in A∗ .  

3.4 Morfismi

93

Siano α : Y ∗ → B∗ e β : B∗ → A∗ monomorfismi. Come si verifica immediatamente la composizione dei due morfismi αβ : Y ∗ → A∗ è un monomorfismo di Y ∗ in A∗ . Dalla precedente proposizione α (Y ) = Z1 ⊆ B∗ , β (B) = Z2 ⊆ A∗ ed (αβ )(Y ) = X ⊆ A∗ sono codici il primo sull’alfabeto B ed il secondo e il terzo sull’alfabeto A. Si ha allora X = β (Z1 ), cosicché il codice X dipende dal codice Z1 e dal monomorfismo β . In base alla Proposizione 3.20, β è univocamente determinato da Z2 e da una biiezione, che denoteremo ancora con β , di B in Z2 . Si dice che il codice X è ottenuto per composizione dei codici Z1 e Z2 mediante β e si suol scrivere X = Z1 ◦β Z2 . In altri termini le parole di X sono ottenute sostituendo nelle parole di Z1 ciascuna lettera b ∈ B con la parola β (b) ∈ Z2 . Esempio 3.5. Siano A = {a, b}, B = {c, d, e}, Z1 = α (Y ) = {cd, e, dd, ce} e Z2 = {a, ab, bb}. Se β : B → Z2 è la biiezione definita da β (c) = a, β (d) = ab e β (e) = bb si ha X = Z1 ◦β Z2 = {aab, bb, abab, abb}. Se β è la biiezione tra B e Z2 definita da β (c) = ab, β (d) = a, β (e) = bb si ha X = Z1 ◦β Z2 = {aba, bb, aa, abbb}. Un morfismo ϕ : A∗ −→ B∗ è detto alfabetico se ϕ (A) ⊆ B ∪ {ε } e strettamente alfabetico se ϕ (A) ⊆ B. Se ϕ è un morfismo iniettivo strettamente alfabetico, il codice X = ϕ (A) è usualmente detto cifrario nel linguaggio della teoria dell’ informazione. Se X = B allora A∗ e B∗ sono isomorfi e il morfismo ϕ è detto un morfismo copia. Per ogni L ⊆ A∗ , ϕ (L) è detto una copia di L mediante ϕ . I seguenti due lemmi, riguardanti morfismi alfabetici, saranno utili nel Capitolo 7. Lemma 3.6. Siano A e B alfabeti, e α : A∗ −→ B∗ un morfismo. Allora esistono un alfabeto C, un monomorfismo γ : A∗ −→ C∗ , ed un morfismo alfabetico β : C∗ −→ B∗ tali che α = γβ . Dimostrazione. Definiamo A1 = {a ∈ A | α (a) = ε } e A2 = A \ A1 . Per ogni a ∈ A1 , si ponga α (a) = ba,1 · · · ba,n(a) , dove n(a) ≥ 1 e, per ogni i = 1, . . . , n(a), ba,i ∈ B. Introduciamo un alfabeto Ca = {xa,1 , . . . , xa,n(a) } di n(a) lettere e sia ua la parola definita come ua = xa,1 · · · xa,n(a) ∈ Ca+ .  Siano C1 = a∈A1 Ca l’unione degli alfabeti Ca al variare di a in A1 ed X l’insieme di parole {ua ∈ Ca+ | a ∈ A1 }. Sia C2 = {ya | a ∈ A2 } un alfabeto di lettere disgiunto con C1 e si ponga C = C1 ∪ C2 . Sia Z = X ∪ C2 . In ogni parola di Z, le lettere sono a due a due distinte ed inoltre, per ogni z1 , z2 ∈ Z, se z1 = z2 si ha alf(z1 ) ∩ alf(z2 ) = 0. / Di conseguenza, Z = X ∪ C2 è codice sull’alfabeto C. Sia γ : A −→ C∗ l’applicazione definita come: per ogni a ∈ A, ua se a ∈ A1 γ (a) = ya se a ∈ A2

94

3 Semigruppi e monoidi liberi

e γ : A∗ −→ C∗ il morfismo generato dall’applicazione γ che denoteremo semplicemente con γ . Poiché Z è codice sull’alfabeto C, per la Proposizione 3.20, γ è un monomorfismo di A∗ in C∗ . Si consideri ora l’applicazione dell’alfabeto C in B∗ definita come: ∀ xa,i ∈ C1 , xa,i −→ ba,i , e ∀ ya ∈ C2 , ya −→ ε . Sia β : C∗ −→ B∗ il morfismo generato dall’applicazione sopra definita. Per definizione β è un morfismo alfabetico. Infine, per ogni a ∈ A1 , si ha: (γβ )(a) = β (xa,1 · · · xa,n(a) ) = β (xa,1 ) · · · β (xa,n(a) ) = ba,1 · · · ba,n(a) = α (a), e, per ogni a ∈ A2 , si ha:

(γβ )(a) = β (ya ) = ε .

Dalle due equazioni precedenti, si ha che, per ogni w ∈ A∗ , (γβ )(w) = α (w) e ciò prova l’asserto.   Esempio 3.6. Siano A = {a, b, c}, B = {a, b} ed α il morfismo di A∗ in B∗ definito da α (a) = ab, α (b) = b, α (c) = ε . In questo caso, Z = {ua , ub , yc }, con ua = xa,1 xa,2 , ub = xb,1 . L’alfabeto C è dato da C = {xa,1 , xa,2 , xb,1 , yc }. Il morfismo γ di A∗ in C∗ è definito da γ (a) = xa,1 xa,2 , γ (b) = xb,1 , γ (c) = yc . Infine il morfismo β è definito da β (xa,1 ) = a, β (xa,2 ) = β (xb,1 ) = b, β (yc ) = ε . Si verifica che α = γβ . Ad esempio, α (bbca) = bbab, γ (bbca) = xb,1 xb,1 yc xa,1 xa,2 e β (γ (cca)) = bbab. Un morfismo π : A∗ −→ B∗ è detto proiezione di A∗ su B∗ se B ⊆ A e se π (b) = b, per ogni b ∈ B e π (a) = ε , per ogni a ∈ A \ B. Un morfismo ι : A∗ −→ B∗ è detto immersione di A∗ in B∗ se A ⊆ B e, per ogni a ∈ A, ι (a) = a. Osserviamo che una proiezione π : A∗ −→ B∗ è un morfismo alfabetico poiché π (A) = B ∪ {ε } ed una immersione ι : A∗ −→ B∗ è un morfismo strettamente alfabetico poiché π (A) ⊆ B. Vale il seguente lemma. Lemma 3.7. Sia ϕ : A∗ −→ B∗ un morfismo alfabetico. Allora ϕ si può fattorizzare nel prodotto di una proiezione e di un morfismo strettamente alfabetico. Dimostrazione. Sia ϕ : A∗ −→ B∗ un morfismo alfabetico. Definiamo A1 = {a ∈ A | ϕ (a) = ε } e A2 = A\A1 . Siano π : A∗ −→ A∗2 la proiezione di A∗ su A∗2 e ψ : A∗2 −→ B∗ il morfismo strettamente alfabetico generato dalla applicazione che associa ad ogni lettera a ∈ A2 il simbolo ϕ (a) ∈ B. Si ha, per ogni a ∈ A: (πψ )(a) = ψ (π (a)) = ϕ (a), e, di conseguenza, per ogni u ∈ A∗ si ha: (πψ )(u) = ψ (π (u)) = ϕ (u).

 

3.5 Presentazione di semigruppi e di monoidi

95

Esempio 3.7. Siano A = {a, b, c}, B = {0, 1} e ϕ : A∗ → B∗ il morfismo alfabetico definito da ϕ (a) = 0, ϕ (b) = 1 e ϕ (c) = ε . Siano ψ il morfismo strettamente alfabetico di {a, b}∗ in {0, 1}∗ definito da ψ (a) = 0, ψ (b) = 1 e π la proiezione di A∗ su {a, b}∗ . Se w = aabcbca si ha ϕ (w) = 00110, π (w) = aabba e ψ (π (w)) = 00110 = ϕ (w).

3.5 Presentazione di semigruppi e di monoidi Sia S un semigruppo e G un suo insieme di generatori, cioè S = G = G+ . Come si è visto nella Sezione 3.1, se A è un alfabeto di cardinalità eguale o maggiore a quella di G, una suriezione δ : A −→ G, si estende ad un unico epimorfismo:

ϕ : A+ −→ S. Dal teorema di isomorfismo (cf. Cap. 1, Teor. 1.1), si ha che S∼ = A+ / ϕϕ −1 , dove ϕϕ −1 è la congruenza naturalmente indotta dal morfismo ϕ . Una coppia di parole (w, w ) ∈ A+ × A+ si dice una relazione (o identità) in S se w ϕ = w ϕ . . La relazione (w, w ) è anche indicata con l’espressione w = w . Sia R una relazione . binaria in A+ , tale che R ⊆ ϕϕ −1 . Se (u, v) ∈ R, allora u = v è una relazione in S. In particolare si ha che Rcong ⊆ ϕϕ −1 , dove Rcong è la congruenza generata da R (cf. Cap. 1, Sez. 1.12). Ricordiamo che, per ogni u, v ∈ A+ , u Rcong v ⇐⇒ ∃ k ≥ 1 e z1 , . . . , zk ∈ A+ tali che z1 = u, zk = v e, per ogni i = 1, . . . , k − 1, si ha: zi = zi+1 , oppure zi Rreg zi+1 , oppure zi R−1 reg zi+1 , dove

zi Rreg zi+1 ⇐⇒ ∃ x, y ∈ A+ , (α , β ) ∈ R tali che zi = xα y, zi+1 = xβ y.

Se u Rcong v , diremo anche v è derivabile da u mediante le relazioni di R. Supponiamo ora che Rcong = ϕϕ −1 ed, inoltre, che A ed R siano insiemi finiti. In tal caso, S si dice finitamente presentato; ciò in particolare comporta che ogni rela-

96

3 Semigruppi e monoidi liberi

. zione di S è conseguenza delle relazioni dell’insieme R, cioè, u = v se e solo se v è derivabile da u mediante le relazioni di R. Se A = {a1 , . . . , an } e R = {(w1 , w 1 ), . . . , (wk , w k )} si denota S anche nella forma . . {a1 , . . . , an } | w1 = w 1 , . . . , wk = w k , detta presentazione di S. Due presentazioni P1 e P2 di S con lo stesso insieme A di generatori sono dette equivalenti se tutte le relazioni in P2 sono conseguenze delle relazioni in P1 e viceversa. Tutte le nozioni e risultati dati in questa sezione per i semigruppi possono essere facilmente tradotti in termini di monoidi. Si noti che nella presentazione di un monoide le relazioni sono coppie di parole di A∗ × A∗ cosicché vi possono essere relazioni . della forma w = ε .

3.5.1 Il monoide commutativo libero Siano w = a1 · · · an e u = a 1 · · · a m parole su di un dato alfabeto finito A. Si dice che u è commutativamente equivalente a w se n = m ed esiste una permutazione σ : {1, 2, . . . , n} −→ {1, 2, . . . , n} tale che, per ogni i = 1, . . . , n, a i = aσ (i) . In altre parole u si ottiene da w permutando le lettere di w. Si ha evidentemente che w è commutativamente equivalente a u se e solo se per ogni a ∈ A, |u|a = |w|a . La relazione precedentemente definita è un’equivalenza in A∗ che denoteremo con δ ; essa è compatibile con il prodotto sia a destra che a sinistra e quindi è una congruenza. Il monoide quoziente A⊗ = A∗ / δ è commutativo: infatti, se denotiamo con il simbolo ∗ l’operazione di prodotto nel monoide A⊗ e con δ (u) la classe di equivalenza di una qualsiasi parola u di A∗ , per ogni u, v ∈ A∗ si ha

δ (u) ∗ δ (v) = δ (uv) = δ (v) ∗ δ (u), cosicché

δ (a1 · · · an ) = δ (a1 ) ∗ · · · ∗ δ (an ). Di conseguenza, il monoide A⊗ è generato dall’insieme {δ (a) | a ∈ A}. Poiché, se a è una lettera di A, la classe δ (a) contiene un solo elemento, possiamo identificare a con δ (a) e definire il prodotto commutativo ∗ tra le lettere nel modo seguente: se a, b ∈ A, a ∗ b = δ (a) ∗ δ (b) = δ (ab). Il monoide A⊗ gode della proprietà che ogni applicazione ϕ : A −→ T dove T è un monoide commutativo si estende ad un unico morfismo ϕ : A⊗ −→ T . Il morfismo ϕ è definito al seguente modo:

ϕ(a1 ∗ · · · ∗ an ) = ϕ (a1 ) · · · ϕ (an ). La definizione è non ambigua poiché, comunque si permutino le lettere nel prodotto a1 ∗ · · · ∗ an , si ottiene lo stesso risultato essendo T commutativo. Il monoide A⊗ è

3.5 Presentazione di semigruppi e di monoidi

97

dunque un monoide commutativo libero nella classe dei monoidi commutativi. Tale monoide è anche detto monoide commutativo libero a r generatori dove r = Card(A) (cf. Cap. 1, Sez. 1.13). Se si ordina totalmente l’alfabeto A ponendo a1 < a2 < · · · < ak , con k = Card(A) allora per ogni u ∈ A∗ si può prendere quale rappresentativo nella classe δ (u) la parola u = a1 |u|a1 · · · ak |u|ak . Pertanto la classe di equivalenza δ (u) è individuata univocamente dalla sequenza dei k interi non negativi (|u|a1 , . . . , |u|ak ) che prende anche il nome di vettore di Parikh di u. Esiste dunque una biiezione tra A⊗ e il prodotto diretto Nk = N × · · · × N .  k−volte Tale biiezione, come si verifica immediatamente, è in effetti un isomorfismo di A⊗ nel monoide additivo Nk . Vogliamo ora far vedere che δ = ϑcong , dove ϑ è la relazione di equivalenza:

ϑ = {(ab, ba) | a, b ∈ A}. È chiaro che ϑ ⊆ δ cosicché ϑcong ⊆ δ . Si noti che

ϑcong = (ϑreg ∪ ι )+ , −1 , essendo ϑ un’equivalenza. poiché ϑreg = ϑreg Siano ora f , g ∈ A∗ tali che f δ g. La parola g si ottiene dunque da f effettuando una permutazione sull’insieme delle lettere in cui si fattorizza f . Ora è ben noto che ogni permutazione è il prodotto di trasposizioni su lettere adiacenti (o consecutive). Una trasposizione di questo tipo effettua su di una parola u una trasformazione del tipo: u = λ abμ v = λ baμ

con λ , μ ∈ A∗ e a, b ∈ A. Ciò comporta che u ϑreg v. Pertanto f δ g se e solo se f ϑcong g. Il monoide A⊗ ha dunque la presentazione . A | xy = yx, x, y ∈ A. cosicché esso è finitamente presentato.

3.5.2 Il monoide biciclico Il monoide biciclico B è un monoide di trasformazioni su N generato dalle applicazioni λa , λb : N → N definite come:

λa (n) = n + 1, n ∈ N 0 se n = 0 λb (n) = . n − 1 se n > 0

98

3 Semigruppi e monoidi liberi

Si può dare a B la rappresentazione grafica seguente:     -a  -a  -a  -a  - ppp  -  r0 r1 r2 r3 r4               ppp b b b b b

dove i nodi rappresentano gli elementi di N e dove, dati due nodi qualsiasi n1 , n2 , si congiungono n1 e n2 con un arco orientato con l’etichetta a (risp. b) se n1 λa = n2 (risp. n1 λb = n2 ) e con l’orientazione che va da n1 a n2 . Si verifica subito che λa λb = id. Se w = a1 · · · ak ∈ {a, b}∗ , definiamo l’applicazione λw = λa1 · · · λak . Sia ϕ : {a, b}∗ → B l’epimorfismo definito da ϕ (a) = λa e ϕ (b) = λb . Mostriamo che il monoide B ha la presentazione . {a, b} | ab = ε . . Si tratta di verificare che ogni relazione in B è una conseguenza di ab = ε . Sia (u, v) . una relazione in B, cioè u = v. Essendo u e v parole sull’alfabeto {a, b}, usando la . relazione ab = ε , possiamo trasformare u in u e v in v dove u = bm an , v = bi a j , con m, n, i, j ≥ 0 (si noti che u e v non sono ulteriormente trasformabili). Poiché . u = v, dovrà allora aversi in B . u = bm an = bi a j = v , e quindi ϕ (bm an ) = λbm an = λbi a j = ϕ (bi a j ). Ora si ha m = i e n = j. Infatti, calcolando le applicazioni λbm an e λbi a j in 0, si ottiene 0λbm an = n = j = 0λbi a j . Inoltre, se k > max{i, m} kλbm an = k − m + n, kλbi a j = k − i + j. Essendo n = j segue che m = i. Si ha allora che u = v in {a, b}∗ e quindi v si ottiene . da u esclusivamente come conseguenza di ab = ε . Infatti da u si ottiene u e da u la . parola v utilizzando la sola relazione ab = ε .

3.6 Parole e linguaggi In questa sezione si daranno alcune nozioni molto generali sui linguaggi formali e le famiglie di linguaggi. Un linguaggio è un insieme di parole su un dato alfabeto A. Ini-

3.6 Parole e linguaggi

99

zieremo considerando alcune proprietà combinatorie delle parole, alcuni ordinamenti di A∗ che saranno utili nel seguito e la rappresentazione degli interi mediante parole. Ci soffermeremo successivamente sui linguaggi formali e su alcune operazioni sui linguaggi ed infine sulle famiglie di linguaggi. Queste, come vedremo, possono definirsi sulla base di varie proprietà di natura matematica o mediante processi di riconoscimento (accettazione) da parte di macchine astratte o mediante opportuni processi generativi in grado di produrre le parole del linguaggio.

3.6.1 Parole Sia w ∈ A∗ una parola sull’alfabeto A. Se w = ε potremo esprimere w come w = a1 · · · an , ai ∈ A, i = 1, . . . , n, dove n = |w|. Ricordiamo che una parola u ∈ A∗ è un fattore di w se w ∈ A∗ uA∗ . La parola u è un prefisso (risp. suffisso) di w se w ∈ uA∗ (risp. w ∈ A∗ u). Se w = λ uμ con λ , μ ∈ A∗ , la coppia (λ , μ ) si dice occorrenza di u in w. Un fattore di una parola w può avere più di un’occorrenza in w. Così, ad esempio, nella parola w = abbaababab, il fattore aba ha le occorrenze (abba, bab) e (abbaab, b). Si noti che l’occorrenza (λ , μ ) di un fattore u ∈ A+ di w è anche individuata dall’intero |λ | + 1. Se denotiamo per ogni lettera a ∈ A, con |w|a il numero di occorrenze di a in w si ha: |w| = ∑ |w|a . a∈A

Sia w = a1 · · · an una parola, ai ∈ A, i = 1, . . . , n. Una sottoparola u è una parola tale che esistono interi positivi j1 , . . . , jk con 1 ≤ jr ≤ n, r = 1, . . . , k, e j1 < · · · < jk , k = |u| ≤ n ed u = a j1 · · · a jk . Il numero delle sequenze distinte ( j1 , . . . , jk ) per le quali la predecente equazione è soddisfatta si dice molteplicità della sottoparola u. Ad esempio, se w = bcacbcac allora aba è una sottoparola di w con molteplicità 1. Invece, se si considera la parola w = aabbaa, si verifica subito che la sottoparola aba ha molteplicità 8. Ogni fattore, diverso da ε , di w è una sottoparola, mentre il viceversa, in generale, non è vero. Ricordiamo (vedi Sez. 1.5 del Cap. 1) che se w = a1 · · · an , la parola rovesciata (o immagine riflessa) di w, è la parola w∼ = an · · · a1 . Se w = ε allora ε ∼ = ε . Una parola w tale che w = w∼ si dice palindroma. Ogni parola palindroma w di lunghezza pari è del tipo uu∼ , con u ∈ A∗ mentre se è di lunghezza dispari è del tipo uau∼ , con a ∈ A, u ∈ A∗ . L’insieme delle parole palindrome su A si denota con Pal A o semplicemente con Pal quando non vi è ambiguità.

100

3 Semigruppi e monoidi liberi

Coniugazione e primitività Due parole u e v si dicono coniugate se esistono α , β ∈ A∗ tali che: u = αβ e v = β α . La precedente relazione, detta di coniugio o di coniugazione, è simmetrica e riflessiva e, come ora verificheremo, anche transitiva. Siano u, v, w ∈ A∗ tali che u è coniugata di v e v è coniugata di w. Si ha allora: ⎧ ⎨ u = αβ , v = β α = γδ , ⎩ w = δ γ, dove β , α , γ , δ ∈ A∗ . Consideriamo ora l’equazione

β α = γδ . Applicando il Lemma di Levi, esiste una parola ζ ∈ A∗ tale che β = γζ e ζ α = δ oppure γ = β ζ e α = ζ δ . Nel primo caso, si ha u = (αγ )ζ , w = ζ (αγ ), e, nel secondo caso, u = ζ (δ β ), w = (δ β )ζ . In entrambi i casi si ha che u è coniugata di w. Le parole coniugate di una parola w ∈ A∗ si ottengono da w effettuando successive permutazioni circolari delle lettere di w. Così, ad esempio, se w = abaaa, allora le coniugate di w sono w e le parole baaaa, aaaab, aaaba, aabaa. Lemma 3.8. Due parole u, v ∈ A+ sono coniugate se e solo se esiste una parola h ∈ A∗ tale che uh = hv. Dimostrazione. Se u, v ∈ A+ sono coniugate allora esistono α , β ∈ A∗ tali che u = αβ e v = β α , cosicché uα = α v. Viceversa se uh = hv, dal Lemma di Lyndon e Schützenberger (cf. Lemma 3.2) esistono α , β ∈ A∗ ed n ≥ 0 tali che u = αβ , v = β α ed h = (αβ )n α , cosicché u e v sono coniugate.   Lemma 3.9. Due parole u, v ∈ A∗ commutano, cioè uv = vu se e solo se esistono una parola w ∈ A∗ ed interi n, m ≥ 0 tali che u = wn e v = wm . Dimostrazione. Se u = wn e v = wm allora u e v certamente commutano. Mostriamo ora che se u e v commutano allora sono potenze di una terza parola. La dimostrazione è per induzione sulla lunghezza di v. Se |v| = 0 potremo scrivere v = w e u = w0 e quindi la base dell’induzione è provata. Supponiamo dunque |v| > 0. Poiché vu = uv dal lemma di Lyndon e Schützenberger si ha che esistono parole λ , μ ∈ A∗ ed n ≥ 0

3.6 Parole e linguaggi

101

tali che v = λ μ = μλ ed u = (λ μ )n λ . Se λ = ε (oppure μ = ε ) dalla precedente formula il risultato è ottenuto senza far ricorso all’ipotesi induttiva. Siano dunque λ , μ ∈ A+ . Essendo |μ | < |v| per induzione si ha λ = zh e μ = zk , con z ∈ A∗ e h, k ≥ 0. Pertanto v = zh+k ed u = (zh+k )n zh e il risultato è dimostrato.   Vale la seguente proposizione la cui dimostrazione è lasciata al Lettore quale esercizio (vedi Eser. 3.14): Proposizione 3.21. Sia X = {u, v} un insieme di due parole u, v ∈ A+ tali che u = v. Si ha che X non è codice se e solo se uv = vu. Dalla precedente proposizione e dal Lemma 3.9 segue che due parole u e v di A+ costituiscono un codice a meno che u e v non siano potenze di una terza parola. Una parola w ∈ A+ si dice primitiva se non esiste u ∈ A∗ e p > 1 tali che w = u p . Ad esempio la parola aba è primitiva mentre abab = (ab)2 non lo è. Lemma 3.10. Se w è primitiva tale risulta ogni sua coniugata w . Dimostrazione. Sia w coniugata di w, cosicché w = w1 w2 e w = w2 w1 con w1 , w2 ∈ A∗ . Supponiamo che w non sia primitiva. Potremo scrivere w = u p , con u ∈ A∗ e p > 1. Dall’equazione w = u p = w1 w2 si deriva w1 = u p1 u1 , w2 = u2 u p2 con u = u1 u2 e p = p1 + p2 + 1. Pertanto si ha: w = w2 w1 = u2 u p2 u p1 u1 = u2 u p1 +p2 u1 = u2 (u1 u2 ) p1 +p2 u1 = (u2 u1 ) p , cosicché w non è primitiva in contraddizione con l’ipotesi fatta.

 

Proposizione 3.22. Ogni parola w ∈ A+ è potenza di un’unica parola primitiva, detta radice di w. Dimostrazione. Mostriamo anzitutto che w è potenza di una parola primitiva. Il risultato si ottiene in modo immediato per induzione sulla lunghezza di w. Infatti se |w| = 1 allora w = a ∈ A ed a è una parola primitiva. Supponiamo che |w| > 1. Allora w è una parola primitiva oppure esiste u ∈ A∗ e p > 1 tali che w = u p . Essendo |u| < |w| per induzione ne segue che u = vq con v primitiva e q ≥ 1. Pertanto w = v pq con v primitiva. Mostriamo ora che w è potenza di un’unica parola primitiva. Supponiamo che w = x p = yq con x, y parole primitive tali che x = y. Da ciò segue banalmente che p, q > 1. Supponiamo, senza ledere la generalità, che |y| > |x| il che comporta p > q > 1. Dalla precedente equazione utilizzando il lemma di Levi potremo scrivere y = xξ con ξ ∈ A+ e quindi x p = (xξ )q . Cancellando a sinistra la parola x si ha x p−1 = (ξ x)q−1 ξ e, moltiplicando a destra per x, si ottiene x p = (ξ x)q . e quindi yq = (xξ )q = (ξ x)q . Ciò comporta xξ = ξ x. Dal Lemma 3.9 ne segue che esistono una parola w ∈ A∗ ed interi n, m ≥ 1 tali che x = wn e ξ = wm . Pertanto y = xξ = wn+m . Essendo n + m > 1 si perviene a contraddire la primitività di y.  

102

3 Semigruppi e monoidi liberi

Vale la seguente proposizione la cui dimostrazione è lasciata al Lettore (vedi Eser. 3.19).

Proposizione 3.23. Se una parola primitiva è il prodotto di due palindrome non vuote allora la fattorizzazione è unica.

3.6.2 Ordinamenti nei monoidi liberi Sia A∗ il monoide libero sull’alfabeto A. Possiamo ordinare parzialmente le parole di A∗ in molti modi. Date parole u, v ∈ A∗ , possiamo definire, ad esempio: u ≤ p v se v ∈ uA∗ , ovvero u è un prefisso di v o, simmetricamente, u ≤s v se v ∈ A∗ u, ovvero u è un suffisso di v, ed ancora u ≤ f v se v ∈ A∗ uA∗ , ovvero u è un fattore di v. Le relazioni ≤ p , ≤s e ≤ f soddisfano, come si verifica facilmente, le proprietà riflessiva, antisimmetrica e transitiva cosicché sono relazioni di ordine parziale dette rispettivamente ordine prefissiale, ordine suffissiale e ordine fattoriale. Le relazioni ≤ p e ≤s possono rappresentarsi mediante alberi infiniti i cui nodi hanno un grado uguale a d = Card(A). Un tale albero viene anche detto albero generale d-ario. Ad esempio, supponendo che A = {a, b} allora A∗ si può rappresentare mediante un albero generale binario al modo seguente: ppp

ppp

ppppppp a3

ppp

p p p p p p ppp p p p p p p ppp p p p p p p p p p p p p p p p p p p p p p ppppp ppppp ppppp ppppp a2 b aba

@

ab2

ppp

@ @

a2 @

ab

@

ba

p

@

@

@ @

ε

Ordine prefissiale

ppp ppp @ p p @p b2

b2 a

@ @ b

@ a

ppppppp

p

ppp a2

ppp

ppp ppp p

ppp

ppp

a2 b aba

ppp

b2 a

ppp

@ @

p @

ppppppp

ba

pp p pp ppp ppppp ppppp ppppp ppppp ppppp ppppp ppppppp ab

p

ab2

@ @ b

@ a

@

@ @ @

ε

Ordine suffissiale

Fig. 3.1. Ordine prefissiale ed ordine suffissiale

@ @ b2

b3

3.6 Parole e linguaggi

103

La radice è etichettata dalla parola vuota ε ; da ogni nodo, si dipartono due rami con direzioni distinte α e β corrispondenti alla lettera a e alla lettera b rispettivamente. L’albero precedente si presta bene a rappresentare sia l’ordine ≤ p che quello ≤s . Possiamo infatti effettuare una corrispondenza biunivoca tra parole e nodi come segue. Ad ogni parola w = a1 · · · an , ai ∈ {a, b}, associamo il nodo terminale del cammino

ε , a1 , . . . , an , effettuato partendo dalla radice e muovendosi per ogni successiva lettera ai , 1 ≤ i ≤ n, nella direzione α se ai = a e nella direzione β se ai = b. Viceversa dato un nodo, la parola ad esso associata è la sequenza di lettere associata all’unico cammino che si diparte dalla radice ed arriva al nodo stesso. In questo modo, u ≤ p v se e solo se il nodo che corrisponde ad u si trova sul cammino (unico) che va da ε al nodo che corrisponde a v. Per quel che riguarda la relazione ≤s , basta osservare che u ≤ p v ⇐⇒ u∼ ≤s v∼ , e quindi

u ≤s v ⇐⇒ u∼ ≤ p v∼ .

Analoghe considerazioni possono essere fatte nel caso degli alberi generali d-ari. Possiamo dall’albero generale d-ario, costruire dei sottoalberi potando alcuni rami o tutti i rami che si dipartono da un nodo. Veniamo, in tal modo, ad ottenere nodi di grado compreso tra 0 e d. Un nodo di grado 0 è detto foglia. Si verifica facilmente che ogni codice X prefisso su un alfabeto A di cardinalità d si può rappresentare mediante l’insieme di foglie di un sottoalbero dell’albero generale d-ario. Ad esempio, nel caso d = 2, il codice prefisso X = {a, baa, baba, babb} è rappresentato dall’insieme delle foglie dell’albero seguente: ba2 @ @ ba

baba bab2 @ @ bab @

@ b@

a @ @

@

@ ε

Un altro ordinamento parziale di A∗ si ha considerando le sottoparole di una parola. Precisamente, per ogni u, v ∈ A∗ , definiamo u ≺ v se u è una sottoparola di v. Si verifica subito che la relazione ≺ è riflessiva e transitiva. Inoltre essa è antisimmetrica. Infatti se u ≺ v si ha |u| ≤ |v| cosicché se u ≺ v e v ≺ u allora |u| = |v| e quindi u = v. Pertanto ≺ è un ordinamento parziale di A∗ detto ordine di divisione.

104

3 Semigruppi e monoidi liberi

Supponiamo ora che l’alfabeto A sia totalmente ordinato mediante la relazione < . Ad esempio se A = {a, b} sia a < b. Se A = {a1 , . . . , an } sia a1 < a2 < · · · < an . Possiamo estendere un tale ordine totale sulle lettere di A in un ordinamento totale di A∗ , detto ordine lessicografico e denotato usualmente con il simbolo 0, si ha r + nq ∈ Q. Per n = 0, r ∈ Q. Per n = r si ha allora che r(q + 1) ∈ Q il che è assurdo poiché r(q + 1) è un numero composto. Esempio 4.11. Sia A = {a, b, c}. Sia L il linguaggio delle parole senza quadrati su A, L = {w ∈ A∗ | w ∈ / A∗ u2 A∗ , u = ε }. Un risultato di A. Thue (cf. Lothaire 1983) di combinatoria delle parole mostra che la cardinalità di L è infinita. Dimostriamo ora che L non è riconoscibile. Infatti se L fosse riconoscibile poiché L è infinito, esisterebbero in base alla Teorema 4.4 parole h, k, v ∈ A∗ con v = ε e tali che hv∗ k ⊆ L il che è evidentemente assurdo. Vogliamo ora mostrare alcune applicazioni delle proprietà d’iterazione dei linguaggi riconoscibili ad alcuni problemi di decisione. Sia A = (A, S, λ , s0 , S ) un automa finito e L(A ) il linguaggio da esso accettato. Poiché L(A ) può essere vuoto nasce il problema di vedere se esiste una procedura effettiva mediante la quale poter decidere se L(A ) è vuoto o meno. Proposizione 4.6. Sia A = (A, S, λ , s0 , S ) un automa finito. Allora L = L(A ) = 0/  se e solo se L ∩ ( 0≤i≤k−1 Ai ) = 0, / dove k = Card(S). Dimostrazione. L’implicazione (⇒) è ovvia. Supponiamo quindi che L = 0/ e che la lunghezza minima di una parola w di L sia maggiore o uguale di k = Card(S). In base alla proprietà di iterazione (cf. Teor. 4.4) esistono parole h, h , v ∈ A∗ con v = ε e tali che w = hvh e per ogni n ≥ 0, hvn h ∈ L. Poiché |v| > 0 si ha |hh | < |w| e hh ∈ L il che contraddice la minimalità della lunghezza di w.   Corollario 4.3. È possibile decidere effettivamente se L(A ) è vuoto o meno. Dimostrazione. In base alla Proposizione 4.6 basta verificare, utilizzando l’ automa A se esiste o meno una parola w ∈ L(A ) tale che |w| < Card(S).   Corollario 4.4. È possibile decidere effettivamente l’inclusione e l’uguaglianza di due linguaggi riconoscibili.

4.7 Il monoide delle transizioni

135

Dimostrazione. Siano L1 = L(A ) e L2 = L(B) due linguaggi riconoscibili. Si può decidere effettivamente se L1 ⊆ L2 . A tal fine basta osservare che L1 ⊆ L2 se e solo se L1 \ L2 = 0. / Essendo L1 \ L2 riconoscibile in base al Corollario 4.3 si può decidere effettivamente se L1 \L2 è vuoto o meno. Relativamente alla decisione dell’uguaglianza L1 = L2 basta osservare che L1 = L2 se e solo se L1 ⊆ L2 e L2 ⊆ L1 .   Si può inoltre dimostrare (vedi Eser. 4.9) che è possibile decidere se un linguaggio riconoscibile è infinito o meno. A conclusione di questo paragrafo osserviamo che ci si può porre il problema se il fatto che un linguaggio L verifica una proprietà d’iterazione permette di inferire che il linguaggio è riconoscibile. Si può dimostrare che le proprietà di iterazione non a blocchi non sono sufficienti a garantire la riconoscibilità del linguaggio. Invece nel caso della proprietà di iterazione a blocchi uniforme espressa nel Teorema 4.6 si dimostra facilmente che se un linguaggio verifica la predetta proprietà il suo monoide sintattico è finito e quindi il linguaggio è riconoscibile. È stato dimostrato in (Ehrenfeucht, Parikh, Rozenberg 1981), che se un linguaggio verifica la proprietà di iterazione a blocchi non-uniforme allora è riconoscibile. Precisamente vale il seguente: Teorema 4.7. Un linguaggio L su A è riconoscibile se e solo se esiste un intero k > 0 tale che per ogni w1 , · · · , wk ∈ A+ e u, v ∈ A∗ esistono interi i, j tali che wi · · · w j è una pompa per uw1 · · · wk v relativamente ad L. In particolare la proprietà di iterazione espressa dal Teorema 4.5 assicura la riconoscibilità di un linguaggio. La dimostrazione del Teorema 4.7 non è facile e richiede tecniche combinatorie abbastanza complesse. In tale dimostrazione è essenziale che la pompa parta da n = 0. Pertanto un ulteriore problema è se esiste una proprietà di iterazione con pompa positiva (cioè la pompa parte da un intero n0 > 0) in grado di assicurare la riconoscibilità di un linguaggio. Una risposta positiva a quest’ultimo problema è stata data in (de Luca, Varricchio 1991) nel caso di iterazione con pompa positiva a blocchi uniforme e in (Varricchio 1997) nel caso di iterazione con pompa positiva a blocchi non uniforme.

4.7 Il monoide delle transizioni Il teorema di Myhill-Nerode (cf. Teor. 4.2) mostra che un linguaggio L è accettabile da parte di un automa finito se e solo se esiste un morfismo ϕ : A∗ → M, con M monoide finito, tale che L = Lϕϕ −1 . Un morfismo ϕ di A∗ in un monoide finito M non individua, tuttavia, un unico linguaggio riconoscibile, dal momento che esistono più linguaggi ciascuno dei quali è unione di classi della congruenza di indice finito ϕϕ −1 . Al fine di individuare un unico linguaggio bisogna dare anche un sottoinsieme t di M. Diremo che un monoide M riconosce un linguaggio L ⊆ A∗ se esiste un morfismo ϕ : A∗ → M e un sottoinsieme t ⊆ M tale che L = t ϕ −1 .

136

4 Automi finiti

Proposizione 4.7. Un linguaggio L sull’alfabeto A è riconoscibile se e solo se esiste un monoide finito M che riconosce L. Dimostrazione. Sia L ∈ Ric(A∗ ). Per il teorema di Myhill-Nerode L = Lϕϕ −1 , dove ϕ è un morfismo ϕ : A∗ → M di A∗ in un monoide finito M. Sia allora t = Lϕ ; ne segue che t ϕ −1 = Lϕϕ −1 = L, cosicché M riconosce L. Viceversa, sia M un monoide finito che riconosce un linguaggio L su A. Esiste un morfismo ϕ : A∗ → M ed un sottoinsieme t ⊆ M tale che L = t ϕ −1 . Si ha Lϕ ⊆ t e Lϕϕ −1 ⊆ t ϕ −1 = L. Essendo la congruenza ϕϕ −1 di indice finito per il Teorema 4.2 segue l’asserto.   La precedente proposizione ci mostra che la teoria degli automi finiti può essere ricondotta essenzialmente allo studio dei morfismi di monoidi liberi finitamente generati in monoidi finiti. Più precisamente può introdursi la seguente nozione. Definizione 4.2. Un ϕ -automa A è una quadrupla A = (A, M, ϕ ,t) dove A è un alfabeto finito, M è un monoide finito, t è un sottoinsieme di M e ϕ è un morfismo di A∗ in M. Si definisce per linguaggio accettato o riconosciuto dal ϕ -automa A il linguaggio L = t ϕ −1 . La Proposizione 4.7 può essere riletta come segue: un linguaggio L è accettato da un automa finito se e solo se esso è accettato da un ϕ -automa. Vogliamo ora mostrare come ad un automa finito si può associare in modo naturale un ϕ -automa equivalente, tale cioè da riconoscere lo stesso linguaggio. Sia A = (A, S, λ , s0 , S ) un automa finito. Al semiautoma (A, S, λ ) si associa un monoide finito M detto monoide delle transizioni del semiautoma ed un epimorfismo ϕ : A∗ → M detto morfismo del semiautoma. Se A è un automa si chiama monoide delle transizioni di A il monoide delle transizioni del suo semiautoma. Similmente, il morfismo del semiautoma si dirà morfismo dell’automa A . Definizione 4.3. Sia (A, S, λ ) un semiautoma e F(S) il monoide delle trasformazioni di S. Il monoide M delle transizioni del semiautoma è il sottomonoide di F(S) generato dalle trasformazioni elementari λa , a ∈ A. Il morfismo ϕ : A∗ → M del semiautoma è definito da aϕ = λa per ogni a ∈ A. Si definisce congruenza del semiautoma la congruenza di indice finito ϕϕ −1 . Per ogni w ∈ A∗ denotiamo con λw l’applicazione λw : S → S definita da sλw = sw per ogni s ∈ S. Se w = a1 · · · an , si verifica subito che

λw = λa1 · · · λan , cosicché wϕ = λw per ogni w ∈ A∗ . Per ogni u, v ∈ A∗ si ha: u ϕϕ −1 v ⇐⇒ uϕ = vϕ ⇐⇒ λu = λv ⇐⇒ ∀ s ∈ S, su = sv. Se M è il monoide delle transizioni del semiautoma (A, S, λ ) e s0 ∈ S e S ⊆ S possiamo considerare il sottoinsieme t di M dato da: t = {λu ∈ M | s0 λu ∈ S }.

(4.3)

4.7 Il monoide delle transizioni

137

Si ha allora: t ϕ −1 = {w ∈ A∗ | λw ∈ t} = {w ∈ A∗ | s0 λw ∈ S } = L(A ). Si ha dunque che se L = L(A ) allora il ϕ -automa A = (A, M, ϕ ,t) dove M è il monoide delle transizioni, ϕ : A∗ → M il morfismo dell’automa A e t definito dalla (4.3), riconosce il linguaggio L(A ). Vogliamo, viceversa, mostrare come ad ogni ϕ -automa si può associare in modo naturale un automa che riconosce lo stesso linguaggio. Sia A il ϕ -automa A = (A, M, ϕ ,t) che riconosce il linguaggio L = t ϕ −1 . Introduciamo allora l’automa finito: A = (A, M, λ , 1,t) dove 1 è l’identità di M e la funzione di transizione λ : M × A → M è definita come segue: λ (m, a) = ma = mϕ (a), per ogni m ∈ M e a ∈ A. Si ha allora che per ogni m ∈ M e w ∈ A∗ , λ (m, w) = mw = mϕ (w) e L(A ) = {w ∈ A∗ | λ (1, w) ∈ t} = {w ∈ A∗ | wϕ ∈ t} = t ϕ −1 = L. Si noti che se ϕ è un epimorfismo il monoide dell’automa A coincide con il monoide TM delle traslazioni interne destre di M. Come si è visto nel Capitolo 1, Sezione 1.5, TM e M sono isomorfi. Proposizione 4.8. Il monoide delle transizioni M dell’automa di Nerode per il linguaggio riconoscibile L è isomorfo al monoide sintattico M(L) di L. Dimostrazione. Sia ϕ : A∗ → M il morfismo dell’automa di Nerode. Poiché M ∼ = A∗ /ϕϕ −1 ci basta mostrare che la congruenza ϕϕ −1 coincide con la congruenza sintattica di L. Infatti si ha: u ϕϕ −1 v ⇐⇒ uϕ = vϕ ⇐⇒ ∀ w ∈ A∗ , [w]u = [w]v, dove [w] denota la classe di equivalenza NL (w). Si ha allora: u ϕϕ −1 v ⇐⇒ ∀ w ∈ A∗ , [wu] = [wv] ⇐⇒ ⇐⇒ ∀ w, z ∈ A∗ , (wuz ∈ L ⇐⇒ wvz ∈ L) ⇐⇒ u ≡L v.

 

Esempio 4.12. Calcoliamo il monoide delle transizioni del semiautoma dell’Esempio 4.1. Denotiamo gli stati p e q semplicemente con 1 e 2 e le trasformazioni elementari λa e λb con a e b. Il monoide M delle transizioni si calcola mediante la

138

4 Automi finiti

seguente tabella (o tavola di transizione): 1 1 2 1 2 2 1

a b aa ab ba bb

2 2 1 2 1 1 2

. . . . Come si vede valgono le relazioni: a2 = a = b2 , ab = b = ba. Inoltre, a è l’applica∗ zione identità. Ne segue che per ogni w ∈ A si ha che λw = a se |w|b = 2k e λw = b se |w|b = 2k + 1. Il monoide M ha quindi solo due elementi ed è isomorfo al gruppo delle classi dei resti degli interi modulo 2. Esempio 4.13. Sia A = (S, A, λ ) il semiautoma finito dove A = {a, b}, S = {0, 1, 2} e il cui grafo è il seguente: a #  0l b- 1l b- 2l a, b  a



La tavola di transizione è data da: a b aa ab ba bb

0 0 1 0 1 2 2

1 2 2 2 2 2 2

2 2 2 2 2 2 2

.

Per |w| ≤ 2 gli unici elementi λw distinti del monoide sono oltre all’identità, a, b, ba. . . . Infatti valgono le relazioni a2 = a, ab = b, b2 = ba. In base a queste relazioni si ha che per ogni w di lunghezza 3 esiste u di lunghezza 2 tale che λw = λu . Di qui segue che il monoide delle transizioni M ha 4 elementi.

4.8 Automi incompleti e non deterministici Introdurremo in questo paragrafo degli oggetti più generali degli automi finiti che saranno chiamati automi (finiti) incompleti ed automi (finiti) non deterministici. Gli automi finiti finora studiati saranno anche detti deterministici e completi. Come vedremo questi nuovi oggetti non sono più potenti degli automi finiti dal momento che si dimostrerà che la classe dei linguaggi accettati, secondo una naturale definizione di

4.8 Automi incompleti e non deterministici

139

questo concetto, coincide con la classe Ric(A∗ ). Tali automi sono, tuttavia, di grande utilità ed interesse dal momento che un automa incompleto o non deterministico che riconosce un linguaggio L è più semplice di un automa deterministico e completo che riconosce L, cosicché spesso accade che per mostrare che un dato linguaggio è riconoscibile è più facile esibire un automa non deterministico che uno deterministico in grado di riconoscerlo. È utile sottolineare che in tutto il volume per semiautoma (risp. automa) senza ulteriori specificazioni si intenderà sempre un semiautoma (risp. automa) deterministico e completo. Definizione 4.4. Una tripla (A, S, λ ) si dirà semiautoma incompleto se S è un insieme finito, A è un alfabeto finito e λ è una funzione parziale da S × A in S. Un automa incompleto Ain è una quintupla Ain = (A, S, λ , s0 , S ) dove (A, S, λ ) è un semiautoma incompleto, s0 è un elemento di S detto stato iniziale e S è un sottoinsieme di S detto insieme degli stati terminali. Si può introdurre in modo perfettamente simile a quanto fatto nel caso degli automi deterministici e completi la nozione di grafo del semiautoma (A, S, λ ) e dell’automa Ain . Precisamente nel grafo G(Ain ) vi sono tanti nodi quanti sono gli elementi di S; un nodo s è connesso ad un nodo t mediante un arco orientato da s a t ed etichettato con la lettera a ∈ A se e solo se t = λ (s, a). Diamo ora la nozione di parola e di linguaggio accettato da un automa incompleto. Una parola w = a1 · · · an si dirà accettata da Ain = (A, S, λ , s0 , S ) se esiste una successione di stati s0 , . . . , sn tale che s0 è lo stato iniziale, sn ∈ S e per ogni i ∈ [1, n], si = λ (si−1 , ai ). La parola vuota ε è accettata se e solo se s0 ∈ S . Questa definizione corrisponde all’affermazione che una parola w è accettata da Ain se e solo se esiste nel grafo G(Ain ) un cammino dallo stato iniziale ad uno terminale la cui successione delle etichette è uguale a w. Si denoterà con L(Ain ) il linguaggio di tutte le parole accettate da Ain . Dalla definizione si ha che un automa completo è un particolare automa incompleto. Proposizione 4.9. Per ogni automa incompleto Ain esiste un automa completo A che accetta il medesimo linguaggio. Dimostrazione. Sia Ain = (A, S, λ , s0 , S ) un automa incompleto; associamo ad Ain un automa completo A tale che L(Ain ) = L(A ). L’automa A è la quintupla A = (A, S ∪ {π }, λ , s0 , S ) dove π ∈ / S e λ è definita come segue: per s ∈ S e a ∈ A,

λ (s, a) = λ (s, a) se (s, a) ∈ Domλ , λ (s, a) = π se (s, a) ∈ / Domλ , λ (π , a) = π . Pertanto il grafo G(A ) di A si ottiene da G(Ain ) aggiungendo uno stato pozzo π e collegando ogni stato s di Ain con π mediante l’arco (s, a, π ) se la funzione di transizione di Ain non è definita sulla coppia (s, a).

140

4 Automi finiti

È facile rendersi conto che un cammino che ha successo nel grafo G(Ain ) è anche un cammino che ha successo nel grafo G(A ) e viceversa. Si ha dunque L(Ain ) = L(A ).   Definizione 4.5. Un semiautoma non deterministico è una tripla (A, S, λ ) dove S è un insieme finito, A è un alfabeto finito e λ è una funzione λ : S × A → P(S) da S × A nell’insieme delle parti P(S) di S. Un automa non deterministico And è una quintupla And = (A, S, λ , S0 , S ) dove (A, S, λ ) è un semiautoma non deterministico, S0 è un sottoinsieme di S detto insieme degli stati iniziali e S è un sottoinsieme di S detto insieme degli stati terminali. Si noti che un automa deterministico completo (risp. incompleto) è un particolare automa non deterministico: per ogni (s, a) ∈ S × A si ha Card(λ (s, a)) = 1 (risp. ≤ 1). Inoltre S0 si riduce ad un insieme costituito da un solo elemento. Si definisce per grafo G(And ) dell’automa non deterministico And un multigrafo orientato ed etichettato in cui i nodi sono gli elementi di S e gli archi sono costituiti dalle triple (s, a,t) ∈ S × A × S tali che t ∈ λ (s, a). Sia Ω l’insieme di tutti gli archi orientati ed etichettati:

Ω = {(s, a,t) ∈ S × A × S | t ∈ λ (s, a)}. Un cammino c dal nodo s0 al nodo sn è una sequenza c = (s0 , a1 , s1 )(s1 , a2 ,t2 ) · · · (sn−1 , an , sn ) di archi orientati ed etichettati dove il nodo di arrivo di ogni arco coincide con il nodo di partenza dell’arco successivo. In modo simile a quanto fatto nel caso degli automi deterministici, ad ogni cammino c si può associare la lunghezza |c| che è la lunghezza di c quale elemento di Ω ∗ , e la successione di etichette ||c|| = a1 a2 · · · an , che chiameremo ancora valutazione di c in A∗ . Un cammino c dal nodo s0 al nodo sn si dice che è un cammino che ha successo se s0 ∈ S0 e sn ∈ S . Una parola w = a1 · · · an si dirà accettata dall’automa non deterministico And se esiste una sequenza di stati s0 , . . . , sn tale che s0 ∈ S0 , sn ∈ S e per ogni i ∈ [1, n], si ∈ λ (si−1 , ai ). La parola vuota ε è accettata da And se e solo se S0 ∩ S = 0. / Si ha evidentemente dalla definizione che w ∈ A∗ è accettata da And se e solo se esiste un cammino c che ha successo tale che ||c|| = w. Si definisce per linguaggio L(And ) accettato dall’automa non deterministico And l’insieme di tutte le parole accettate da And . Un automa non deterministico And si dice non ambiguo se per ogni w ∈ L(And ) esiste un unico cammino che ha successo c tale che w = ||c||. È chiaro che un automa deterministico è non ambiguo mentre il viceversa non è vero in generale. Esempio 4.14. Sia And = (A, S, λ , S0 , S ) l’automa non deterministico dove A = {a, b},

4.8 Automi incompleti e non deterministici

141

S = {1, 2, 3}, S0 = {1}, S = {3} e la funzione di transizione è definita dalla tavola: S 1 1 2 2 3 3

A a b a b a b

λ {1, 2} {1} . 0/ {3} {3} {3}

Il grafo G(And ) è riportato nel disegno seguente:  6 ? a- 2l b- 3l a, b  a, b 1l



Come si vede facilmente il linguaggio L(And ) = A∗ abA∗ . Si noti che And è ambiguo dal momento che i cammini che hanno successo (1, b, 1)(1, a, 2)(2, b, 3)(3, a, 3)(3, b, 3) e (1, b, 1)(1, a, 1)(1, b, 1)(1, a, 2)(2, b, 3) hanno la medesima valutazione babab ∈ L(And ). Sia And = (A, S, λ , S0 , S ) un automa non deterministico. Associamo a And un automa deterministico D(And ): D(And ) = (A, P(S), μ , S0 , Q), dove μ : P(S) × A → P(S) è l’estensione di λ da S × A a P(S) × A definita come segue: per ogni t ∈ P(S) e a ∈ A,

μ (t, a) = ta =



λ (s, a)

s∈t

ed inoltre

Q = {t ∈ P(S) | t ∩ S = 0}. /

La proposizione seguente mostra che gli automi non deterministici non sono più potenti di quelli deterministici ai fini del riconoscimento dei linguaggi. Proposizione 4.10. Sia And un automa non deterministico. Si ha che L(And ) = L(D(And )). Dimostrazione. Cominciamo con il dimostrare che L(And ) ⊆ L(D(And )). Sia w ∈ L(And ). Se w = ε allora S0 ∩S = 0/ cosicché S0 ∈ Q il che implica ε ∈ L(D(And )). Sia dunque w = a1 · · · an , n > 0; esiste allora una sequenza di stati s0 , . . . , sn tale che s0 ∈ S0 , sn ∈ S e per ogni i ∈ [1, n], si ∈ λ (si−1 , ai ). Se applichiamo la parola w all’automa

142

4 Automi finiti

D(And ) si determinerà una successione di stati dell’automa D(And ): S0 , S1 , . . . , Sn , dove Si ∈ P(S) e Si+1 = Si ai+1 (i = 0, . . . , n). Dimostriamo ora che per ogni i ∈ [0, n − 1] si ha che: si ∈ Si ⇐⇒ si+1 ∈ Si+1 . Ricordiamo che Si+1 =



s∈Si

λ (s, ai+1 ), cosicché se per ipotesi si ∈ Si , segue che: Si+1 ⊇ λ (si , ai+1 )

e quindi si+1 ∈ λ (si , ai+1 ) ⊆ Si+1 . Poiché s0 ∈ S0 si ha allora sn ∈ Sn . Essendo sn ∈ S segue che Sn ∈ Q e quindi w ∈ L(D(And )). Dimostriamo ora che L(D(And )) ⊆ L(And ); sia w ∈ L(D(And )). Se w = ε allora S0 ∈ Q il che comporta che in S0 vi è almeno uno stato terminale. Di qui segue che ε ∈ L(And ). Sia dunque w = a1 · · · an , n > 0; esiste allora una sequenza di stati S0 , . . . , Sn tale che S0 è lo stato iniziale di D(And ), Sn ∈ Q e Si+1 = Si ai+1 (i = 0, . . . , n). Vogliamo ora dimostrare che per i ∈ [1, n − 1]: si ∈ Si ⇒ ∃ si−1 ∈ Si−1 tale che si ∈ λ (si−1 , ai ).

(4.4)



Ciò è una conseguenza del fatto che Si = s∈Si−1 λ (s, ai ). Sia dunque sn uno stato arbitrario di Sn ∩ S . In base alla (4.4) si determina una successione di stati s0 , . . . , sn di And tale che s0 ∈ S0 , sn ∈ S e per ogni i ∈ [1, n], si ∈ λ (si−1 , ai ). Ciò dimostra che w ∈ L(And ).   La precedente costruzione dell’automa D(And ) è nota quale “subset construction”. Esempio 4.15. Ritornando all’Esempio 4.14 l’automa D(And ) è dato dal grafo seguente dove si sono riportati solo gli stati accessibili: a  ? b l a -2lb -3l   b 1 

  a b

  6 a 4l 

I nodi 1, 2, 3 e 4 denotano rispettivamente gli stati {1}, {1, 2}, {1, 3} e {1, 2, 3} dell’automa D(And ). Se And = (A, S, λ , S0 , S ) è un automa non deterministico possiamo ad esso associare l’automa And ∼ = (A, S, λ ∼ , S , S0 ) detto immagine rovesciata di And . L’insieme Ω ∼ degli archi di And ∼ è definito come segue: per ogni s,t ∈ S e a ∈ A, (s, a,t) ∈ Ω ∼ ⇐⇒ (t, a, s) ∈ Ω . In altre parole, il grafo di And ∼ si ottiene da quello di And al seguente modo: gli stati iniziali diventano terminali e viceversa, ed inoltre si inverte l’orientazione degli archi.

4.8 Automi incompleti e non deterministici

143

Proposizione 4.11. L(And ∼ ) = L(And )∼ . Dimostrazione. Sia w ∈ L(And ). Se w = ε il risultato è banale. Sia dunque w ∈ L(And ) e |w| > 0. Possiamo scrivere w = a1 · · · an , n > 0. Esisterà dunque nel grafo di And un cammino che ha successo c = (s0 , a1 , s1 ) · · · (sn−1 , an , sn ) dove s0 ∈ S0 e sn ∈ S e tale che ||c|| = w. Nel grafo di And ∼ esisterà il cammino che ha successo c = (sn , an , sn−1 )(sn−1 , an−1 , sn−2 ) · · · (s1 , a1 , s0 ). Pertanto ||c || = w∼ ∈ L(And )∼ . La dimostrazione dell’inclusione inversa si ottiene con un argomento simmetrico.   Definizione 4.6. Un automa non deterministico And = (A, S, λ , S0 , S ) si dice in forma normale se S0 = {i}, S = {t}, i = t e per ogni s ∈ S e a ∈ A, si ha (s, a, i), (t, a, s) ∈ / Ω , dove Ω è l’insieme degli archi di And . Proposizione 4.12. Sia And = (A, S, λ , S0 , S ) un automa non deterministico e sia L(And ) ⊆ A+ . Esiste allora un automa non deterministico B in forma normale tale che L(And ) = L(B). Dimostrazione. L’automa B è dato dalla quintupla B = (A, S ∪ {i} ∪ {t}, λ , {i}, {t}), dove i,t ∈ / S, i = t e l’insieme degli archi Ω del grafo di B è definito come segue: per ogni s, s ∈ S e a ∈ A, (s, a, s ) ∈ Ω ⇐⇒ (s, a, s ) ∈ Ω , ∃ s ∈ S tale che (s, a, s ) ∈ Ω ⇐⇒ (s, a,t) ∈ Ω , ∃ s ∈ S0 tale che (s, a, s ) ∈ Ω ⇐⇒ (i, a, s ) ∈ Ω , ∃ s ∈ S0 , s ∈ S tali che (s, a, s ) ∈ Ω ⇐⇒ (i, a,t) ∈ Ω . Nessun altro arco etichettato appartiene ad Ω . In particolare, per ogni s ∈ S e a ∈ A, si ha: (t, a, s), (t, a, i), (t, a,t), (s, a, i), (i, a, i) ∈ / Ω . Come si verifica immediatamente l’automa B è in forma normale. Dimostriamo ora che L(And ) = L(B). Sia w ∈ L(And ); se w è una singola lettera a ∈ A, ciò comporta che esiste un arco (s, a, s ) ∈ Ω con s ∈ S0 e s ∈ S . Ma allora dalla definizione di B segue che l’arco (i, a,t) ∈ Ω cosicché w = a ∈ L(B). Viceversa se (i, a,t) ∈ Ω allora esiste un arco (s, a, s ) ∈ Ω con s ∈ S0 e s ∈ S e quindi w = a ∈ L(And ). Sia w ∈ L(And ) e |w| > 1. Possiamo scrivere w = a1 · · · an , n > 1. Esisterà dunque in G (And ) un cammino che ha successo c = (s0 , a1 , s1 )(s1 , a2 , s2 ) · · · (sn−1 , an , sn ) dove s0 ∈ S0 e sn ∈ S e tale che ||c|| = w. In base alla costruzione dell’automa B esisterà in G(B) il cammino c = (i, a1 , s1 )(s1 , a2 , s2 ) · · · (sn−1 , an ,t). Di qui segue che w ∈ L(B).

144

4 Automi finiti

Viceversa sia w = a1 · · · an ∈ L(B); esisterà nel grafo di B un cammino c = (i, a1 , s1 )(s1 , a2 , s2 ) · · · (sn−1 , an ,t) tale che ||c || = w. Dalla definizione di B segue che esistono in Ω gli archi (s0 , a1 , s1 ) e (sn−1 , an , sn ) con s0 ∈ S0 e sn ∈ S . Pertanto il cammino c = (s0 , a1 , s1 )(s1 , a2 , s2 ) · · · (sn−1 , an , sn ) è un cammino che ha successo in G(And ) e quindi w ∈ L(And ).  

4.9 Chiusura di Ric(A∗ ) rispetto al prodotto e all’operazione stella Dimostreremo in questo paragrafo che la famiglia dei linguaggi riconoscibili sull’alfabeto A è chiusa rispetto al prodotto e all’operazione di sottomonoide generato. Proposizione 4.13. Siano L1 , L2 ∈ Ric(A∗ ) allora L1 L2 ∈ Ric(A∗ ). Dimostrazione. Dimostreremo l’asserto supponendo che L1 e L2 siano sottoinsiemi di A+ . Da ciò si dedurrà il risultato in generale. Infatti se L1 e L2 contengono entrambi la parola vuota ε , potremo scrivere: L1 = (L1 \ {ε }) ∪ {ε } e L2 = (L2 \ {ε }) ∪ {ε }, cosicché L1 L2 = (L1 \ {ε })(L2 \ {ε }) ∪ (L1 \ {ε }) ∪ (L2 \ {ε }) ∪ {ε }. Poiché (L1 \ {ε }), (L2 \ {ε }) e {ε } sono riconoscibili e la riconoscibilità si preserva per unione finita segue il risultato. In modo perfettamente analogo si dimostrerà il risultato se solo uno dei due linguaggi contiene la parola vuota. Siano dunque L1 , L2 ⊆ A+ . Essendo L1 , L2 ∈ Ric(A∗ ) esisteranno due automi non deterministici in forma normale A = (A, S, λ1 , i,t) e B = (A, S , λ2 , i ,t ) tali che L1 = L(A ) e L2 = L(B). Consideriamo ora l’automa in forma normale A B = (A, T, λ , i,t ) dove T è ottenuto dalla unione disgiunta di S e S identificando t e i . Gli archi etichettati di A B sono quelli di A e quelli di B. Si verifica immediatamente che L(A B) = L(A )L(B) = L1 L2 .   Proposizione 4.14. Sia L ∈ Ric(A∗ ) allora L∗ ∈ Ric(A∗ ). Dimostrazione. Supponiamo dapprima che L ⊆ A+ e sia A = (A, S, λ , i,t) un automa non deterministico in forma normale che riconosce L. Sia poi A ∗ l’automa (non più in forma normale) che si ottiene da A identificando i due stati i e t in uno stesso stato che è sia iniziale che terminale (vedi Fig. 4.2). L’insieme degli archi di A ∗ è il medesimo di quello di A . Si verifica facilmente che L(A ∗ ) = L∗ . Nel caso in cui ε ∈ L poiché L \ {ε } ∈ Ric(A∗ ) ed (L \ {ε })∗ = L∗ , in base al risultato precedente si ricava L∗ ∈ Ric(A∗ ).  

4.10 Chiusura di Ric(A∗ ) rispetto all’operazione di shuffle

PP 1  q m P  P 1  PP q 

1   m PP q P

PP q m P 1  

t = i

i

145

t

'

$

 m  &

%

i=t Fig. 4.2. Il primo disegno rappresenta l’automa che accetta L1 L2 mentre il secondo rappresenta l’automa che accetta L∗

4.10 Chiusura di Ric(A∗ ) rispetto all’operazione di shuffle Ricordiamo che nel Capitolo 3, Sezione 3.6 abbiamo introdotto un’operazione di prodotto di parole di A∗ , detta shuffle, definita nel modo seguente: se x e y sono parole di A∗ lo shuffle di x e y è il linguaggio, denotato x  y, costituito da tutte le parole x1 y1 x2 y2 · · · xn yn , n ≥ 1, con xi , yi ∈ A∗ , i = 1, . . . , n e x1 x2 · · · xn = x e y1 y2 · · · yn = y. Se X ed Y sono due linguaggi su A, lo shuffle X Y di X e Y sarà poi il linguaggio X Y = {x  y | x ∈ X, y ∈ Y }. Vogliamo ora dimostrare la proprietà di chiusura, rispetto a questa operazione, della famiglia dei linguaggi riconoscibili di A∗ . Proposizione 4.15. Se L1 , L2 ∈ Ric(A∗ ) allora L1  L2 ∈ Ric(A∗ ). Dimostrazione. Siano L1 = L(A1 ) e L2 = L(A2 ) dove A1 = (A, S1 , λ1 , I1 , F1 ) e A2 = (A, S2 , λ2 , I2 , F2 ) sono due automi non deterministici. Denotiamo G1 = (S1 , Ω1 ) e G2 = (S2 , Ω2 ) i grafi dei due automi A1 e A2 rispettivamente. Possiamo allora introdurre l’automa: A = (A, S1 × S2 , λ , I1 × I2 , F1 × F2 ), dove la funzione λ è definita dal seguente insieme Ω degli archi del grafo di A :

Ω = {((p , p ), a, (q , p )) | (p , a, q ) ∈ Ω1 e p ∈ S2 } ∪ {((p , p ), a, (p , q )) | p ∈ S1 e (p , a, q ) ∈ Ω2 }.

146

4 Automi finiti

Dimostriamo che L(A ) = L(A1 )  L(A2 ). Ciò seguirà dalla caratterizzazione seguente: (E) una parola u ∈ A∗ è la valutazione di un cammino c dell’automa A u

c : (p1 , p2 ) −→ (q1 , q2 ) se e solo se esistono cammini c1 e c2 degli automi A1 e A2 rispettivamente, etichettati da parole u1 e u2 tali che: u

u

1 2 q1 , c2 : p2 −→ q2 c1 : p1 −→

e u ∈ u1  u2 . Infatti, se u ∈ L1  L2 , dove L1 = L(A1 ) e L2 = L(A2 ), esistono u1 ∈ L1 e u2 ∈ L2 tali che u ∈ u1  u2 , cosicché esistono un cammino con successo dell’automa A1 u

1 c1 : i1 −→ f1 ,

i1 ∈ I1 , f1 ∈ F1

ed un cammino con successo dell’automa A2 u

2 c2 : i2 −→ f2 ,

i2 ∈ I2 , f2 ∈ F2 .

Per la (E), ciò implica l’esistenza di un cammino con successo dell’automa A u c : (i1 , i2 ) −→ ( f1 , f2 ) la cui valutazione è u. Ne segue u ∈ L(A ) e pertanto L1  L2 ⊆ L(A ). L’inclusione inversa si dimostra in modo del tutto simile. Dimostriamo ora la Condizione (E) per induzione sulla lunghezza della parola che etichetta il cammino dell’automa A . Se ||c|| = ε allora c è il cammino vuoto e la Condizione (E) è banalmente soddisfatta. Osserviamo, inoltre, che se ||c|| = a è una lettera dell’alfabeto A, la Condizione (E) segue facilmente dalla definizione dell’insieme delle transizioni dell’automa A . Dimostriamo infine il passo induttivo. Sia u c : (p1 , p2 ) −→ (q1 , q2 ) un cammino di A di lunghezza |c| = n > 0 e sia ||c|| = u la sua valutazione. Fattorizziamo il cammino c nel prodotto c = d ω dove v

d : (p1 , p2 ) −→ (r1 , r2 ) è un cammino di lunghezza n − 1 la cui valutazione è ||d|| = v e a

ω : (r1 , r2 ) −→ (q1 , q2 ) è un arco di Ω . Applicando l’ipotesi induttiva al cammino d, esisteranno cammini v

v

1 2 r1 , d2 : p2 −→ r2 d1 : p1 −→

degli automi A1 e A2 rispettivamente, tali che v ∈ v1 v2 dove v1 = ||d1 || e v2 = ||d2 ||. a D’altra parte, poiché ω : (r1 , r2 ) −→ (q1 , q2 ) è un arco di Ω si ha che a

ω1 : r1 −→ q1 ∈ Ω1 e q2 = r2

(4.5)

4.10 Chiusura di Ric(A∗ ) rispetto all’operazione di shuffle

oppure

a

ω2 : r2 −→ q2 ∈ Ω2 e q1 = r1 .

147

(4.6)

Trattiamo il caso (4.5) poiché il caso (4.6) è simile. Allora si ha che v

v

a

1 2 e1 = d1 ω1 : p1 −→ r1 −→ q1 , d2 : p2 −→ r2

sono cammini di A1 e A2 rispettivamente e la valutazione di e1 è ||e1 || = v1 a. Poiché, come facilmente si verifica, (v1  v2 )a ⊆ v1 a  v2 , si ha che u = va ∈ v1 a  v2 = ||e1 ||  ||d2 ||. Ne segue che u si ottiene applicando l’operatore di shuffle a partire dalle etichette di due cammini di A1 e A2 rispettivamente. La condizione necessaria di (E) è provata. In modo del tutto simile, si dimostra la condizione sufficiente. In effetti, sia u ∈ A∗ tale che u ∈ u1  u2 dove le parole u1 e u2 sono etichette di cammini u

u

1 2 c1 : s1 −→ t1 , c2 : s2 −→ t2

di A1 e A2 rispettivamente. Sia ora u = u a con u ∈ A∗ e a ∈ A. Allora si ottiene facilmente che

oppure

u ∈ (u 1  u2 )a,

dove u1 = u 1 a, u 1 ∈ A∗ ,

(4.7)

u ∈ (u1  u 2 )a,

dove u2 = u 2 a, u 2 ∈ A∗ .

(4.8)

Studiamo il caso (4.7) poiché il caso (4.8) è simile. Dal fatto che u = u a e dalla (4.7), si ha u ∈ (u 1  u2 ). u

1 r1 in A1 , ed un arco D’altra parte, osserviamo che esiste un cammino d1 : s1 −→ a ω1 : r1 −→ t1 di Ω1 , tale che c1 = d1 ω1 . Poiché |u | < |u|, applicando l’ipotesi induttiva a u , si ottiene l’esistenza di un cammino di A u c : (s1 , s2 ) −→ (r1 ,t2 )

a

tale che ||c || = u . Poiché ω : (r1 ,t2 ) −→ (t1 ,t2 ) è un arco di Ω si ha che u

c ω : (s1 , s2 ) −→ (r1 ,t2 ) −→ (t1 ,t2 ) a

è un cammino di A tale che ||c ω || = u a = u. Il passo induttivo è pertanto dimostrato.   Esempio 4.16. Siano L1 = {ab} e L2 = {ba}. Si ha L1  L2 = {abba, baba, baab, abab}. A partire dagli automi A1 e A2 che accettano L1 e L2 rispettivamente: A1

-r

a -r

b

-r-

A2

-r

b -r

a

-r-

148

4 Automi finiti

in base alla Proposizione 4.15, l’automa non deterministico A che riconosce ab  ba è dato dal grafo seguente: -r

a -r

b -r

b

b b a -r? b -? r r ?

a

a a a b r? -r? -r? -

4.11 Teorema di Medvedev Un linguaggio L sull’alfabeto A si dice localmente testabile in senso stretto o, in breve, strettamente locale se esistono sottoinsiemi finiti F,U,V e W di A∗ tali che: L = F ∪ (UA∗ ∩ A∗V ) \ A∗WA∗ . Denotiamo con k = max{| f | | f ∈ F ∪ U ∪ V ∪ W }. Il linguaggio L si dirà anche k-strettamente locale. L’origine di tale termine è dovuta al fatto che una parola f ∈ A∗ di lunghezza ≥ k appartiene al linguaggio L se e solo se f ha un prefisso di lunghezza ≤ k appartenente all’insieme U, un suffisso di lunghezza ≤ k appartenente a V mentre i suoi fattori di lunghezza ≤ k non appartengono a W . Pertanto si può decidere l’appartenenza o meno di f a L solo sulla base di ‘test’ locali di lunghezza ≤ k. È chiaro poi che se L è k-strettamente locale è anche (k + 1)-strettamente locale. Dalla definizione data segue facilmente che se L è k-strettamente locale allora esistono insiemi U ,V ,W ⊆ Ak tali che L ∩ Ak A∗ = (U A∗ ∩ A∗V ) \ A∗W A∗ . Si verifica, ad esempio, facilmente che il linguaggio L = a∗ b è un linguaggio 2-strettamente locale. In tal caso F = {b},U = {aa},V = {ab} e W = {bb, ba}. Dalle proprietà di chiusura di Ric(A∗ ) segue che un linguaggio strettamente locale è riconoscibile. Tuttavia il viceversa non è vero in generale. Ad esempio il linguaggio riconoscibile L = (a2 )∗ b non è un linguaggio strettamente locale. Infatti quale che sia k > 0, le parole a2k b e a2k+1 b superano entrambe gli stessi test locali di lunghezza k, ma mentre la prima appartiene a L la seconda non vi appartiene. I linguaggi strettamente locali, ed alcune estensioni di questi, sono stati studiati da R. McNaughton e S. Papert e numerosi altri autori. Ritorneremo su questo argomento nel Capitolo 6, Sezione 6.9. Noi ci limiteremo qui a riportare un risultato molto generale dovuto a Yu. T. Medvedev che mostra che ogni linguaggio riconoscibile è immagine omomorfa di un linguaggio strettamente locale su un conveniente alfabeto. Siano L un linguaggio riconoscibile su A e A = (A, S, λ , S0 , S ) un automa non deterministico che lo riconosce. Sia poi Ω l’insieme degli archi del grafo G(A ) del-

4.12 Teorema di Kleene

149

l’automa A . Introduciamo i seguenti insiemi U,V ⊆ Ω e W ⊆ Ω 2 definiti come: U = {(s, a,t) ∈ Ω | s ∈ S0 }, V = {(s, a,t) ∈ Ω | t ∈ S }, W = {(s, a,t)(p, b, q) ∈ Ω 2 | t = p}. Poniamo poi

L = (U Ω ∗ ∩ Ω ∗V ) \ Ω ∗W Ω ∗ .

Sia (A ) l’insieme di tutti i cammini in G(A ) che hanno successo cioè che si dipartono da uno stato iniziale e terminano in uno stato finale di A . Si ha evidentemente che se L(A ) non contiene la parola vuota, (A ) coincide con L . Sia f : Ω ∗ → A∗ il morfismo strettamente alfabetico definito dalla (4.1) come: (s, a,t) f = a, per ogni (s, a,t) ∈ Ω .

(4.9)

Se si applica f ad un cammino c non vuoto di G(A ) si ottiene la parola ||c|| ∈ A∗ associata al cammino c. Pertanto se L(A ) non contiene la parola vuota ε si ha (A ) f = L f = L(A ). Se L(A ) contiene la parola vuota ε , allora (L ∪ {1}) f = L(A ), dove 1 denota l’elemento identità di Ω ∗ . Poiché L oppure L ∪ {1} sono linguaggi 2-strettamente locali sull’alfabeto Ω si ha il seguente risultato: Teorema 4.8 (Medvedev). Ogni linguaggio riconoscibile è immagine omomorfa di un linguaggio strettamente locale su un conveniente alfabeto.

4.12 Teorema di Kleene Il seguente fondamentale teorema dovuto a S. C. Kleene mostra che la famiglia Ric(A∗ ) dei linguaggi riconoscibili di A∗ coincide con la famiglia Rat(A∗ ) dei linguaggi razionali di A∗ . Teorema 4.9 (Kleene). Se A è un alfabeto finito Ric(A∗ ) = Rat(A∗ ). Dimostrazione. Nei paragrafi precedenti abbiamo dimostrato che Ric(A∗ ) contiene le parti finite ed è chiusa rispetto alle operazioni razionali (cioè unione, prodotto e stella). Poiché Rat(A∗ ) è la più piccola famiglia di parti di A∗ che contiene le parti finite ed è chiusa rispetto alle operazioni razionali, segue che Rat(A∗ ) ⊆ Ric(A∗ ). Dimostriamo l’inclusione inversa cioè che se L ∈ Ric(A∗ ) allora L ∈ Rat(A∗ ). Possiamo sempre supporre senza ledere la generalità che L ⊆ A+ . Infatti se ε ∈ L allora

150

4 Automi finiti

possiamo scrivere L = {ε } ∪ L \ {ε }. Poiché L \ {ε } ∈ Ric(A∗ ) se, come dimostreremo, L \ {ε } ∈ Rat(A∗ ) ne seguirà che L ∈ Rat(A∗ ). Siano A = (A, S, λ , s0 , S ) un automa che riconosce L e C l’insieme di tutti i cammini nel grafo G(A ). Per ogni P ⊆ S ed s,t ∈ S sia C (s,t, P) il sottoinsieme dei cammini di C definito come segue: un cammino c appartiene a C (s,t, P) se esiste k ≥ 0 tale che c : s → s1 → · · · → sk → t, si ∈ P, 1 ≤ i ≤ k, dove s → s1 , si → si+1 (i = 1, . . . , k − 1), sk → t sono elementi di Ω e se k = 0 il cammino c si riduce all’elemento s → t di Ω . Introduciamo ora i seguenti due sottoinsiemi W (s,t, P) e V (s,t, P) di C (s,t, P) definiti come segue: W (s,t, P) = {c ∈ C (s,t, P) | s,t ∈ P} e V (s,t, P) = {c ∈ C (s,t, P) | s,t ∈ P}. In altre parole W (s,t, P) rappresenta l’insieme di tutti i cammini in G(A ) che vanno da s a t e dove tutti i nodi dei cammini appartengono a P mentre V (s,t, P) rappresenta l’insieme di tutti i cammini in G(A ) da s a t dove s e t non appartengono a P mentre i nodi intermedi dei cammini appartengono a P. Denotiamo per ogni s,t ∈ S con Ωs,t l’insieme

Ωs,t = {(s, a,t) ∈ Ω | a ∈ A}. Vale la seguente relazione tra gli insiemi W e V prima definiti: se P = 0/ V (s,t, P) =



Ωs,pW (p, q, P)Ωq,t .

(4.10)

p,q∈P

Inoltre l’insieme (A ) dei cammini in G(A ) che hanno successo può esprimersi come  (A ) = W (s0 ,t, S). t∈S

Noi dimostreremo che per ogni s,t ∈ S e P ⊆ S, gli insiemi W (s,t, P) e V (s,t, P) sono parti razionali di Ω ∗ . Poiché la razionalità si preserva per morfismi diretti (cf. Cap. 1, Prop. 1.16) ne segue che: (A ) f = L(A ), dove f è il morfismo definito dalla (4.1), è una parte razionale di A∗ . La dimostrazione della razionalità in Ω ∗ di W (s,t, P) e V (s,t, P) è fatta per induzione sulla cardinalità di P.

4.12 Teorema di Kleene

151

Base dell’induzione. Verifichiamo che se Card(P) = 0, W (s,t, 0) / e V (s,t, 0) / sono parti razionali di Ω ∗ . In tal caso si ha: W (s,t, 0) / = 0, / V (s,t, 0) / = Ωs,t , cioè W (s,t, 0) / e V (s,t, 0) / sono parti finite e quindi razionali di Ω ∗ . La base dell’induzione è dunque provata. Osserviamo pure che se Card(P) = 1 allora P = {p} e ∗ e V (s,t, {p}) = Ω Ω ∗ Ω . W (p, p, {p}) = Ω pp sp pp pt Passo induttivo. Sia Card(P) = k + 1. Supponiamo per ipotesi induttiva di aver dimostrato che W (s,t, Q) e V (s,t, Q) sono parti razionali di Ω ∗ per ogni s,t ∈ S e Q ⊆ S tale che Card(Q) ≤ k. Al fine di dimostrare la razionalità di W (s,t, P) consideriamo l’insieme Q = P \ {s} di cardinalità k. Allora il generico cammino c ∈ W (s,t, P) potrà esprimersi, isolando in esso tutte le occorrenze di s, come: s → s1 → · · · → sk → s → r1 → · · · rh → s → · · · → s → t1 → · · · → t p → t dove gli stati si (i = 1, . . . , k), ri (i = 1, . . . , h), e ti (i = 1, . . . , p) appartengono all’insieme Q. Si ha pertanto la seguente espressione per W (s,t, P): W (s,t, P) = (V (s, s, Q))∗



Ωs,pW (p,t, Q).

p∈Q

Di qui segue che W (s,t, P) è una parte razionale di Ω ∗ . Dalla (4.10) si ha anche che V (s,t, P) è una parte razionale di Ω ∗ il che conclude la dimostrazione.   Si noti che la procedura seguita per la dimostrazione del teorema di Kleene permette, in linea di principio, di associare ad un dato automa finito il linguaggio razionale da esso riconosciuto. Tale procedura prende il nome di algoritmo di McNaughton e Yamada. Un’importante conseguenza del teorema di Kleene è la seguente. Proposizione 4.16. Sia A un alfabeto finito. Valgono le seguenti proprietà: 1) La famiglia Rat(A∗ ) è chiusa rispetto al complemento e quindi rispetto all’intersezione, 2) La proprietà di razionalità si preserva per morfismi inversi di monoidi liberi finitamente generati, 3) La proprietà di riconoscibilità si preserva per morfismi diretti di monoidi liberi finitamente generati. Vale poi il lemma seguente: Lemma 4.1. Se L ∈ Rat(A∗ ) allora L∼ ∈ Rat(A∗ ). Dimostrazione. Basta osservare che se L1 , L2 ∈ Rat(A∗ ) si ha: (L1 ∪ L2 )∼ = L1∼ ∪ L2∼ , (L1 L2 )∼ = L2∼ L1∼ , (L1∗ )∼ = (L1∼ )∗ .

152

4 Automi finiti

Inoltre se L è una parte finita di A∗ anche L∼ è una parte finita di A∗ . Se L ∈ Rat(A∗ ) allora L si otterrà dalle parti finite di A∗ applicando un numero finito di volte le operazioni di unione, prodotto e stella. Poiché l’operazione di rovesciamento preserva le operazioni di unione e di stella ed inverte l’ordine dei fattori del prodotto, applicando l’operazione di rovesciamento ad L si otterrà ancora un’espressione razionale per L∼ . Cosí ad esempio se L = (ab∗ ca∗ )∗ b∗ c ∪ a∗ si avrà L∼ = cb∗ (a∗ cb∗ a)∗ ∪ a∗ .   In base al teorema di Kleene e al Lemma 4.1 si ha una nuova dimostrazione del fatto che se L ∈ Ric(A∗ ) anche L∼ ∈ Ric(A∗ ) (cf. Prop. 4.5 e Prop. 4.11).

4.13 Grammatiche regolari Come si è visto nel Capitolo 3, Sezione 3.6, un concetto di grande interesse nell’Informatica teorica è quello di grammatica formale. In questa sezione, faremo vedere come una famiglia di grammatiche opportunamente definite, dette regolari, consentano di caratterizzare i linguaggi riconoscibili. A tal fine richiamiamo la definizione di grammatica presentata nel Capitolo 3. Una grammatica G è un sistema di riscrittura G = (W0 , R) dove l’alfabeto di G , per evitare alcune ambiguità, sarà denotato con V , mentre gli alfabeti disgiunti VN e VT , rispettivamente dei simboli non terminali e dei simboli terminali, si denoteranno con N e T , avendosi V = N ∪ T . Inoltre l’insieme W0 = {w0 } ⊆ N, e R è un semi-sistema di Thue con un numero finito di produzioni g → g¯ tali che g ∈ V ∗ NV ∗ e g¯ ∈ V ∗ . Il linguaggio L(G) generato dalla grammatica G è definito come segue: L(G) = {w ∈ T ∗ | w0 ∗ w} = {w ∈ L(G ) | w ∈ T ∗ }. Una grammatica si dice lineare a destra se ogni sua produzione g → g¯ è tale che g ∈ N,

g¯ ∈ T ∗ N ∪ T ∗ .

Simmetricamente una grammatica si dice lineare a sinistra (o di tipo 3, vedi Cap. 3, Sez. 3.6.5) se ogni sua produzione g → g¯ è tale che g ∈ N,

g¯ ∈ NT ∗ ∪ T ∗ .

Una grammatica lineare a destra oppure lineare a sinistra è poi detta regolare. Vale allora la proposizione seguente. Proposizione 4.17. Sia L ∈ Ric(A∗ ). Esiste una grammatica lineare a destra G tale che L(G) = L. Dimostrazione. Sia A = (A, S, λ , s0 , S ) un automa che accetta L. Associamo all’automa A la grammatica lineare a destra G dove N = S, T = A, w0 = s0 e l’insieme R delle produzioni di G è definito come: per ogni s,t ∈ S e a ∈ A, 1) s −→ at se t = λ (s, a), 2) s −→ ε se s ∈ S .

4.13 Grammatiche regolari

153

Mostriamo ora che L = L(G). A tale proposito, è sufficiente dimostrare la seguente proprietà: per ogni u ∈ A∗ e per ogni s,t ∈ S, t = λ (s, u) se e solo se s ∗ ut.

(4.11)

In effetti, in base alla proprietà (4.11), si ha: per ogni u ∈ A∗ , u ∈ L ⇐⇒ λ (s0 , u) ∈ S ⇐⇒ s0 ∗ ut, t ∈ S ⇐⇒ s0 ∗ u ⇐⇒ u ∈ L(G). Dimostriamo dunque la proprietà (4.11) per induzione sulla lunghezza della parola u tale che t = λ (s, u). Nel caso in cui |u| ≤ 1, ovvero u = ε oppure u ∈ A, l’asserto segue immediatamente dalla definizione di R. La base del procedimento induttivo è dimostrata. Dimostriamo ora il passo induttivo. Sia u una parola di lunghezza n > 0 e scriviamo u = va con v ∈ A∗ e a ∈ A. Siano r, s stati di A tali che r = λ (s, v) e t = λ (r, a). Poiché |v|, |a| < |u|, applicando l’ipotesi induttiva si ha: s ∗ vr, da cui segue:

r  at,

s ∗ vr  vat.

La proprietà (4.11) è pertanto provata.

 

Mostreremo ora che un linguaggio generato da una grammatica lineare a destra è riconoscibile (cf. Prop. 4.18). La dimostrazione di questo risultato è articolata nei due lemmi seguenti. Lemma 4.2. Sia G una grammatica lineare a destra tale che le sue produzioni sono del tipo: 1) s −→ at, s,t ∈ N e a ∈ T = A, 2) s −→ ε . Allora L(G) ∈ Ric(A∗ ). Dimostrazione. Sia A = (A, S, λ , S0 , S ) l’automa non deterministico definito nel modo seguente: 1) 2) 3) 4)

S = N, S0 = {s0 } dove s0 è la lettera iniziale della grammatica G, S = {s ∈ N | s −→ ε }, per ogni s ∈ S e a ∈ A, si ponga:

λ (s, a) = {t ∈ S | s −→ at}. È possibile dimostrare, per induzione sulla lunghezza delle parole di A∗ , avvalendosi di un argomento combinatorio analogo a quello usato nella dimostrazione della Proposizione 4.17, la condizione seguente: per ogni u ∈ A∗ e per ogni s,t ∈ S, t ∈ λ (s, u) se e solo se s ∗ ut.

(4.12)

154

4 Automi finiti

Per ogni u ∈ A∗ , u ∈ L(A ) se e solo se λ (s0 , u) ∩ S = 0/ ed, in base alla condizione (4.12), si ha:

λ (s0 , u) ∩ S = 0/ ⇐⇒ s0 ∗ ut, t ∈ S ⇐⇒ s0 ∗ u ⇐⇒ u ∈ L(G). Da ciò segue che L(A ) = L(G) cosicché L(G) ∈ Ric(A∗ ).

 

Lemma 4.3. Sia G una grammatica lineare a destra. Esiste una grammatica lineare a destra G tale che L(G) = L(G ) e tale che le produzioni di G sono del tipo: 1) s −→ ut con s,t ∈ N e u ∈ T + , 2) s −→ ε . Dimostrazione. Supponiamo che G sia lineare a destra. Sia s −→ u una produzione di G con u ∈ T + . Sostituiamo ad essa le due produzioni: su −→ ε , s −→ usu ,

(4.13)

dove su è un nuovo simbolo non terminale associato ad u. Sia s −→ t una produzione di G con s,t ∈ N. Supponiamo che non esista alcuna derivazione di G tale che t ∗ ur con u ∈ T + , r ∈ N. In tal caso, la produzione s −→ t viene eliminata. Se invece esiste una derivazione t ∗ t  ur con u ∈ A+ , t,t , r ∈ N allora la produzione s −→ t viene sostituita con la nuova produzione s −→ ur. (4.14) Sia G la grammatica linare a destra ottenuta, a partire da G, operando, per ogni produzione di G del tipo s −→ u oppure s −→ t con s,t ∈ N e u ∈ T + , le sostituzioni (4.13) e (4.14). Si verifica facilmente che le grammatiche G e G generano lo stesso linguaggio.   Proposizione 4.18. Il linguaggio generato da una grammatica lineare a destra è riconoscibile. Dimostrazione. Supponiamo che G sia una grammatica lineare a destra e poniamo A = T . In virtù del Lemma 4.3, possiamo supporre che le produzioni di G siano della forma: 1) s −→ ut con s,t ∈ N e u ∈ A+ , 2) s −→ ε . Sia {u1 , . . . , uk } l’insieme delle parole di A+ che appaiono nella parte destra di ogni produzione s −→ ut e sia B = {b1 , . . . , bk } un alfabeto di k simboli disgiunto da A. Si consideri ora l’applicazione di B in A∗ definita al modo seguente: ∀ i = 1, . . . , k, bi −→ ui , e sia ϕ : B∗ −→ A∗ il morfismo di B∗ in A∗ generato dall’applicazione (4.15).

(4.15)

4.14 Codici razionali

155

Sia G1 la grammatica lineare a destra che si ottiene sostituendo ad ogni produzione di G del tipo s −→ uit, con s,t ∈ N e i ∈ {1, . . . , k} la produzione s −→ bit e lasciando invariate le produzioni s −→ ε con s ∈ N. In virtù del Lemma 4.2, il linguaggio L(G1 ) ∈ Ric(B∗ ). Si verifica facilmente che ϕ (L(G1 )) = L(G). Dal fatto che la riconoscibilità si preserva per morfismi diretti di monoidi liberi finitamente generati (cf. Sez. 4.12, Prop. 4.16) segue che ϕ (L(G1 )) = L(G) ∈ Ric(A∗ ).   Come ovvia conseguenza delle Proposizioni 4.17 e 4.18 si ha: Proposizione 4.19. Un linguaggio L è riconoscibile se e solo se è generato da una grammatica lineare a destra. Dimostriamo ora l’ulteriore proposizione. Proposizione 4.20. Un linguaggio L è riconoscibile se e solo se è generato da una grammatica lineare a sinistra.  la gramDimostrazione. Sia G una grammatica lineare a sinistra e denotiamo con G matica che si ottiene da G sostituendo le parti destre di ogni produzione con la loro immagine rovesciata. Così, ad esempio, se s −→ tu, con s,t ∈ N e u ∈ T ∗ , è una pro da s −→ ut. duzione di G allora tale produzione è sostituita in G ˜ Osserviamo che la  è lineare a destra. Si verifica immediatamente che, per ogni w ∈ T ∗ , grammatica G s0 ∗G w ⇐⇒ s0 ∗G w. ˜  Dalla Proposizione 4.19, L(G)  = L(G).  è riconosciDi conseguenza si ha che L(G) bile. Poiché la proprietà di riconoscibilità è chiusa rispetto all’operatore di rovesciamento ne segue che L(G) è riconoscibile.   Dalle Proposizioni 4.19 e 4.20 discende il teorema seguente: Teorema 4.10. Un linguaggio L è riconoscibile se e solo se è generato da una grammatica regolare.

4.14 Codici razionali In questa sezione prenderemo in esame una classe particolare di linguaggi razionali costituita da quei linguaggi razionali che sono codici, cioè basi di sottomonoidi liberi di monoidi liberi. I monoidi sintattici di tali codici e dei sottomonoidi liberi da essi generati sono finiti cosicché, utilizzando i risultati relativi alla struttura dei semigruppi finiti, quali il teorema di Suschkewitsch, si possono dimostrare importanti risultati sui codici razionali. Alcuni di questi risultati mettono in corrispondenza proprietà dei codici e dei sottomonoidi liberi da essi generati con proprietà di struttura dei loro monoidi sintattici. Inoltre uno stretto legame tra codici prefissi razionali ed automi si realizza mediante la nozione di stabilizzatore di uno stato di un semiautoma. Un codice X sull’alfabeto A si dice razionale se X è un linguaggio razionale su A. Per il teorema di Kleene, X è razionale se e solo se X ∈ Ric(A∗ ). Tutti i codici finiti

156

4 Automi finiti

sono razionali. Esempi di codici (prefissi) razionali infiniti sull’alfabeto A = {a, b} sono X1 = a∗ b e X2 = {a} ∪ ba∗ b. Lemma 4.4. Sia X una parte di A∗ . Se X è razionale allora X ∗ è razionale. Viceversa se P è un sottomonoide razionale di A∗ ed X è l’insieme minimale di generatori di P allora X è razionale. In particolare un codice X su A è razionale se e solo se X ∗ è un linguaggio razionale. Dimostrazione. Se X ∈ Rat(A∗ ) allora banalmente X ∗ ∈ Rat(A∗ ). Viceversa sia P ∈ Rat(A∗ ) = Ric(A∗ ). Poiché dalla Proposizione 3.5, X = (P \ {ε }) \ (P \ {ε })2 , essendo Ric(A∗ ) chiuso rispetto alle operazioni Booleane, ne segue X ∈ Ric(A∗ ) = Rat(A∗ ). Nel caso che X sia un codice basta osservare che X coincide con l’insieme minimale di generatori di X ∗ .   Se X ∈ Rat(A∗ ) allora X ∗ è razionale e quindi il monoide sintattico M(X ∗ ) è finito. Come vedremo nel prossimo capitolo se un linguaggio razionale è dato mediante un automa che lo riconosce oppure da una espressione razionale che lo descrive allora il suo monoide sintattico è effettivamente costruibile. Lemma 4.5. Siano X l’insieme minimale di generatori di X ∗ e σ : A∗ → M(X ∗ ) il morfismo sintattico di X ∗ . Allora X è un codice se e solo se X ∗ σ è liberabile in M(X ∗ ). Se X è razionale è possibile decidere se X è un codice o meno. Dimostrazione. Poiché X è l’insieme minimale di generatori di X ∗ si ha che X è codice se e solo se X ∗ è libero. Dalla Proposizione 3.9, X ∗ è libero se e solo se X ∗ σ è liberabile in M(X ∗ ). Poiché M(X ∗ ) è finito ed effettivamente costruibile, ne segue che è possibile decidere se X ∗ σ è liberabile in M(X ∗ ).   Proposizione 4.21. Un codice razionale è non denso. Dimostrazione. Sia X un codice razionale sull’alfabeto A. Essendo X ∈ Ric(A∗ ) il monoide sintattico M(X) del codice X è finito. Sia σ : A∗ → M(X) il morfismo sintattico di X e X σ l’immagine di X in M(X). Per il teorema di Suschkewitsch (cf. Cap. 2, Teor. 2.7) il monoide M(X) possiede un ideale minimo J, eventualmente uguale a 0, che è unione di gruppi isomorfi. Mostriamo che X σ ∩ J = 0. / Supponiamo per assurdo che X σ ∩ J = 0. / Esiste allora un gruppo H in J tale che X σ ∩ H = 0. / Sia h ∈ X σ ∩ H. Essendo H un gruppo finito esiste un intero p > 1 tale che h p = h. Sia x ∈ X tale che xσ = h. Si ha allora x p σ = xσ e quindi x p ≡X x. Poiché x ∈ X ne segue x p ∈ X il che è assurdo essendo X codice. Si ha dunque X σ ∩ J = 0. / Sia w ∈ J σ −1 . Si ha allora A∗ wA∗ ∩ X = 0, / il che mostra che X non è denso.   Una conseguenza della precedente proposizione e del Teorema 3.4 del Capitolo 3 è la seguente: Proposizione 4.22. Un codice razionale è massimale se e solo se è completo.

4.14 Codici razionali

157

Dimostrazione. Sia X un codice razionale massimale. In quanto codice massimale dal Teorema 3.4 si ha che X è completo. Viceversa se X è completo e razionale dalla Proposizione 4.21 è non denso e quindi dal Teorema 3.4 segue che X è massimale.   La sufficienza della precedente proposizione si basa sull’argomento combinatorio relativo alle distribuzioni di Bernoulli espresso dalla Proposizione 3.16 di Marcus e Schützenberger. Una dimostrazione di tipo algebrico della sufficienza nel caso in cui X è un codice razionale, si ottiene dalla seguente: Proposizione 4.23. Sia X un codice razionale completo. Esistono un intero n ≥ 1 e una parola u ∈ X ∗ tali che per ogni f ∈ A∗ , (u f u)n ∈ X ∗ . Di qui segue che X è un codice massimale. Dimostrazione. Se X ∗ = A∗ allora il risultato è banale. Supponiamo allora che X ∗ ⊂ A∗ . Essendo X razionale si ha anche che X ∗ è razionale e quindi il monoide sintattico M(X ∗ ) è finito. Sia σ : A∗ → M(X ∗ ) il morfismo sintattico di X ∗ e sia X ∗ σ l’immagine di X ∗ in M(X ∗ ). Mostriamo anzitutto che 0 ∈ M(X ∗ ). Supponiamo per assurdo che 0 ∈ M(X ∗ ) e sia w ∈ A∗ una parola tale che wσ = 0. Essendo X completo, X ∗ è denso cosicché esistono parole ξ , η ∈ A∗ tali che ξ wη ∈ X ∗ . Ciò comporta (ξ σ )(wσ )(ησ ) = 0 ∈ X ∗ σ . Pertanto 0σ −1 ⊆ X ∗ σ σ −1 = X ∗ . Pertanto X ∗ dovrebbe contenere l’ideale bilatere 0σ −1 il che, essendo X ∗ libero e propriamente contenuto in A∗ , è assurdo in base al Lemma 3.3 del Capitolo 3. Dal Teorema 2.7 il monoide M(X ∗ ) ha un ideale minimale J tale che J=

p 

Hj

j=1

con p ≥ 1 e le H j , j = 1, . . . , p, sono H -classi le quali sono sottogruppi massimali di M(X ∗ ) tra loro isomorfi. Poiché X ∗ è denso si ha che X ∗ σ ∩ J = 0. / Esisterà allora una H -classe He , dove e è l’identità del gruppo He , tale che X ∗ σ ∩ He = 0. / Si ha che D = X ∗ σ ∩ He è un sottosemigruppo di He ed, essendo He finito, D è un sottogruppo di He (vedi Eser. 1.6). Pertanto se d è un qualsiasi elemento di D esiste certamente un intero p ≥ 1 tale che d p = e ∈ X ∗ σ . Poiché dal Teorema 2.7, He = eM(X ∗ )e si ha che per ogni m ∈ M(X ∗ ), eme ∈ He . Di qui segue che esiste un intero n tale che per ogni m ∈ M(X ∗ ), (eme)n = e; si può prendere n uguale all’ordine di He . Siano ora u ∈ X ∗ ed f ∈ A∗ tali che uσ = e e f σ = m, si ha allora (u f u)n σ = uσ ∈ X ∗ σ e quindi (u f u)n ∈ X ∗ σ σ −1 = X ∗ . (4.16)

158

4 Automi finiti

Mostriamo ora che X è un codice massimale. Infatti se X non è massimale esiste almeno una parola f ∈ A∗ \ X ∗ tale che Y = X ∪ { f } è un codice su A. In base a quanto prima dimostrato esisterebbero u ∈ X ∗ e un intero n ≥ 1 tali che la (4.16) è soddisfatta. La parola (u f u)n ∈ Y ∗ ammette allora due diverse fattorizzazioni mediante gli elementi di Y , la prima in cui intervengono solo gli elementi di X e la seconda in cui intervengono gli elementi di X ed f e ciò contraddice l’ipotesi che Y è un codice.   Corollario 4.5. Sia X un codice prefisso razionale completo. Allora X è completo a destra. Dimostrazione. Dalla precedente proposizione si ha che esistono un intero n ≥ 1 e una parola u ∈ X ∗ tali che per ogni f ∈ A∗ , (u f u)n = u( f u(u f u)n−1 ) ∈ X ∗ . Dalla Proposizione 3.12 del Capitolo 3, X ∗ è unitario a destra. Poiché u ∈ X ∗ ne segue f A∗ ∩ X ∗ = 0, / cioè X è completo a destra.   Si noti che il precedente risultato può anche essere derivato usando le Proposizioni 4.21 e 3.18. Vedremo ora come i codici prefissi razionali e i rispettivi sottomonoidi unitari a destra si possono associare in modo naturale ai cicli nel grafo di un semiautoma finito. Diamo la seguente definizione: Sia A =(A, S, λ ) un semiautoma finito. Per ogni s ∈ S si definisce stabilizzatore di s l’insieme Ps = {w ∈ A∗ | sw = s}. Proposizione 4.24. Sia A =(A, S, λ ) un semiautoma finito. Per ogni s ∈ S, lo stabilizzatore Ps è un sottomonoide razionale di A∗ unitario a destra. Se A è transitivo allora la base Xs di Ps è un codice prefisso massimale. Viceversa se P è un sottomonoide razionale di A∗ unitario a destra allora P è lo stabilizzatore di uno stato di un automa finito. Dimostrazione. Cominciamo con il dimostrare che Ps è un sottomonoide di A∗ . Infatti poiché sε = s, si ha ε ∈ Ps . Se u, v ∈ Ps si ha su = s e sv = s cosicché s(uv) = (su)v = sv = s il che comporta uv ∈ Ps . Mostriamo ora che Ps è unitario a destra. Sia w ∈ Ps−1 Ps . Esiste una parola p ∈ Ps tale che pw ∈ Ps . Si ha allora sp = s e spw = s da cui segue sw = s e quindi w ∈ Ps . Mostriamo ora che Ps ∈ Rat(A∗ ). Sia W (s, s, S) l’insieme di tutti i cammini nel grafo di A che partono da s e arrivano ad s. Come si è visto nella dimostrazione del teorema di Kleene, W (s, s, S) ∈ Rat(Ω ∗ ) dove Ω è l’insieme degli archi del grafo di A . Se f : Ω ∗ → A∗ è il morfismo definito da: per ogni (s, a,t) ∈ Ω , f ((s, a,t)) = a, si ha Ps = f (W (s, s, S)). Poiché la razionalità si preserva per morfismi diretti ne segue Ps ∈ Rat(A∗ ).

4.14 Codici razionali

159

Supponiamo ora che A sia transitivo. Sia u una qualsiasi parola di A∗ . Si ha allora su = t ∈ S. Dalla transitività di A segue che esiste una parola w ∈ A∗ tale che tw = s. Pertanto si ha suw = tw = s, cosicché uw ∈ Ps . Dalle Proposizioni 3.12 e 3.17 segue che la base Xs di Ps è un codice prefisso massimale. Supponiamo ora che P sia un sottomonoide razionale di A∗ unitario a destra e sia AP l’automa di Nerode relativo a P. Lo stato iniziale NP (ε ) di AP è anche l’unico stato terminale di AP . Ricordiamo infatti che l’insieme degli stati terminali di AP è dato da P/NP = {NP (u) | u ∈ P} e mostriamo che per ogni u ∈ P, si ha NP (u) = NP (ε ). Infatti per ogni ξ ∈ A∗ se uξ ∈ P allora, dalla unitarietà a destra di P, segue che ξ ∈ P . Viceversa se ξ ∈ P, poiché u ∈ P e P è un sottomonoide di A∗ , segue uξ ∈ P. Pertanto si ha u NP ε . Poiché P = L(AP ) ne segue: P = {u ∈ A∗ | λ (N P (ε ), u) ∈ P/NP = {NP (ε )}}, cosicché P è lo stabilizzatore dello stato NP (ε ) dell’automa AP .

 

Esempio 4.17. Nel caso del semiautoma dell’Esempio 4.1 si ha come si verifica facilmente: Pp = Pq = X ∗ dove X è il codice prefisso massimale X = {a} ∪ ba∗ b. Consideriamo ora codici razionali sincronizzanti. La seguente proposizione mostra come nel caso di un codice X razionale e completo la proprietà di sincronizzazione del codice corrisponde all’essere banale il gruppo di Suschkewitsch dell’ideale minimale del monoide sintattico di X ∗ . Proposizione 4.25. Il codice X razionale e completo è sincronizzante se e solo se il gruppo di Suschkewitsch dell’ideale minimale del monoide sintattico di X ∗ è banale. Dimostrazione. Se X è un codice razionale completo allora il monoide sintattico M(X ∗ ) è finito e per il teorema di Suschkewitsch l’ideale minimo J di M(X ∗ ) è unione di gruppi isomorfi. Inoltre, come si è visto nella dimostrazione della Proposizione 4.23, 0 ∈ M(X ∗ ). Per ipotesi X ∗ è sincronizzante cosicché dalla Proposizione 1.21 esiste una costante c ∈ X ∗ per X ∗ . Se σ : A∗ → M(X ∗ ) è il morfismo sintattico di X ∗ , per il Lemma 1.1 si ha che c = c σ è una costante di M(X ∗ ) per X ∗ σ . Mostriamo anzitutto che per ogni m ∈ M(X ∗ ) si ha: cmc ≡ c. (4.17) dove con ≡ abbiamo denotato la congruenza sintattica di X ∗ σ in M(X ∗ ). Siano u, v ∈ M(X ∗ ) tali che ucmcv ∈ X ∗ σ . Poiché c ∈ X ∗ σ e c è una costante di M(X ∗ ) per X ∗ σ si ha ucv ∈ X ∗ σ . Viceversa supponiamo che ucv ∈ X ∗ σ . Poiché X ∗ è denso si deriva immediatamente che esistono s,t ∈ M(X ∗ ) tali che scmct ∈ X ∗ σ . Essendo c una costante per X ∗ σ ne segue ucmct ∈ X ∗ σ ed ancora ucmcv ∈ X ∗ σ . Pertanto la (4.17) è dimostrata. Dalla Proposizione 1.11 la congruenza sintattica di X ∗ σ in M(X ∗ ) è l’identità cosicché per ogni m ∈ M(X ∗ ), si ha: cmc = c.

160

4 Automi finiti

Se si assume m = 1 si ha allora c2 = c, cioè c è un idempotente. Inoltre se m ∈ J ne segue che cmc = c ∈ J. Pertanto c ∈ J ∩ X ∗ σ . Essendo cM(X ∗ )c = Hc dove Hc è il gruppo di J che contiene l’idempotente c quale identità si ha Hc = {c}, cosicché il gruppo di Suschkewitsch di J è banale. Viceversa supponiamo che il gruppo di Suschkewitsch dell’ideale minimale J del monoide sintattico di X ∗ è banale. Poiché J ∩ X ∗ σ = 0/ esisterà allora un idempotente e tale che e ∈ X ∗ σ cosicché He = eM(X ∗ )e = e. Mostriamo ora che e è una costante di M(X ∗ ) per X ∗ σ . Siano infatti s, s ,t,t ∈ M(X ∗ ) tali che ses , tet ∈ X ∗ σ . Si ha allora ses tet ∈ X ∗ σ . Poiché es te = e ne segue set ∈ X ∗ σ . Pertanto e è una costante di M(X ∗ ) per X ∗ σ . Dal Lemma 1.1 si ha che ogni parola c ∈ eσ −1 è una costante di A∗ per X ∗ . Ne segue che X è sincronizzante.  

4.15 Automi sincronizzanti Sia (A, S, λ ) un semiautoma finito deterministico e completo. Una parola u ∈ A∗ è detta sincronizzante o di reset per il semiautoma se Card(Su) = 1. Lo stato s tale che Su = {s} è detto stato di reset. Il semiautoma (A, S, λ ) si dice sincronizzante se possiede una parola sincronizzante. Un automa A = (A, S, λ , s0 , S ) si dice sincronizzante se il corrispondente semiautoma (A, S, λ ) è sincronizzante. Esempio 4.18. Consideriamo il semiautoma il cui grafo è descritto nel disegno seguente: b # 0l aa6  ba

3l

 b  1l a  ? b  2l

Tale semiautoma è sincronizzante poiché, come si verifica facilmente, la parola ba3 ba3 b è sincronizzante ed il corrispondente stato di reset è 1. Lemma 4.6. L’insieme di tutte le parole di reset di un semiautoma sincronizzante (A, S, λ ) è un ideale bilatere di A∗ . Dimostrazione. Sia U l’insieme di tutte le parole di reset di (A, S, λ ). Mostriamo che A∗UA∗ ⊆ U. Sia u ∈ U e Su = {s} dove s è lo stato di reset corrispondente. Per ogni v, w ∈ A∗ si ha: Svuw ⊆ Suw = {s}w = {s }, con s = sw, cosicché Card(Svuw) = 1 e vuw ∈ U.

 

4.15 Automi sincronizzanti

161

Poiché nella definizione di automa sincronizzante lo stato iniziale e gli stati finali non giocano alcun ruolo, qualora non vi sia ambiguità, denoteremo un automa sincronizzante A con la terna A = (A, S, λ ) del semiautoma ad esso associato. La seguente proposizione mostra, tuttavia, il legame esistente tra le parole di reset di un automa sincronizzante e le costanti per il linguaggio accettato dall’automa. Proposizione 4.26. Sia (A, S, λ ) un semiautoma sincronizzante ed u una parola di reset per (A, S, λ ). Allora per ogni automa A = (A, S, λ , s0 , S ), u è una costante per L(A ). Dimostrazione. Poiché u è una parola di reset per (A, S, λ ) si ha Su = {s} dove s è lo stato di reset. Sia ora A = (A, S, λ , s0 , S ) un qualsiasi automa finito il cui semiautoma è (A, S, λ ) e sia L = L(A ) il linguaggio accettato da A . Mostriamo che u è una costante per L. Siano λ1 , λ2 , λ3 , λ4 ∈ A∗ tali che

λ1 uλ2 , λ3 uλ4 ∈ L. Si ha allora: e Poiché

s0 λ1 uλ2 = (s0 λ1 )uλ2 = sλ2 ∈ S s0 λ3 uλ4 = (s0 λ3 )uλ4 = sλ4 ∈ S . s0 λ1 uλ4 = sλ4 ∈ S ,

ne segue λ1 uλ4 ∈ L, cosicché u è una costante per L(A ).

 

Come vedremo nel prossimo capitolo (vedi Prop. 5.3) vale un parziale viceversa della precedente proposizione nel senso che se L è un linguaggio riconoscibile ed A è un automa minimale e coaccessibile per L allora ogni costante per L è una parola di reset per A . Un semiautoma sincronizzante A = (A, S, λ ) si dice semiautoma di reset se tutte le lettere a ∈ A sono sincronizzanti. In tal caso ogni parola w ∈ A+ è una parola di reset per A e la trasformazione λw : S → S assume un valore costante. Si è riportato, nel disegno seguente, il grafo di un semiautoma di reset avente due stati 0 e 1 che sono entrambi stati di reset. a # b

0l b



 l a 1

Il monoide delle transizioni MA di A possiede oltre alla identità id due elementi λa e λb . Se w ∈ A+ e l’ultima lettera di w è a allora λw = λa assume valore costante 1; se l’ultima lettera di w è b allora λw = λb assume valore costante 0. Rappresentando MA mediante generatori e relazioni valgono in MA le identità . . . . a2 = a = ba e b2 = b = ab.

162

4 Automi finiti

La nozione di automa sincronizzante è di grande importanza nella teoria degli automi sia dal punto di vista teorico che applicativo. Come vedremo nel Capitolo 7 i monoidi delle transizioni dei semiautomi di reset giocano un ruolo chiave nella decomposizione degli automi e dei monoidi finiti. Dal punto di vista delle applicazioni gli automi sincronizzanti forniscono un modello computazionale idoneo alla descrizione di certi sistemi di calcolo detti fault-tolerant, cioè tali da essere in grado di porre in atto azioni di correzione e di ripristino del funzionamento in caso di errori avvenuti durante la computazione. In diversi contesti applicativi un sistema di calcolo può essere realisticamente descritto da un automa a stati finiti. Le possibili configurazioni del sistema sono rappresentate dagli stati dell’automa mentre le transizioni tra le sue configurazioni sono rappresentate da quelle fra i corrispondenti stati dell’automa. Durante la computazione, può accadere che un errore del sistema lo conduca ad una configurazione differente da quella desiderata. Se l’automa che simula il sistema è sincronizzante, l’inserimento di una parola di reset consente di riportare la macchina in una configurazione, a partire dalla quale il sistema può ricominciare la computazione in modo corretto. Poiché il tempo di esecuzione della procedura di ripristino è proporzionale alla lunghezza della parola di reset, il problema che ci si pone è quello dello studio della struttura combinatoria di parole sincronizzanti corte e delle condizioni che ne rendono possibile la costruzione. Questo problema è detto della sincronizzazione. Un primo risultato significativo è il seguente. Proposizione 4.27. Sia A = (A, S, λ ) un semiautoma ad n stati. A è sincronizzante se e solo se per ogni s, s ∈ S esiste una parola w ∈ A∗ tale che sw = s w. In particolare, se A è sincronizzante allora A possiede una parola di reset di lunghezza non superiore a n(n − 1)2 /2. Dimostrazione. Supponiamo che l’automa A = (A, S, λ ) sia sincronizzante. Allora esistono una parola w ∈ A∗ ed uno stato t ∈ S tale che, per ogni s ∈ S, sw = t. Da ciò segue che, per ogni s, s ∈ S, sw = s w = t. Supponiamo ora che, per ogni t,t ∈ S, esista una parola w ∈ A∗ tale che tw = t w. Siano s, s due stati distinti di A . Per ipotesi, esiste una parola w1 ∈ A∗ tale che sw1 = s w1 . Poniamo S1 = Sw1 . Ne segue che Card(S1 ) ≤ Card(S) − 1. Se Card(S1 ) = 1 allora w1 è una parola di reset per A . Sia ora invece Card(S1 ) > 1 e siano s, s due stati distinti di S1 . Iterando l’argomento precedente a partire da s e s , si otterrà una parola w2 ∈ A∗ tale che, posto S2 = S1 w2 , si ha Card(S2 ) ≤ Card(S1 ) − 1 ≤ n − 2. Se Card(S2 ) = 1 allora w1 w2 è una parola di reset per A . Nel caso in cui Card(S2 ) > 1, a partire dall’insieme S2 , sempre applicando l’argomento combinatorio precedente, si costruisce una sequenza di i parole w1 , w2 , . . . , w i ,

(4.18)

tale che i ≤ n − 1 e Card(Sw1 w2 · · · wi ) = 1; pertanto w1 w2 · · · wi è una parola di reset per A . Mostriamo infine che se A è sincronizzante allora A possiede una parola di reset di lunghezza non superiore a n(n − 1)2 /2. A tale fine è sufficiente far vedere che: per

4.15 Automi sincronizzanti

163

ogni s, s ∈ S, ∃ w ∈ A∗ : sw = s w =⇒ ∃ v ∈ A∗ : sv = s v, |v| ≤ n(n − 1)/2.

(4.19)

In effetti, considerando le parole della sequenza (4.18) ed applicando ad esse la (4.19), si ha l’esistenza di parole v1 , . . . , vi tali che Card(Sv1 · · · vi ) = 1,

|v1 · · · vi | ≤ n(n − 1)2 /2.

Mostriamo dunque la (4.19). A tal fine, associamo ad A il grafo P [2] (A ) = (P [2] (S), Ω ) dove P [2] (S) è l’insieme dei nodi e Ω è l’insieme degli archi definiti rispettivamente al modo seguente: 



1) P [2] (S) = s∈S {s} ∪ s,t∈S, s =t {s, t}, cioè l’insieme delle parti non vuote di S aventi un numero di elementi minore o uguale a 2, 2) L’insieme Ω degli archi è definito come: per ogni s, s ,t,t ∈ S e a ∈ A {s, t} −→ {s , t } a

mentre

se

{s, t} −→ {s } a

se

sa = s , ta = t , s = t , sa = s = t = ta.

Si verifica facilmente che, dati due stati s, s ∈ S, esiste una parola w ∈ A∗ tale che sw = sw = t, t ∈ S, se e solo se esiste nel grafo P [2] (A ) un cammino dal nodo {s, s } al nodo {t} etichettato da w. Poiché, come si verifica facilmente, il grafo P [2] (A ) ha n(n + 1)/2 nodi, se il cammino predetto esiste, esso può sempre assumersi di lunghezza non superiore a n(n − 1)/2. La (4.19) è dunque provata e la dimostrazione della proposizione è pertanto conclusa.   La proposizione seguente stabilisce che la proprietà di sincronizzazione è ricorsivamente decidibile. Proposizione 4.28. Esiste una procedura di decisione che permette di verificare se un automa è sincronizzante o meno. Dimostrazione. Sia A = (A, S, λ ) un semiautoma deterministico completo. Associamo ad A un automa deterministico completo P(A ): P(A ) = (A, P(S), μ , s0 , Q), dove μ : P(S) × A → P(S) è l’estensione di λ alle parti di S definita come: per ogni t ∈ P(S) e a ∈ A  μ (t, a) = λ (s, a) s∈t

e t0 = S,

Q = {{s} | s ∈ S}.

Osserviamo che w è accettata da P(A ) se e solo se μ (S, w) = Sw ∈ Q cioè se e solo se Card(Sw) = 1. Di conseguenza A possiede una parola di reset se e solo se L(P(A )) = 0. / L’asserto segue allora applicando il Corollario 4.3 a P(A ).  

164

4 Automi finiti

Converrà osservare che il tempo di calcolo della procedura della Proposizione 4.28 è proporzionale al numero di stati dell’automa P(A ), che è 2n dove n = Card(S), ed è pertanto esponenziale nel numero degli stati dell’automa A di partenza. Un’altra procedura di decisione più efficiente in termini di tempo di calcolo può, invece, essere facilmente realizzata utilizzando gli argomenti combinatori della dimostrazione della Proposizione 4.27. Si ha infatti il risultato seguente. Proposizione 4.29. Esiste una procedura di decisione che permette di verificare se un automa ad n stati è sincronizzante o meno, con un tempo di calcolo polinomiale in n. Dimostrazione. Sia A = (A, S, λ ) un automa deterministico completo e sia P [2] (A ) = (P [2] (S), Ω ) il grafo associato ad A e definito nella dimostrazione della Proposizione 4.27. Per la Proposizione 4.27, A possiede una parola di reset se e solo se, per ogni s, s ∈ S, esiste una parola w ∈ A∗ tale che sw = sw . Quest’ultima condizione equivale a dire che esiste nel grafo P [2] (A ) un cammino dal nodo {s, s } al nodo {t}, con t ∈ S, etichettato da w. Ricordiamo ora che esiste un algoritmo per decidere se due nodi di un grafo di n nodi sono connessi ed il cui tempo di calcolo T (n) è O(n2 ), cioè quadratico nel numero dei nodi del grafo (cf. Cormen, Leiserson, Rivest 2005). Applicando tale algoritmo a P [2] (A ), al variare di {s, s } in P [2] (A ) e di t ∈ S, ne segue che T (n) è limitato superiormente da un polinomio in n.   Utilizzando gli argomenti delle dimostrazioni delle Proposizioni 4.27 e 4.29, è possibile ottenere facilmente una procedura la cui esecuzione, nel caso in cui l’automa sia sincronizzante, produce in uscita una parola di reset. Tuttavia la parola di reset così ottenuta non è, in generale, la più corta possibile. Lo studio del problema del calcolo di una parola di reset di lunghezza minima in un automa sincronizzante, e della sua complessità computazionale, è ancora aperto. Recenti risultati ottenuti in tale ambito sembrerebbero portare ad escludere l’esistenza di algoritmi per la risoluzione di tale problema con un tempo di calcolo polinomiale nel numero degli stati dell’automa (cf. Volkov 2008). ˇ Nell’ambito del problema della sincronizzazione, nel 1964, J. Cerný, formulò la seguente congettura: Un automa ad n stati completo deterministico e sincronizzante, possiede una parola di reset di lunghezza non superiore ad (n − 1)2 . ˇ Nel tentativo di dimostrare la congettura di Cerný sono state forniti diversi limiti superiori per le lunghezze minime delle parole di reset. Nel caso generale, la migliore stima ottenuta è cubica nel numero di stati dell’automa. Precisamente, nel 1983, J.-E. Pin ha dimostrato che ogni automa sincronizzante ad n stati possiede una parola di reset di lunghezza non superiore ad (n3 − n)/6. ˇ La congettura di Cerný risulta essere vera per alcune classi notevoli di automi. Fra queste, riveste particolare importanza quella degli automi Euleriani e quella degli automi circolari.

4.15 Automi sincronizzanti

165

Un automa è detto Euleriano se il suo grafo è Euleriano, ovvero se il grafo possiede un ciclo che attraversa esattamente una volta tutti i suoi archi. Si noti che un automa ˇ Euleriano è transitivo. Nel 2001, J. Kari ha dimostrato che la congettura di Cerný è vera nel caso degli automi Euleriani sincronizzanti. Un esempio di automa Euleriano è quello specificato nella figura seguente. Si verifica facilmente che la parola abab è una parola di reset ed 1 è il corrispondente stato di reset per l’automa. b  # a, b 1l - 2l b6 a  a b  l l 3 4  " ! a

Un automa A = (A, S, λ ) si dice circolare se esiste una lettera a ∈ A tale che la trasformazione elementare λa : S → S è una permutazione circolare da S in S. In altre parole, l’automa è circolare se e solo se, nel grafo dell’automa, esiste un ciclo, i cui archi sono tutti etichettati con un dato simbolo, che attraversa esattamente una volta tutti i nodi del grafo. Un automa circolare è banalmente un automa transitivo. L’automa dell’Esempio 4.18 è circolare, come si verifica facilmente. Nel 1998, L. Duˇ buc ha dimostrato che la congettura di Cerný è vera nel caso degli automi circolari sincronizzanti. Nel 2009, A. Carpi e F. D’Alessandro hanno introdotto una nuova classe di automi detti localmente fortemente transitivi che sono di grande interesse per il problema della sincronizzazione. Ci soffermeremo ad illustrare brevemente alcune proprietà di questa classe di automi anche in relazione ad altre classi di automi di interesse per il problema della sincronizzazione. Un automa A ad n stati si dice localmente fortemente transitivo se esiste un insieme W di k parole ed un insieme R di k stati distinti tali che, per ogni stato s di A e per ogni stato r ∈ R, esiste una parola w ∈ W tale che sw = r. L’insieme W è detto indipendente mentre l’insieme R è detto range di W. Nel caso in cui l’insieme R coincida con quello degli stati di A , l’automa è detto fortemente transitivo. La nozione di automa localmente fortemente transitivo estende quella di automa circolare. In effetti, se A è un automa ad n stati circolare, e se a è la lettera che agisce quale permutazione circolare su S, allora l’insieme di parole an−1 , . . . , a, ε , costituisce un insieme indipendente per l’automa il cui range corrispondente è l’insieme degli stati di A . Pertanto un automa circolare è fortemente transitivo. Un altro esempio notevole di automi localmente fortemente transitivi è quello degli automi 1-cluster, introdotti da M.-P. Béal e D. Perrin in (Béal, Perrin 2009) che fornirono per gli automi 1-cluster sincronizzanti un limite superiore, quadratico nel

166

4 Automi finiti

numero degli stati dell’automa, alla lunghezza di una parola sincronizzante. Un automa è detto 1-cluster se esiste una lettera a tale che il grafo dell’automa contiene esattamente un ciclo i cui archi sono etichettati da a. In effetti, se k denota la lunghezza di questo ciclo ed n il numero degli stati dell’automa, si verifica facilmente che l’insieme delle parole an−1 , an−2 , . . . , an−k , costituisce un insieme indipendente per l’automa il cui range corrispondente è l’insieme dei nodi del ciclo. Esempio 4.19. Consideriamo l’automa A avente 4 stati, sull’alfabeto A = {a, b} definito dal grafo seguente: a   a, b a a, b l  1l - 2l -3l 4 

  b b

Tale automa è 1-cluster poiché contiene esattamente un ciclo i cui archi sono etichettati dalla lettera a. Si verifica facilmente che l’insieme {a2 , a3 } è indipendente e che il corrispondente range è R = {2, 3}. L’automa è dunque localmente fortemente transitivo. Converrà ricordare (vedi Sez. 4.2) che un automa si dice transitivo se il suo grafo è fortemente connesso. Gli automi localmente fortemente transitivi non sono, in generale, transitivi. Infatti, l’automa dell’ Esempio 4.19 è localmente fortemente transitivo ma non transitivo. Segue immediatamente dalla definizione che un automa fortemente transitivo è transitivo. L’esempio successivo mostra che la proprietà di transitività non implica in generale la proprietà di forte transitività. Esempio 4.20. L’automa della Fig. 4.3 è transitivo ma non fortemente transitivo. In effetti, se tale automa fosse fortemente transitivo, possiederebbe un insieme indipendente W di tre parole. Esisterebbero allora due parole u, v ∈ W tali che 3u = 1, 3v = 2. Si verifica facilmente che |u|b e |v|b sono dispari e dunque si avrebbe 1u = 1v = 3. Ciò non è possibile poiché gli stati 1u e 1v devono essere distinti. Pertanto, l’automa non può possedere un insieme indipendente e dunque non può essere fortemente transitivo. b -



a - l b - l 2 3 

1l

a

b

 a

Fig. 4.3. Esempio di automa transitivo ma non fortemente transitivo

Nel 2010, Carpi e D’Alessandro hanno dimostrato che ogni automa A ad n stati localmente fortemente transitivo e sincronizzante possiede una parola di reset di lunghezza uguale a k+1 (k − 1)(n + L + 1) − 2k ln + , (4.20) 2

4.16 Automi a due vie. Teorema di Rabin e Shepherdson

167

dove k è il numero cardinale di un insieme indipendente W di A , mentre L ed  denotano rispettivamente la lunghezza massima e la lunghezza minima delle parole di W . Nel caso degli automi 1-cluster sincronizzanti, come conseguenza della (4.20), si dimostra che ogni automa ad n stati siffatto, possiede una parola di reset di lunghezza pari a n 2n2 − 4n + 1 − 2(n − 1) ln . 2 È interessante ricordare che, nel 2011, B. Steinberg ha dimostrato che ogni automa 1-cluster sincronizzante ad n stati, la lunghezza del cui ciclo è un numero primo p con p < n, possiede una parola di reset w tale che |w| ≤ (n − 1)2 . Pertanto la congettura ˇ di Cerný è valida per tale classi di automi.

4.16 Automi a due vie. Teorema di Rabin e Shepherdson Un automa a stati finiti, come si è visto, è un modello di calcolo che permette di descrivere una macchina atta a riconoscere parole su di un dato alfabeto di ingresso. Tale macchina è dotata di due dispositivi: il nastro di ingresso e la testina di lettura. Una notevole generalizzazione del concetto di automa a stati finiti è quello di automa a due vie (o zig-zag). Informalmente un automa a due vie è in grado di muovere la testina di lettura lungo il nastro in entrambe le direzioni: da sinistra verso destra e da destra verso sinistra. In questa sezione, studieremo gli automi a due vie in relazione all’operazione di riconoscimento di parole e proveremo un teorema importante (cf. Teor. 4.11) dimostrato indipendentemente da M. Rabin e J. C. Shepherdson. Diamo ora la definizione di automa a due vie. Definizione 4.7. Un automa a due vie è una quintupla A = (A, S, λ , s0 , S ) dove le componenti A, S, s0 ed S sono definite come in un automa a stati finiti deterministico e completo; λ è invece un’applicazione dall’insieme S × A nell’insieme S × {−1, 0, +1}, detta funzione di transizione. Se una parola w = a1 · · · an viene data in ingresso ad A , allora il comportamento di A è il seguente: sia A nello stato s ∈ S e a = ak , 1 ≤ k ≤ n, il k-esimo simbolo di w letto da A . Se λ (s, a) = (t, σ ), allora A transita dallo stato s allo stato t e: 1) Se σ = +1, muove la testina di lettura nella cella immediatamente a destra di quella correntemente osservata se k < n, altrimenti si ferma, 2) Se σ = −1, muove la testina di lettura nella cella immediatamente a sinistra di quella correntemente osservata se k > 1, altrimenti si ferma, 3) Se σ = 0, la testina di lettura non effettua alcun movimento. Diamo ora l’importante definizione di descrizione istantanea di un automa a 2 vie. Definizione 4.8. Sia A = (A, S, λ , s0 , S ) un automa a due vie. Possiamo supporre, senza ledere la generalità della definizione, che S ∩ A = 0. / Sia ω un simbolo non appartenente a S ∪ A. Una descrizione istantanea di A è una parola dell’insieme A∗ (S ∪ {ω })A∗ .

168

4 Automi finiti

La nozione di descrizione istantanea è di utilità poiché permette di descrivere univocamente la macchina nel generico istante della computazione. Più precisamente la descrizione istantanea a1 a2 · · · ai−1 sai · · · an−1 an rappresenta la situazione in cui il nastro della macchina memorizza la parola a1 a2 · · · an , la macchina si trova nello stato s ∈ S e la testina di lettura si trova posizionata sulla i-esima cella del nastro e legge il simbolo ai . La descrizione istantanea a1 a2 · · · an s rappresenta la situazione in cui la macchina si è arrestata a seguito di un movimento a destra della testina di lettura posizionata sull’ultima cella del nastro. La descrizione istantanea ω a1 a2 · · · an rappresenta la situazione in cui la macchina si è arrestata a seguito di un movimento a sinistra della testina di lettura posizionata sulla prima cella del nastro. La definizione seguente è di utilità nell’analisi del comportamento di un automa a stati finiti a due vie. Definizione 4.9. Sia A = (A, S, λ , s0 , S ) un automa a due vie. Si consideri la relazione binaria  definita sull’insieme A∗ (S ∪ {ω })A∗ come segue: per ogni s, t ∈ S e a1 , . . . , an ∈ A, 1) a1 · · · ai−1 sai · · · an  a1 · · · aitai+1 · · · an se λ (s, ai ) = (t, +1) e 1 ≤ i < n, 2) a1 · · · ai−1 sai · · · an  a1 · · · ai−2tai−1 · · · an se λ (s, ai ) = (t, −1) e i > 1, 3) a1 · · · ai−1 sai · · · an  a1 · · · ai−1tai · · · an se λ (s, ai ) = (t, 0) e i ≥ 1, 4) a1 · · · an−1 san  a1 · · · ant se λ (s, an ) = (t, +1), 5) sa1 · · · an  ω a1 · · · an se λ (s, a1 ) = (t, −1). Le relazioni definite nei punti 1) – 5) si dicono derivazioni immediate. In altre parole, la derivazione 1) (risp. 2)) descrive una transizione in cui la testina di lettura, posizionata sulla i-esima cella del nastro, con i < n (risp. i > 1), effettua uno spostamento sulla cella immediatamente a destra (risp. a sinistra) rispetto a quella correntemente osservata; l’automa transita poi nello stato t. La derivazione 3) descrive una transizione in cui l’automa transita nello stato t e la testina di lettura rimane stazionaria sulla cella correntemente osservata. La derivazione 4) descrive una transizione in cui la testina di lettura, essendo posizionata sulla n-esima cella del nastro, esce dal nastro a destra; l’automa transita poi nello stato t. Infine, la derivazione 5) descrive una transizione in cui la testina di lettura, essendo posizionata sulla prima cella del nastro, esce dal nastro a sinistra. Si osservi che, dalle descrizioni del tipo wt, t ∈ S, e ω w, non è possibile derivare alcuna altra descrizione istantanea. Queste corrispondono alla fermata definitiva della macchina.

4.16 Automi a due vie. Teorema di Rabin e Shepherdson

169

Sia ora ∗ la chiusura riflessiva e transitiva della relazione . Ricordiamo che, date due descrizioni istantanee usv e u tv , con u, u , v, v ∈ A∗ e s,t ∈ S, allora: usv ∗ u tv se usv = u tv oppure esiste una sequenza finita di descrizioni istantanee u0 r0 v0 , u1 r1 v1 , . . . , u r v tali che u0 r0 v0 = usv, u r v = u tv ,  ≥ 1 e: usv = u0 r0 v0  u1 r1 v1  · · ·  u r v = u tv . Il lemma seguente permette di dimostrare le seguenti utili proprietà. Lemma 4.7. Sia A = (A, S, λ , s0 , S ) un automa a due vie. Per ogni w1 , w2 , u ∈ A∗ , con w1 w2 = ε , e s,t ∈ S, si ha: i) Se w1 sw2 ∗ w1 w2t allora w1 sw2 u ∗ w1 w2tu, ii) Se w1 sw2 u ∗ w1 w2 ut allora esiste t ∈ S tale che w1 sw2 ∗ w1 w2t . Dimostrazione. i) La derivazione w1 sw2 ∗ w1 w2t descrive una computazione, a partire dalla descrizione istantanea w1 sw2 , al termine della quale, l’automa, transitando nello stato t, esce dal nastro a destra. Ciò implica che l’automa, a partire dalla descrizione istantanea w1 sw2 u, effettua una computazione durante la quale la testina di lettura si muove sulla sola parte del nastro che memorizza il prefisso w1 w2 di w1 w2 u. Al termine della computazione, l’automa transita nello stato t e la testina di lettura risulta posizionata sulla cella che memorizza il primo carattere del suffisso u di w1 w2 u. ii) Supponiamo che w1 sw2 u ∗ w1 w2 ut. La derivazione descrive una computazione che porta l’automa, a partire dalla descrizione istantanea w1 sw2 u, ad uscire dal nastro a destra nello stato t. Ne segue che l’automa, a partire dalla descrizione istantanea w1 sw2 u, deve poter eseguire una computazione che lo porti ad osservare, in un dato stato t , la prima cella successiva alla parte di nastro che memorizza w1 w2 . Ne segue che w1 sw2 ∗ w1 w2t .   Possiamo ora definire il concetto di parola accettata da un automa a due vie. Definizione 4.10. Sia A = (A, S, λ , s0 , S ) un automa a due vie. Una parola w ∈ A+ si dice accettata da A se esiste una derivazione: s0 w ∗ ws , s ∈ S . La parola vuota è accettata se s0 ∈ S . Il linguaggio delle parole accettate da A è denotato L(A ). In altri termini, una parola non vuota w è accettata da A se le condizioni seguenti sono soddisfatte: all’istante iniziale della computazione, w è memorizzata sul nastro di ingresso e la testina di lettura è posizionata sulla prima cella del nastro; a partire dallo stato s0 , A effettua una computazione al termine della quale la testina di lettura esce dal nastro a destra ed A è in uno stato finale. Esempio 4.21. Sia A = (A, S, λ , s0 , S ) l’automa a due vie dove A = {a, b}, S = {s0 , s1 , s2 , s3 }, S = {s2 } e la funzione di transizione è definita dalla tavola:

170

4 Automi finiti

S s0 s0 s1 s1 s2 s2 s3 s3

A a b a b a b a b

λ (s1 , +1) (s1 , −1) (s2 , +1) (s2 , +1) . (s1 , 0) (s3 , −1) (s2 , +1) (s1 , +1)

Si ha: s0 abba  as1 bba  abs2 ba  as3 bba  abs1 ba  abbs2 a  abbs1 a  abbas2 . In altre parole, a partire dalla descrizione istantanea iniziale s0 abba, A termina la computazione, uscendo dal nastro a destra nello stato finale s2 . Pertanto abba ∈ L(A ). Diremo che una derivazione descrive un ciclo infinito se è della forma: usv = u0 r0 v0  u1 r1 v1  · · ·  u r v = usv, dove  ≥ 1, u, v ∈ A∗ e s ∈ S. La ragione di tale termine è chiara: tale derivazione descrive una sequenza infinita di transizioni, effettuate dall’automa a partire dalla descrizione istantanea usv, che non gli consentono di uscire dal nastro di ingresso né a destra né a sinistra. Nell’Esempio 4.21, considerando la parola aab ∈ A∗ , si ha la derivazione dallo stato iniziale s0 : s0 aab  as1 ab  aas2 b  as3 ab  aas2 b. Poiché la derivazione aas2 b  as3 ab  aas2 b, descrive un ciclo infinito, si ha aab ∈ / L(A ). È interessante osservare che ogni automa a stati finiti deterministico e completo è un caso particolare di un automa a due vie. Infatti, ogni automa deterministico e completo è descritto da un automa a due vie A = (A, S, λ , s0 , S ) la cui funzione di transizione λ è tale che: ∀ s ∈ S, a ∈ A,

λ (s, a) = (t, +1),

ovvero, in ogni transizione di A , la testina di lettura si sposta nella cella immediatamente a destra di quella correntemente osservata. Ne segue che ogni linguaggio riconoscibile di A∗ è accettato da un un automa a due vie. La domanda naturale che ci si pone è allora la seguente: la famiglia dei linguaggi accettati da automi a stati finiti a due vie include propriamente quella dei linguaggi riconoscibili? A questa domanda è stata data risposta negativa. Infatti è stato dimostrato indipendentemente da Rabin e Shepherdson che ogni linguaggio accettato da un automa a due vie è riconoscibile. Nel seguito di questa sezione, riporteremo la dimostrazione

4.16 Automi a due vie. Teorema di Rabin e Shepherdson

171

di questo teorema data da Shepherdson. A tale scopo, introduciamo la definizione seguente. Definizione 4.11. Sia A = (A, S, λ , s0 , S ) un automa a due vie e sia 0 ∈ / S. Per ogni parola w ∈ A+ , definiamo una funzione: fw : S ∪ {0} −→ S ∪ {0} nel modo seguente: i) Se w = w1 x1 , con w1 ∈ A∗ , x1 ∈ A e w1 sx1 ∗ wt, allora fw (s) = t. Altrimenti fw (s) = 0, ii) Se s0 w ∗ ws, s ∈ S, allora fw (0) = s. Altrimenti fw (0) = 0. La Condizione (i) può interpretarsi nel modo seguente: fw (s) = t,t ∈ S, se e solo se a partire dalla descrizione istantanea w1 sx1 , A effettua una computazione al termine della quale la testina di lettura esce dal nastro a destra ed A è nello stato t. La Condizione (ii) può interpretarsi nel modo seguente: fw (0) = s, s ∈ S, se e solo se a partire dalla descrizione istantanea s0 w, A effettua una computazione al termine della quale la testina di lettura esce dal nastro a destra ed A è nello stato s. La seguente proposizione è essenziale per dimostrare il teorema di Rabin e Shepherdson. Proposizione 4.30. Sia A = (A, S, λ , s0 , S ) un automa a due vie e sia NL(A ) l’equivalenza di Nerode del linguaggio L(A ). Se, date due parole w, w ∈ A+ , per ogni s ∈ S ∪ {0}, fw (s) = fw (s), allora

w NL(A ) w .

Dimostrazione. Sia A = (A, S, λ , s0 , S ) un automa a due vie e poniamo L = L(A ). Siano w, w ∈ A+ tali che, per ogni s ∈ S ∪ {0}, fw (s) = fw (s). Occorre dimostrare, che per ogni parola u ∈ A∗ , wu ∈ L se e solo se w u ∈ L. A tale proposito, osserviamo subito che è sufficiente provare: ∀ u ∈ A∗ , wu ∈ L =⇒ w u ∈ L,

(4.21)

poiché l’implicazione inversa della (4.21) è dimostrata in modo simmetrico. Nel caso in cui u = ε , l’asserto è facilmente provato. In effetti, poiché w ∈ L, si ha: s0 w ∗ ws , s ∈ S , e, di conseguenza, fw (0) = s . Poiché, per ipotesi, fw (0) = fw (0) = s , si ha: s0 w ∗ w s , s ∈ S , e, dunque, w ∈ L. Pertanto, d’ora in avanti, supporremo u = ε . Poiché, per ipotesi, wu ∈ L, si ha: s0 wu ∗ wus , s ∈ S . (4.22)

172

4 Automi finiti

Per il Lemma 4.7–(ii), si ha s0 w ∗ ws, ¯ s¯ ∈ S, e pertanto, fw (0) = s. ¯ Poiché, fw (0) = fw (0), ne segue l’esistenza di una derivazione s0 w ∗ w s, ¯ da cui, in base al Lemma 4.7(i), si ottiene: s0 wu ∗ wsu, ¯ (4.23) e

¯ s0 w u ∗ w su.

(4.24)

È utile osservare che dalle Equazioni (4.22) e (4.23), segue che esiste una derivazione: wsu ¯ ∗ wus , s ∈ S , cosicché

(4.25)

s0 wu ∗ wsu ¯ ∗ wus , s ∈ S .

La dimostrazione si divide ora nei seguenti due casi. Caso 1. Supponiamo che la derivazione (4.25) sia della forma: wsu ¯ = wα0t0 x0 β0  wα1t1 x1 β1  · · ·  wαL xL βLtL = wus , s ∈ S ,

(4.26)

dove α0 = ε , t0 = s, ¯ x0 è la prima lettera di u, L ≥ 0 e, per ogni i = 0, . . . , L, si ha: i) αi xi βi = u, αi , βi ∈ A∗ , xi ∈ A, ti ∈ S, ii) λ (ti , xi ) = (ti+1 , σi ), con σi ∈ {−1, 0, +1}. In altre parole, in ogni passo della computazione, la testina di lettura di A risulta posizionata su di una cella della porzione di nastro che memorizza il suffisso u della parola wu. Osserviamo ora che, nelle due descrizioni istantanee wsu ¯ e w su, ¯ lo stato di A ed il carattere letto dalla testina di lettura sono gli stessi. Come conseguenza di questo fatto e della natura delle derivazioni immediate nella (4.26), si ottiene la derivazione: w su ¯ = w α0t0 x0 β0  w α1t1 x1 β1  · · ·  w αL xL βL tL = w us ,

(4.27)

e di conseguenza, per la (4.24), si ha: s0 w u ∗ w su ¯ = w α0t0 x0 β0 ∗ w us , s ∈ S. Da ciò si ha w u ∈ L. La condizione (4.21) è pertanto provata nel Caso 1. Caso 2. Supponiamo ora che la derivazione (4.25) non soddisfi l’ipotesi del Caso 1, cioè la testina di lettura di A può tornare in w. Sia allora  il più piccolo intero non negativo tale che: wsu ¯  wsu ˆ = w1 x1 su ˆ  w1 sx1 u, dove w = w1 x1 , con w1 ∈ A∗ , x1 ∈ A e s, sˆ ∈ S. Pertanto si ha:

λ (s, ˆ u1 ) = (s, −1), dove u1 è il primo carattere della parola u.

4.16 Automi a due vie. Teorema di Rabin e Shepherdson

173

Poiché le derivazioni immediate della derivazione: wsu ¯  wsu, ˆ sono dello stesso tipo di quelle della derivazione (4.26), con un ragionamento analogo a quello svolto nel Caso 1, si ha che: w su ¯  w su. ˆ Inoltre si ha: w

w su ¯  w su ˆ = w 1 y1 su ˆ  w 1 sy1 u,

= w 1 y1 ,

w 1

(4.28)

∈ A∗

dove con e y1 ∈ A. Per l’ipotesi fatta (vedi (4.22) e (4.23)), si ha che: w1 sx1 u ∗ wus . Per il Lemma 4.7(ii) applicato a tale derivazione, si ottiene: w1 sx1 ∗ wr0 , r0 ∈ S, e, dunque, fw (s) = r0 . Poiché, per ipotesi, fw (s) = fw (s) = r0 , si ha: w 1 sy1 ∗ w r0 e, per il Lemma 4.7–(i), w1 sx1 u ∗ w1 x1 r0 u = wr0 u,

w 1 sy1 u ∗ w 1 y1 r0 u = w r0 u.

(4.29)

Sia ora u = u1 · · · un , ui ∈ A. Vogliamo dimostrare che esistono due derivazioni:

e

wr0 u ∗ wu1 r1 u2 · · · un ∗ wu1 u2 r2 u3 · · · un ∗ · · · · · · ∗ wu1 u2 · · · un rn = wus ,

(4.30)

w r0 u ∗ w u1 r1 u2 · · · un ∗ w u1 u2 r2 u3 · · · un ∗ · · · · · · ∗ w u1 u2 · · · un rn = w us ,

(4.31)

dove, per ogni i = 1, . . . , n, ri ∈ S. Da ciò, poiché s ∈ S , seguirà che wu, w u ∈ L e dunque la Condizione (4.21). A tale scopo, è sufficiente provare che: wr0 u1 u2 · · · un ∗ wu1 r1 u2 · · · un ,

w r0 u1 u2 · · · un ∗ w u1 r1 u2 · · · un .

(4.32)

Infatti, applicando lo stesso argomento combinatorio alle descrizioni istantanee successive: wu1 · · · ui ri ui+1 · · · un ,

w u1 · · · ui ri ui+1 · · · un ,

i = 1, . . . , n − 1,

si ottengono le derivazioni (4.30) e (4.31). Osserviamo che, in entrambe le descrizioni istantanee: wr0 u = wr0 u1 u2 · · · un ,

w r0 u = w r0 u1 u2 · · · un ,

(4.33)

lo stato r0 ed il carattere u1 letto dalla testina di lettura di A sono gli stessi. Da ciò

174

4 Automi finiti

segue che la transizione:

λ (r0 , u1 ) = (r1 , σ ),

r1 ∈ S, σ ∈ {−1, 0, +1},

è la stessa a partire da entrambe le descrizioni istantanee. Possiamo inoltre supporre, senza ledere la generalità della dimostrazione, che σ = 0. In effetti, il valore di σ può essere uguale a 0 solo per un numero finito di passi minore di Card(S), altrimenti, se così non fosse, esisterebbe una derivazione wr0 u 

j

wru 

j+k

wru,

dove r ∈ S e 1 ≤ j, j + k ≤ Card(S). Da ciò ne seguirebbe l’esistenza di un ciclo infinito di A a partire dalla descrizione istantanea wru, e questo contraddice l’ipotesi che wu ∈ L. Sia dunque σ ∈ {−1, +1}. L’Equazione (4.32) è banalmente provata se σ = +1. Supponiamo allora che σ = −1. Applicando alle due descrizioni istantanee (4.33) lo stesso argomento combinatorio usato per provare l’Equazione (4.29), si avrà: (1) (1) wr0 u ∗ wr0 u, w r0 u ∗ w r0 u, (4.34) (1)

(1)

con r0 ∈ S. Osserviamo che r0 = r0 . Infatti, se così non fosse, le due derivazioni precedenti descriverebbero cicli infiniti di A a partire dalle descrizioni istantanee wr0 u e w r0 u rispettivamente, e ciò contraddice l’ipotesi che wu ∈ L. È importante ora osservare che, iterando l’argomento combinatorio usato per di(1) (1) mostrare l’Equazione (4.34), a partire dalle due descrizioni istantanee wr0 u e w r0 u rispettivamente, devono aversi due derivazioni: (1)

(i)

wr0 u ∗ wr0 u ∗ · · · ∗ wr0 u  wu1 r1 u2 · · · un , e

(1)

(i)

w r0 u ∗ w r0 u ∗ · · · ∗ w r0 u  w u1 r1 u2 · · · un ,

dove r1 ∈ S e 1 ≤ i ≤ Card(S). In effetti, se così non fosse, poiché il numero degli stati di A è Card(S), dovrebbero evidentemente aversi due derivazioni: ( j)

( j)

wr0 u ∗ wr0 u,

( j)

( j)

w r0 u ∗ w r0 u,

( j)

con r0 , 1 ≤ j ≤ Card(S). Le due derivazioni precedenti descriverebbero cicli infiniti di A , contraddicendo così l’ipotesi che wu ∈ L. Si è dunque provata l’ Equazione (4.32) e, per quanto si è detto prima, la dimostrazione è conclusa.   Siamo ora in grado di dimostrare il teorema di Rabin e Shepherdson. Teorema 4.11 (Rabin, Shepherdson). Il linguaggio accettato da un automa a due vie è riconoscibile. Dimostrazione. Sia A = (A, S, λ , s0 , S ) un automa a due vie e poniamo L = L(A ). In virtù del teorema di Myhill e Nerode, per dimostrare che L ∈ Ric(A∗ ), è sufficiente mostrare che l’indice ind(NL ) dell’equivalenza di Nerode NL è finito. A tale scopo, introduciamo in A∗ la relazione R definita da: per ogni w, w ∈ A∗ : 1) Se w = ε , allora w R w , solo se w = ε ,

4.17 Esercizi

175

2) w, w ∈ A+ , w R w se ∀ s ∈ S ∪ {0}, fw (s) = fw (s). Si verifica facilmente che R è una relazione di equivalenza in A∗ . Osserviamo che, per ogni parola w ∈ A+ , la classe di equivalenza R(w) è univocamente determinata da una sequenza di elementi di S ∪ {0} di lunghezza r + 1, con r = Card(S). Ne segue che l’indice ind(R) della equivalenza R è tale che: ind(R) ≤ 1 + (r + 1)r+1 . D’altra parte, per la Proposizione 4.30, si ha: R ⊆ NL , e, dunque, ind(NL ) ≤ ind(R) ≤ 1 + (r + 1)r+1 . La dimostrazione è pertanto conclusa.

 

4.17 Esercizi 4.1. Per un linguaggio L ⊆ A∗ l’equivalenza principale sinistra ML di L è definita (cf. Cap. 1, Sez. 1.7) come segue: per ogni u, v ∈ A∗ , u ML v se e solo se Lu−1 = Lv−1 . Dimostrare che ind(ML∼ ) = ind(NL ). Utilizzare questo risultato per dimostrare la chiusura di Ric(A∗ ) rispetto all’operazione di rovesciamento. 4.2. Dimostrare che l’automa minimale che riconosce il linguaggio Pre f (L) dei prefissi delle parole di un linguaggio riconoscibile L ha un numero di stati minore o uguale del numero degli stati dell’automa minimale che riconosce L. 4.3. Verificare che un automa che riconosce Pre f (L) può costruirsi da un automa che riconosce L rendendo terminali gli stati disposti su un qualsiasi cammino che va dallo stato iniziale ad uno stato terminale. 4.4. Mostrare che Ric(A∗ ) non è chiusa rispetto all’unione infinita. 4.5. Dimostrare che se L ⊆ {a}∗ allora L∗ ∈ Ric({a}∗ ). 4.6. Siano M1 e M2 due monoidi finiti che riconoscono i linguaggi L1 e L2 . Dimostrare che il prodotto diretto M1 × M2 riconosce sia L1 ∪ L2 che L1 ∩ L2 . 4.7. Siano K e L due linguaggi su A. Dimostrare che se il monoide M riconosce L allora M riconosce Lc , K −1 L e LK −1 . 4.8. Sia L un linguaggio accettato da un automa finito avente n stati. Dimostrare che L è infinito se e solo se L contiene una parola w di lunghezza n ≤ |w| < 2n.

176

4 Automi finiti

4.9. Mostrare che è possibile decidere se il linguaggio accettato da un automa finito è infinito o meno. 4.10. Calcolare il monoide delle transizioni M del semiautoma finito A = (A, S, λ ) dove A = {a, b}, S = {1, 2, 3, 4} e le cui trasformazioni elementari sono date dalla tavola: 1 2 3 4 λa 2 2 4 4 λb 1 3 1 4 4.11. Sia A = (A, S, λ , S0 , S ) l’automa non deterministico, dove A = {a, b}, S = {1, 2, 3, 4}, S0 = {1}, S = {4} e la funzione λ è data dalla tavola seguente: S 1 1

A a b

λ S {2} 2 {3} 2

A a b

λ S {4} 3 0/ 3

A a b

λ {2, 4} {2, 4}

S 4 4

A a b

λ 0/ . 0/

Verificare che l’automa è non ambiguo e riconosce il linguaggio L = {aa, ba, baa, bb, bba}. 4.12. Sia A = (A, S, λ , S0 , S ) l’automa non deterministico dove A = {a, b}, S = {1, 2}, S0 = {1}, S = {2} e la funzione λ è definita come segue:

λ (1, a) = {1, 2}, λ (1, b) = λ (2, a) = {2}, λ (2, b) = 0. / Si calcoli mediante la subset construction l’automa deterministico D(A ) equivalente ad A e il linguaggio accettato da A . 4.13. Una sostituzione σ da A∗ in B∗ è un morfismo σ : A∗ → P(B∗ ) da A∗ nel monoide P(B∗ ) delle parti di B∗ . Il morfismo σ può essere esteso a P(A∗ ) come segue: per X ⊆ A∗  σ (X) = σ (x). x∈X

Una sostituzione si dice razionale se per ogni a ∈ A, σ (a) ∈ Rat(B∗ ). Un morfismo di A∗ in B∗ può essere riguardato come una sostituzione razionale tale che per ogni a ∈ A, Card(σ (a)) = 1. Dimostrare che se L ∈ Rat(A∗ ) allora σ (L) ∈ Rat(B∗ ).

4.18 Note bibliografiche Le origini della teoria degli automi finiti si possono far risalire al lavoro fondamentale del neurofisiologo W. McCulloch e del matematico W. Pitts (McCulloch, Pitts 1943) nel quale veniva fornito un modello matematico del funzionamento di reti di neuroni rappresentando i neuroni mediante elementi a soglia. Il lavoro di McCulloch e Pitts fu ripreso successivamente dal grande logico e matematico S.C. Kleene (Kleene 1956) il quale, sempre nel linguaggio delle reti di elementi a soglia, dimostrò il teorema fondamentale caratterizzante la classe dei linguaggi razionali (o eventi regolari). In

4.18 Note bibliografiche

177

questo articolo Kleene introdusse una prima presentazione della nozione astratta di automa finito svincolata dal linguaggio delle reti neurali. Altri importanti lavori in questa direzione sono quelli di E.F. Moore (Moore 1956) e di M.O. Rabin e D. Scott (Rabin, Scott 1959). In quest’ultimo lavoro viene introdotta la nozione di automa accettore sia deterministico che non deterministico e vengono presentati i teoremi fondamentali di J. Myhill (Myhill 1957) e A. Nerode (Nerode 1958) e le nozioni di automa a due vie e di automa a più nastri. Il Teorema 4.8 è dovuto a Yu.T. Medvedev (Medvedev 1956); l’algoritmo di R. McNaughton e H. Yamada per la costruzione del linguaggio razionale accettato da un dato automa finito è in (McNaughton, Yamada 1960). Il Teorema 4.10 che caratterizza i linguaggi razionali mediante le grammatiche regolari è dovuta a Chomsky (Chomsky 1956, Chomsky, Miller 1958). L’utilizzazione nella teoria dei codici delle tecniche algebriche basate sulla struttura dell’ideale minimale dei monoidi è dovuta a Schützenberger (Schützenberger 1965, 1979). ˇ ˇ La congettura di Cerný sugli automi sincronizzanti è stata formulata in (Cerný 1964). Il limite superiore di J.-E. Pin per la minima lunghezza della parola di reset è ˇ in (Pin 1983) (vedi anche (Pin 1978)). La validità della congettura di Cerný per gli automi circolari sincronizzanti è stata dimostrata in (Dubuc 1998). Recenti risultati ˇ sugli automi sincronizzanti in relazione alla congettura di Cerný sono in (Kari 2003), (Volkov 2008), (Carpi, D’Alessandro 2009, 2010), (Béal, Perrin 2009) e (Steinberg 2011). Il problema della sincronizzazione può essere considerato nella classe più generale degli automi non deterministici. Risultati significativi sono stati ottenuti per la classe degli automi non deterministici non ambigui da A. Carpi in (Carpi 1988) (vedi anche Berstel, Perrin, Reutenauer 2010). La razionalità dei linguaggi accettati dagli automi finiti a due vie è stata dimostrata indipendentemente da Rabin (Rabin 1957) (vedi anche Rabin, Scott 1959) e Shepherdson (Shepherdson 1959). Esiste una vasta letteratura sulla teoria degli automi finiti. Tra i libri di testo segnaliamo i classici volumi (Minsky 1967), (Salomaa 1969), (Conway 1971), (Harrison 1978), (Hopcroft, Ullman 1979), (Eilenberg vol. A 1974, vol. B 1976). Due volumi più recenti sono (Khoussainov, Nerode 2001) e (Sakarovitch 2009). Nei volumi di Eilenberg la teoria degli automi è presentata ad un livello molto astratto e generale nell’ambito algebrico della teoria dei monoidi. Un’estensione della teoria degli automi nel contesto delle algebre universali è in (Eilenberg, Wright 1967). Raccolte di importanti articoli sugli automi finiti di grande interesse anche sul piano storico sono i volumi Automata Studies (Shannon and McCarthy eds. 1956) e Sequential machines (Moore ed. 1964). Il volume Automata Theory (Caianiello ed. 1966) contiene gli Atti del primo Convegno sulla teoria degli automi tenutosi a Ravello nel 1964. Un ottimo lavoro di rassegna, anche se non recente, sulla teoria degli automi finiti è in (Perrin 1990). Si segnala infine l’Handbook of Formal Languages (Rozenberg, Salomaa (ed.s) 1997), importante referenza per gli specialisti di teoria dei linguaggi formali, dove sono trattate varie problematiche classiche ed avanzate della teoria con particolare riferimento agli automi ed ai codici.

178

4 Automi finiti

Segnaliamo infine che una notevole generalizzazione della teoria dei linguaggi riconoscibili e razionali si ha nell’ambito della teoria delle serie formali in variabili non commutative (vedi Cap.1, Sez. 1.9). In questa teoria è possibile introdurre le nozioni di serie razionale e di serie riconoscibile e dimostrare per le serie un teorema analogo al teorema di Kleene (detto teorema di Kleene-Schützenberger). Il Lettore interessato può consultare su tale argomento i volumi (Salomaa, Soittola 1978) e (Berstel, Reutenauer 2011).

5 Equivalenza di automi

In questo capitolo studieremo il problema dell’equivalenza di automi, cioè se due automi riconoscono lo stesso linguaggio. Come si è visto nel Capitolo 4, nella classe di tutti gli automi equivalenti per un dato linguaggio, vi è un automa che ha il minimo numero di stati dato dall’indice dell’equivalenza di Nerode del linguaggio. Un problema naturale che ci si pone in questo contesto è di fornire un algoritmo per calcolare l’automa minimale per un linguaggio riconoscibile da parte di un dato automa. Vedremo che ciò è sempre possibile e consentirà di calcolare il monoide sintattico del linguaggio. Le tecniche matematiche che adopereremo per lo studio del problema dell’equivalenza di automi sono dello stesso tipo di quelle utilizzate per il problema del riconoscimento dei linguaggi, cioè tecniche algebriche basate essenzialmente sui morfismi e sulle congruenze di un’algebra definita in modo opportuno a partire dall’automa che riconosce il linguaggio. Ciò che varia è l’algebra che si considera. Più precisamente, le congruenze ed i morfismi saranno definiti sull’algebra che ha come supporto l’insieme degli stati dell’automa e come operazioni le trasformazioni elementari definite sull’insieme dei suoi stati. Tra le congruenze di un automa ne esiste una massima, rispetto all’inclusione, detta relazione di equivalenza di stati. Mediante questa relazione si potrà introdurre la importante nozione di automa ridotto che coincide con l’automa minimale se l’automa di partenza è connesso. Un importante teorema dovuto a Moore fornisce un algoritmo di costruzione dell’automa ridotto. Questo risultato si inquadra in un approccio alla teoria degli automi, introdotto da Moore, di tipo “sperimentale”. Non si tratta di esperimenti sui modelli fisici delle macchine ma di esperimenti aventi un carattere concettuale. Per sottolineare questo aspetto l’autore utilizza il termine, derivato dalla Fisica relativistica, di “Gedanken-experiments”, o esperimenti pensati. In altre parole, considerando un automa quale una scatola nera (“black box”) si tratta, come affermato dall’autore, di comprendere quali informazioni circa le condizioni interne di una macchina possano dedursi sulla base di esperimenti esterni. Il tipo di esperimento considerato consiste nell’applicare a due stati dell’automa sequenze input e considerare l’uscita corrispondente che può essere 1 oppure 0 a seconda che l’automa vada in uno stato terminale A. de Luca, F. D’Alessandro: Teoria degli Automi Finiti, UNITEXT – La Matematica per il 3+2 68, DOI 10.1007/978-88-470-5474-5_5, © Springer-Verlag Italia 2013

180

5 Equivalenza di automi

o non terminale. Due stati sono distinguibili se esiste una sequenza input che applicata ai due stati fornisce uscite diverse. Il risultato di Moore è che la distinguibilità di due stati può essere decisa applicando ad essi sequenze input di lunghezza minore o uguale a q − 2 dove q è il numero degli stati dell’automa. Una notevole conseguenza è il seguente teorema noto quale teorema di equivalenza di Moore: due automi A e B sono equivalenti se e solo se accettano le stesse parole di lunghezza minore o uguale a p + q − 2 dove p e q denotano il numero degli stati di A e di B rispettivamente. Si riprenderà, infine, il problema della costruzione degli automi minimali presentando un’altra procedura di costruzione basata sulla nozione di automa dei resti di un linguaggio riconoscibile. Tale automa è isomorfo all’automa di Nerode del linguaggio ed è, dunque, minimale. Presenteremo poi una procedura che, in linea di principio, ne permette la costruzione a partire da una espressione razionale che descrive il linguaggio. L’interesse di tale procedura è legato al fatto che, in taluni casi, essa fornisce un algoritmo particolarmente efficiente per il calcolo dell’automa minimale.

5.1 Congruenze di semiautomi ed automi Siano (A, S, λ ) un semiautoma e Λ = {λa ∈ F(S) | a ∈ A} l’insieme delle sue trasformazioni elementari. Per ogni a ∈ A, λa è un’applicazione di S in S che può riguardarsi come un’operazione unaria definita in S. Al semiautoma precedente può dunque associarsi un’algebra [S, Λ ] dove S (insieme degli stati) è il supporto e Λ è un insieme di operazioni unarie in S di cardinalità uguale a Card(A). Si definisce per relazione di congruenza del semiautoma (A, S, λ ) una relazione di congruenza nell’algebra [S, Λ ], cioè una equivalenza ϑ in S che gode della proprietà di sostituzione. Questa si esprime al seguente modo: per ogni s, t ∈ S s ϑ t =⇒ ∀ a ∈ A, sλa ϑ t λa . Poiché per ogni s ∈ S e a ∈ A, sλa = sa si può anche scrivere: s ϑ t =⇒ ∀ a ∈ A, sa ϑ ta. Di qui segue anche che s ϑ t ⇐⇒ ∀ u ∈ A∗ , su ϑ tu. Se A = (A, S, λ ) è un semiautoma e ϑ è una congruenza di A potremo considerare il semiautoma A /ϑ , detto quoziente di A su ϑ , definito come

λ) A /ϑ = (A, S/ϑ ,  dove per ogni s ∈ S e a ∈ A,  λ (ϑ (s), a) = ϑ (s)a = ϑ (sa). Si noti che la definizione è non ambigua: infatti poiché ϑ è una congruenza del se-

5.1 Congruenze di semiautomi ed automi

181

miautoma, per ogni s, t ∈ S, s ϑ t implica che per ogni a ∈ A, sa ϑ ta cosicché

ϑ (s)a = ϑ (sa) = ϑ (ta) = ϑ (t)a. Dalla definizione segue che, per ogni s ∈ S e w ∈ A∗ , ϑ (s)w = ϑ (sw). Sia A = (A, S, λ , s0 , S ) un automa. Si dice che ϑ è una congruenza dell’automa A se 1) ϑ è una congruenza del semiautoma (A, S, λ ), 2) S satura l’equivalenza ϑ cioè per ogni s,t ∈ S, s ϑ t e s ∈ S =⇒ t ∈ S . Se ϑ è una congruenza dell’automa A possiamo considerare l’automa A /ϑ , detto automa quoziente di A su ϑ , definito come

λ , ϑ (s0 ), S /ϑ ) A /ϑ = (A, S/ϑ ,  λ ) è il quoziente del semiautoma (A, S, λ ) su ϑ e dove (A, S/ϑ ,  S /ϑ = {ϑ (s) | s ∈ S }. Si noti che S /ϑ è un sottoinsieme di S/ϑ poiché S è unione di classi di equivalenza di ϑ . L’automa A /ϑ è equivalente ad A cioè L(A /ϑ ) = L(A ); infatti, per ogni w ∈ A∗ si ha:

ϑ (s0 )w ∈ S /ϑ ⇐⇒ ϑ (s0 w) ∈ S /ϑ ⇐⇒ s0 w ∈ S , cosicché w ∈ L(A /ϑ ) se e solo se w ∈ L(A ), ovvero L(A /ϑ ) = L(A ). Dato l’automa A = (A, S, λ , s0 , S ) possiamo considerare la relazione di equivalenza ∼ in S, detta relazione di equivalenza di stati, definita come segue: per s,t ∈ S, s ∼ t se e solo se ∀ w ∈ A∗ (sw ∈ S ⇐⇒ tw ∈ S ). (5.1) Facendo ricorso alle funzioni di uscita di un automa (cf. Cap. 4, Sez. 4.2), la relazione di equivalenza di stati può anche definirsi come segue: per s,t ∈ S s ∼ t se e solo se χs = χt . Infatti, per ogni s ∈ S e w ∈ A∗ , se sw ∈ S allora χs (w) = 1 e se sw ∈ / S allora χs (w) = 0 cosicché s ∼ t ⇐⇒ ∀ w ∈ A∗ (χs (w) = χt (w)) ⇐⇒ χs = χt . Proposizione 5.1. Sia A = (A, S, λ , s0 , S ) un automa. La relazione di equivalenza di stati ∼ è una relazione di congruenza di A . Inoltre, se ϑ è una qualsiasi congruenza di A si ha che ϑ ⊆ ∼. Dimostrazione. Dimostriamo anzitutto che ∼ è una congruenza del semiautoma (A, S, λ ). Infatti, siano s,t ∈ S tali che s ∼ t. Per ogni a ∈ A e w ∈ A∗ si ha (sa)w = s(aw) ∈ S ⇐⇒ t(aw) = (ta)w ∈ S .

182

5 Equivalenza di automi

Pertanto se s ∼ t allora per ogni a ∈ A si ha sa ∼ ta. Mostriamo ora che S satura ∼. Infatti dalla definizione di ∼ si ha che, per s, t ∈ S, s ∼ t =⇒ (s ∈ S ⇐⇒ t ∈ S ) cosicché se s ∈ S e s ∼ t allora t ∈ S . Di conseguenza S satura ∼. Si ha dunque che ∼ è una congruenza dell’automa A . Sia ora ϑ una qualsiasi congruenza dell’automa A . Poiché ϑ è una congruenza del semiautoma, per s, t ∈ S, si ha s ϑ t =⇒ ∀ w ∈ A∗ , sw ϑ tw. Inoltre, poiché ϑ satura S , si ha ∀ w ∈ A∗ , sw ϑ tw =⇒ ∀ w ∈ A∗ (sw ∈ S ⇐⇒ tw ∈ S ). Pertanto, per s, t ∈ S, s ϑ t =⇒ s ∼ t, cioè ϑ ⊆ ∼ .

 

Dalla proposizione precedente segue che ad ogni automa A = (A, S, λ , s0 , S ) si può sempre associare l’automa A /∼ = (A, S/∼,  λ , ∼(s0 ), S /∼) che accetta lo stesso linguaggio, cioè L(A ) = L(A /∼). Un automa si dice ridotto se la relazione di equivalenza di stati ∼ è banale cioè se e solo se per ogni s,t ∈ S s ∼ t =⇒ s = t. Equivalentemente, un automa A è ridotto se e solo se per s,t ∈ S

χs = χt ⇐⇒ s = t. Si verifica facilmente (vedi Eser. 5.1) che l’automa A /∼ è ridotto.

5.2 Automa connesso e minimale Sia A = (A, S, λ , s0 , S ) un automa finito. Denotiamo con rA la funzione rA : S → P(S) definita come segue: per ogni s ∈ S, rA (s) è uguale all’insieme degli stati di A che possono essere raggiunti a partire da s applicando ad s una opportuna sequenza di ingresso, cioè rA (s) = {t ∈ S | ∃ u ∈ A∗ | su = t}. Le nozioni di automa connesso, coaccessibile e fortemente connesso introdotte nel Capitolo 4 (vedi Sez. 4.2) possono esprimersi mediante la funzione rA al seguente modo. L’automa A è connesso (o accessibile) se rA (s0 ) = S e fortemente connesso (o transitivo) se, per ogni s ∈ S, rA (s) = S. L’automa è coaccessibile se per ogni s ∈ S, rA (s) ∩ S = 0. / Se A è un automa non connesso esiste sempre un automa connesso Ac ad esso equivalente che può definirsi come segue: Ac = (A, rA (s0 ), λ , s0 , rA (s0 ) ∩ S )

5.2 Automa connesso e minimale

183

dove λ : rA (s0 ) × A → rA (s0 ) è la restrizione di λ da S × A a rA (s0 ) × A ridotta a rA (s0 ). Si noti che se s ∈ rA (s0 ) allora per ogni a ∈ A, λ (s, a) ∈ rA (s0 ). L’automa Ac è equivalente ad A poiché un cammino ha successo nel grafo dell’automa Ac se e solo se è un cammino che ha successo nel grafo dell’automa A . Nel seguito si denoterà con |A | la cardinalità dell’insieme degli stati dell’automa A . Lemma 5.1. Sia A un automa. Ogni stato accessibile di A può essere raggiunto, a partire dal suo stato iniziale s0 , applicando ad s0 una sequenza di ingresso di lunghezza < |A |. Dimostrazione. Sia A = (A, S, λ , s0 , S ) un automa e poniamo |A | = N. Siano s ∈ S uno stato accessibile e w una parola di lunghezza minima tale che s0 w = s. Vogliamo mostrare che |w| < N. Per assurdo supponiamo che w = a1 a2 · · · ak , ai ∈ A, i = 1, . . . , k, e k ≥ N. Poiché si ha s0 a1 = s1 , s1 a2 = s2 , . . . , sk−1 ak = sk = s, essendo k ≥ N, devono esistere i, j con 1 ≤ i < j ≤ k tali che si = s j . La parola w può essere allora fattorizzata come w = uvr con u, v, r ∈ A∗ e v = ε tali che s0 u = si , si v = s j , s j r = s. Da ciò segue: s0 w = s0 uvr = si vr = s j r = s = si r = s0 ur. Poiché s0 ur = s e la lunghezza di ur è minore di k, si contraddice la minimalità di k e ciò dimostra l’asserto.   Ricordiamo che un automa A si dice minimale per il linguaggio L = L(A ) se non esiste un automa A ad esso equivalente tale che |A | < |A |. Abbiamo già visto nel Capitolo 4 che l’automa di Nerode relativo ad un dato linguaggio riconoscibile L è un automa minimale per L. Proposizione 5.2. Un automa A tale che L(A ) = L è minimale per L se e solo se esso è ridotto e connesso. Dimostrazione. (⇒) Se A è minimale, A deve essere connesso: infatti altrimenti si potrebbe costruire, come si è visto, l’automa connesso Ac ad esso equivalente e tale che |Ac | < |A |. L’automa A deve essere ridotto: infatti, altrimenti, l’automa A /∼ che è equivalente all’automa A avrebbe un numero di stati inferiore al numero degli stati di A . (⇐) Sia A = (A, S, λ1 , s0 , S ) un automa ridotto e connesso che riconosce il linguaggio L = L(A ). Dimostriamo che A è minimale. Supponiamo, per assurdo, che esista un automa B = (A, T, λ2 ,t0 , T ) tale che L(B) = L e |B| < |A |. Sia S = {s0 , s1 , . . . , sk }. Poiché S è connesso esistono parole u0 , u1 , . . . , uk ∈ A∗ tali che s0 u0 = s0 , s0 u1 = s1 , . . . , s0 uk = sk .

184

5 Equivalenza di automi

Siano χsA , s ∈ S e χtB , t ∈ T , le funzioni di uscita dei due automi A e B. Poiché A è equivalente a B si ha che χsA0 = χtB . Ciò comporta che, per ogni 1 ≤ i ≤ k e v ∈ A∗ 0

χsAi (v) = χsA0 (ui v) = χtB (ui v) = χtB (v), 0 0 ui cioè

χsAi = χtB , i = 0, . . . , k. 0 ui Poiché Card(T ) < Card(S) devono esistere i, j con i < j tali che t0 ui = t0 u j . Ciò comporta χsAi = χtB = χtB = χsAj . 0 ui 0u j Essendo l’automa A ridotto segue che si = s j il che è assurdo.

 

Dalla precedente proposizione si ricava la seguente proposizione di interesse per gli automi sincronizzanti (cf. Cap. 4, Sez. 4.15): Proposizione 5.3. Sia A = (A, S, λ , s0 , S ) un automa minimale e coaccessibile per il linguaggio L. Se c è una costante per L allora A è sincronizzante e c è una parola di reset per A . Dimostrazione. Supponiamo che Card(Sc) > 1 e siano p, p ∈ Sc. Potremo scrivere p = s1 c, p = s2 c con s1 , s2 ∈ S. Essendo A connesso esistono parole u, u ∈ A∗ tali che s1 = s0 u e s2 = s0 u . Si ha allora p = s0 uc e p = s0 u c. Mostriamo che p ∼ p dove ∼ è la relazione di equivalenza di stati di A . Supponiamo che p ∼ p . Esiste allora v ∈ A∗ tale che pv ∈ S e p v ∈ S oppure pv ∈ S e p v ∈ S . Senza ledere la generalità possiamo supporre che pv ∈ S e p v ∈ S . L’altro caso si tratta in modo del tutto simile. Si ha allora s0 ucv ∈ S e s0 u cv ∈ S . Essendo A coaccessibile, esiste sempre v ∈ A∗ tale che p v = s0 u cv ∈ S . Dalle due eguaglianze s0 ucv ∈ S e s0 u cv ∈ S si deriva ucv, u cv ∈ L. Poiché c è una costante per L ne segue u cv ∈ L e quindi s0 u cv ∈ S , una contraddizione. Pertanto si ha p ∼ p . Essendo A ridotto ne segue p = p . Ciò prova che Card(Sc) = 1 cosicché l’automa A è sincronizzante e c è una parola di reset per A .  

5.3 Morfismi di semiautomi ed automi Introdurremo in questa sezione le nozioni di morfismo di semiautomi e di automi, che sono di grande importanza nello studio delle equivalenze degli automi.

5.3.1 Morfismi di semiautomi Siano A = (A, S, λ A ) e B = (A, T, λ B ) due semiautomi sullo stesso alfabeto A e [S, Λ A ] e [T, Λ B ] le algebre simili ad essi associate che denoteremo rispettivamente ancora con A e B.

5.3 Morfismi di semiautomi ed automi

185

Si definisce per morfismo dei due semiautomi un morfismo delle due algebre simili A e B, cioè una qualsiasi applicazione di S in T che preserva le operazioni. Più precisamente un morfismo ϕ : A → B è un’applicazione ϕ : S → T tale che, per ogni a ∈ A e s ∈ S, (sλaA )ϕ = (sϕ )λaB , ovvero, denotando per semplicità, le trasformazioni elementari come prodotti esterni, (sa)ϕ = (sϕ )a. Dalla definizione precedente si ha che, per ogni s ∈ S e w ∈ A∗ risulta (sw)ϕ = (sϕ )w. Da queste relazioni segue immediatamente che l’equivalenza ϕϕ −1 associata al morfismo ϕ : A → B è una relazione di congruenza del semiautoma A . Viceversa, se ϑ è una congruenza del semiautoma A =(A, S, λ ) si può considerare l’applicazione

ϕ : S → S/ϑ definita per ogni s ∈ S da

ϕ (s) = ϑ (s).

Questa induce un epimorfismo

ϕ : A → A /ϑ . Infatti per ogni s ∈ S e a ∈ A si ha: (sa)ϕ = ϑ (sa) = ϑ (s)a = (sϕ )a. Se ϕ : A → B è un epimorfismo si ha il diagramma: ϕ

A





 

-B 1   

 ? A /ϕϕ −1

e quindi un isomorfismo tra i semiautomi B e A /ϕϕ −1 . Proposizione 5.4. Un epimorfismo ϕ : A → B del semiautoma A nel semiautoma B induce un epimorfismo ψ : MA → MB del monoide delle transizioni di A nel monoide delle transizioni di B. Dimostrazione. Mostriamo anzitutto che è possibile definire un’applicazione ψ : MA → MB ponendo, per ogni u ∈ A∗

λuA ψ = λuB . La definizione di ψ quale funzione da MA in MB è non ambigua: infatti se per u, v ∈ A∗ , λuA = λvA ciò comporta che per ogni s ∈ S, su = sv, cosicché (su)ϕ = (sv)ϕ .

186

5 Equivalenza di automi

Essendo ϕ un morfismo, si ha (sϕ )u = (sϕ )v. Poiché ϕ è suriettiva, cioè ϕ (S) = T , ne segue λuB = λvB . È chiaro che ψ è un morfismo: infatti A B )ψ = (λuv ) = λuB λvB = (λuA ψ )(λvA ψ ). (λuA λvA )ψ = (λuv

Infine poiché ψ è suriettiva, ne segue che ψ è un epimorfismo.

 

5.3.2 Morfismi di automi Siano A = (A, S, λ A , s0 , S ) e B = (A, T, λ B ,t0 , T ) due automi. Un morfismo ϕ di A in B è un’applicazione di S in T che soddisfa le seguenti condizioni: 1) ϕ è un morfismo del semiautoma A = (A, S, λ A ) nel semiautoma B = (A, T, λ B ), 2) s0 ϕ = t0 , 3) S ϕ ⊆ T , T ϕ −1 ⊆ S . Proposizione 5.5. Sia ϕ un morfismo dell’automa A = (A, S, λ A , s0 , S ) nell’automa B = (A, T, λ B ,t0 , T ). Si ha: i) ϕϕ −1 è una congruenza dell’automa A , ii) L(A ) = L(B), iii) Se ϕ è un epimorfismo allora l’automa quoziente A /ϕϕ −1 è isomorfo a B. Dimostrazione. Dalla Condizione 3) soddisfatta dal morfismo ϕ si ha: S ⊆ S ϕϕ −1 ⊆ T ϕ −1 ⊆ S , cosicché S = S ϕϕ −1 , cioè S satura la congruenza ϕϕ −1 . Pertanto ϕϕ −1 è una congruenza dell’automa A . Mostriamo che L(A )=L(B). A tal fine è sufficiente mostrare che, per ogni w ∈ A∗, s0 w ∈ S ⇐⇒ t0 w ∈ T . Infatti, Viceversa

s0 w ∈ S =⇒ (s0 w)ϕ = t0 w ∈ S ϕ ⊆ T . t0 w = (s0 ϕ )w = (s0 w)ϕ ∈ T =⇒ s0 w ∈ T ϕ −1 ⊆ S .

Dimostriamo ora il punto iii). Sia ϕ un epimorfismo e poniamo ϑ = ϕϕ −1 . Mostriamo che l’automa quoziente A /ϑ = (A, S/ϑ , λˆ , ϑ (s0 ), S /ϑ ) è isomorfo all’automa B = (A, T, λ B ,t0 , T ). Come si è visto esiste un isomorfismo ζ tra il semiautoma (A, S/ϑ , λˆ ) e il semiautoma (A, T, λ B ). Dal teorema generale di isomorfismo per ogni s ∈ S, ζ (ϑ (s)) = ϕ (s). Mostriamo che ζ è un isomorfismo di A /ϑ e B. Infatti, dalla Condizione 2), ζ (ϑ (s0 )) = ϕ (s0 ) = t0 . Inoltre dalla Condizione 3), se s ∈ S allora ζ (ϑ (s )) = ϕ (s ) ∈ T cosicché ζ (S /ϑ ) ⊆ T . Infine, se t ∈ T e s ∈ ϕ −1 (t ) sempre dalla Condizione 3), si ha che s ∈ S e quindi ϑ (s ) ∈ S /ϑ . Pertanto ζ −1 (T ) ⊆ S /ϑ .  

5.4 Equivalenza di automi

187

5.4 Equivalenza di automi Ricordiamo (cf. Cap. 4, Sez. 4.3) che due automi A = (A, S, λ A , s0 , S ) e B = (A, T, λ B ,t0 , T ) sono equivalenti, e si scrive A ∼ B, se L(A ) = L(B). Ciò comporta che ∀u ∈ A∗ (s0 u ∈ S ⇐⇒ t0 u ∈ T ). Utilizzando la funzione di uscita dei due automi, potremo scrivere A ∼ B se e solo se χsA0 = χtB . 0 Abbiamo visto nella sezione precedente che se ϕ : A → B è un morfismo di A in B, allora A e B sono equivalenti. Una relazione più forte della equivalenza di automi si ottiene introducendo un ordinamento di automi aventi lo stesso alfabeto di ingresso, al seguente modo: diremo che A è ricoperto da B, e scriveremo A ≤ B se A ∼ B ed, inoltre, ∀s ∈ S ∃ t ∈ T tale che χsA = χtB . La relazione ≤ è riflessiva e transitiva e quindi è un quasi-ordine. Tuttavia essa non è in generale né simmetrica né antisimmetrica (vedi Eser. 5.2). Se A ≤ B e B ≤ A diremo che A e B sono fortemente equivalenti, e scriveremo A ≡ B. Proposizione 5.6. Siano A e B due automi equivalenti e supponiamo che A sia connesso. Si ha allora A ≤ B. Se B è ridotto, esiste un morfismo ϕ dell’automa A nell’automa B. Se B è minimale allora ϕ è un epimorfismo e A ≡ B. Dimostrazione. Siano A = (A, S, λ A , s0 , S ) e B = (A, T, λ B ,t0 , T ). Per ipotesi χsA0 = χtB . Supponiamo che A sia connesso cosicché, per ogni s ∈ S, esiste v ∈ A∗ 0 tale che s0 v = s. Pertanto, per ogni u ∈ A∗ si ha: su = s0 (vu) ∈ S ⇐⇒ t0 (vu) = (t0 v)u ∈ T , cioè

χsA = χtB , 0v

il che comporta A ≤ B. Supponiamo ora che B sia ridotto. Si può definire un’applicazione ϕ : S → T al seguente modo: per ogni s ∈ S, se s0 v = s si pone: sϕ = (s0 v)ϕ = t0 v. Si tratta di mostrare che la definizione precedente è ben posta. Infatti, se s0 v = s si ha:

χsA = χtB = χtB . 0v 0v Essendo B ridotto la precedente eguaglianza comporta t0 v = t0 v , cosicché, per ogni s ∈ S, sϕ ∈ T è univocamente determinato.

188

5 Equivalenza di automi

Mostriamo ora che ϕ è un morfismo dell’automa A nell’automa B. Infatti si ha: 1) ϕ è un morfismo dei semiautomi A e B. Infatti, per ogni s = s0 v ∈ S e a ∈ A, si ha: (sa)ϕ = (s0 va)ϕ = (s0 (va))ϕ = t0 (va) = (t0 v)a = (s0 v)ϕ a = (sϕ )a. 2) Dalla definizione di ϕ , s0 ϕ = t0 . 3) Mostriamo che S ϕ ⊆ T . Sia s ∈ S e s = s0 v. Si ha sϕ = (s0 v)ϕ = t0 v. Poiché χsA0 = χtB , ciò comporta s0 v ∈ S se e solo se t0 v ∈ T e quindi t0 v = sϕ ∈ T . 0 4) Mostriamo che T ϕ −1 ⊆ S . Sia s ∈ T ϕ −1 . Poiché s = s0 v si ha sϕ = (s0 v)ϕ = t0 v ∈ T ; da ciò segue, poiché i due automi sono equivalenti, che s ∈ S . Supponiamo ora che B è minimale. Per la Proposizione 5.2, B è ridotto e connesso; dal fatto che B è ridotto esiste un morfismo ϕ : A → B. Mostriamo che ϕ è suriettivo. Infatti poiché B è connesso, se t ∈ T esiste v ∈ A∗ tale che t = t0 v. Ora t = t0 v = (s0 v)ϕ = sϕ e quindi Sϕ = T . Infine poiché B è connesso si ha che B ≤ A e quindi A ≡ B.

 

Dalla proposizione precedente, si ha il corollario seguente: Corollario 5.1. Un automa minimale per un linguaggio riconoscibile L è immagine omomorfa di un qualsiasi automa connesso ad esso equivalente. Due automi minimali per L sono isomorfi. Dimostrazione. La prima affermazione è una conseguenza immediata della proposizione precedente. La seconda deriva dal fatto che, dalla precedente proposizione, se A e B sono due automi minimali per L esiste un epimorfismo ϕ1 : A → B e un epimorfismo ϕ2 : B → A . Ciò comporta che |A | ≥ |B| ≥ |A | e dunque |A | = |B|. Pertanto ϕ1 e ϕ2 sono iniettivi e quindi isomorfismi.   Corollario 5.2. Il monoide delle transizioni di un automa minimale è immagine omomorfa del monoide delle transizioni di un qualsiasi automa connesso ad esso equivalente. I monoidi delle transizioni di automi minimali equivalenti sono isomorfi. Dimostrazione. Siano A e B due automi equivalenti, con A connesso, B minimale e siano inoltre MA e MB i rispettivi monoidi delle transizioni. Dal corollario precedente B è immagine omomorfa di A , cosicché dalla Proposizione 5.4, esiste un epimorfismo ψ1 di MA in MB . Se anche A è minimale, segue che esiste un epimorfismo ψ2 di MB in MA . Ciò comporta che ψ1 e ψ2 sono entrambi iniettivi e quindi isomorfismi.   Proposizione 5.7. Il monoide sintattico di un linguaggio riconoscibile è isomorfo al monoide delle transizioni di un automa minimale per il linguaggio.

5.5 Automa minimale e teorema di equivalenza

189

Dimostrazione. Ricordiamo che l’automa di Nerode associato ad un linguaggio riconoscibile L è un automa minimale per L, cosicché dal Corollario 5.2, se A è un automa minimale per L, si ha che MA ∼ = M dove M è il monoide delle transizioni dell’automa di Nerode di L. Il risultato segue dalla Proposizione 4.8 del Capitolo 4, che mostra che M è isomorfo al monoide sintattico M(L) di L.  

5.5 Automa minimale e teorema di equivalenza Sia L un linguaggio riconoscibile dato mediante un automa A tale che L = L(A ). Ci si pone il problema di costruire un automa minimale per L. Una volta effettuata tale costruzione, il calcolo del monoide delle transizioni di tale automa permetterà, in base alla Proposizione 5.7, di ottenere, a meno di isomorfismi, il monoide sintattico M(L) di L. Noi supporremo che l’automa A sia connesso. Tale ipotesi non lede la generalità della costruzione in quanto se A non fosse connesso, potremmo costruire l’automa Ac connesso ad esso equivalente eliminando da A gli stati non raggiungibili a partire dal suo stato iniziale. Ciò potrà sempre effettuarsi, in base al Lemma 5.1, in un numero finito di passi. Per ottenere un automa minimale per L, basterà calcolare l’automa A /∼ dove ∼ è la relazione di equivalenza di stati definita dalla (5.1). Infatti l’automa A /∼ è ridotto ed inoltre, se A è connesso anche A /∼ è connesso, come si verifica facilmente, cosicché dalla Proposizione 5.2, A /∼ è minimale per L. Per stabilire se due stati distinti, s,t ∈ S sono equivalenti modulo ∼, bisogna verificare che per ogni u ∈ A∗ : su ∈ S se e solo se tu ∈ S . Mostreremo nel seguito che, a tale scopo, è sufficiente mostrare che la relazione precedente sia verificata per tutte le parole u ∈ A∗ con |u| < |A | − 1. Ciò costituirà il passo cruciale per la costruzione dell’automa minimale. Premettiamo alla dimostrazione il seguente lemma, detto delle partizioni successive. Lemma 5.2. Sia Q un insieme finito e (γh )h≥0 una successione di relazioni di equivalenza in Q tali che, per ogni h ≥ 0,

γh+1 ⊆ γh , cioè ogni equivalenza è un raffinamento della precedente.  Poniamo γ = h≥0 γh . Esiste allora un intero n ≥ 0 tale che, per tutti gli interi m ≥ n, γn = γm = γ . Se per ogni h ≥ 0

γh = γh+1 =⇒ γh+1 = γh+2 ,

190

5 Equivalenza di automi

allora γ = γk , dove k = min{h ≥ 0 | γh = γh+1 } ≤ Card(Q) − p, con p = Card(Q/γ0 ). Dimostrazione. Per ogni h ≥ 0, l’equivalenza γh genera una partizione di Q rappresentata dall’insieme quoziente Q/γh . Poiché, per ogni h ≥ 0, γh+1 ⊆ γh , si ha, per ogni h ≥ 0: 1 ≤ Card(Q/γh ) ≤ Card(Q/γh+1 ) ≤ Card(Q/γ ) ≤ Card(Q). (5.2) Poiché Card(Q/γh ) è una successione infinita di interi tutti compresi tra 1 e Card(Q), per il principio della piccionaia, esiste n tale che Card(Q/γn ) = Card(Q/γs ), per infiniti interi s ≥ n; ciò comporta, in base alla (5.2), che Card(Q/γn )=Card(Q/γm ) per tutti gli interi m ≥ n. Poiché, per ogni h ≥ 0, γh+1 ⊆ γh si ha Q/γn = Q/γm , per tutti gli interi m ≥ n e quindi γn = γm , per ogni m ≥ n. Si ha inoltre

γ=

n 

γh

h=0

ed essendo γi ⊇ γi+1 , (i = 0, . . . , n − 1), ne segue che γ = γn . Supponiamo ora che, per ogni h ≥ 0, γh = γh+1 =⇒ γh+1 = γh+2 e sia k = min{h ≥ 0 | γh = γh+1 }. Ciò comporta che γk = γn = γ . Poiché Card(Q/γ0 ) < Card(Q/γ1 ) < · · · < Card(Q/γk ) = Card(Q/γ ) ≤ Card(Q), si ha, ponendo p = Card(Q/γ0 ), p + k ≤ Card(Q/γk ) ≤ Card(Q), cosicché k ≤ Card(Q) − p, il che conclude la dimostrazione.

 

Sia A = (A, S, λ , s0 , S ) un automa. Introduciamo, per ogni h ≥ 0, la relazione ∼h definita come segue: per ogni s,t ∈ S, s ∼h t se e solo se ∀ u ∈ A[h] , (su ∈ S ⇐⇒ tu ∈ S ), dove A[h] denota l’insieme delle parole su A di lunghezza minore o uguale a h. Si ha evidentemente che, per ogni h ≥ 0, ∼h è una relazione di equivalenza di S; poiché ∼h+1 ⊆ ∼h , si ha che ∼h+1 è un raffinamento di ∼h . Inoltre, dalla definizione, segue

5.5 Automa minimale e teorema di equivalenza

che ∼=



191

∼h .

h≥0

Due stati s,t di A si dicono distinguibili se esiste un intero h ≥ 0 tale che s ∼h t. Proposizione 5.8. Sia A = (A, S, λ , s0 , S ) un automa e sia k = min{h ≥ 0 | ∼h = ∼h+1 }. Si ha allora ∼ = ∼k , con k ≤ max{0, |A | − 2}. Dimostrazione. Mostriamo anzitutto che, per ogni h ≥ 0, ∼h = ∼h+1 implica ∼h+1 = ∼h+2 . Infatti, per ogni s,t ∈ S, s ∼h+1 t se e solo se vale la condizione seguente: ∀ a ∈ A ∀ v ∈ A[h] (s(av) = (sa)v ∈ S ⇐⇒ t(av) = (ta)v ∈ S ), cioè s ∼h+1 t se e solo se ∀ a ∈ A (sa ∼h ta). Poiché, per ipotesi, ∼h = ∼h+1 , si ha ∀ a ∈ A (sa ∼h ta) ⇐⇒ ∀ a ∈ A (sa ∼h+1 ta) ⇐⇒ s ∼h+2 t, e pertanto ∼h+1 = ∼h+2 . Servendoci del Lemma 5.2 nel caso Q = S, si ha k ≤ Card(S) − p = |A | − p, con p = Card(S/ ∼0 ). Se |A | = 1, l’automa ha un solo stato cosicché k = 0 e il risultato è banale. Sia |A | > 1. Se p = 1 allora tutti gli stati dell’automa sono o tutti finali o tutti non finali e quindi indistinguibili, cosicché, in tal caso, k = 0 e l’asserto è provato. Se p > 1 allora |A | > 1 e k ≤ |A | − p ≤ |A | − 2, il che dimostra l’asserto.

 

Si osservi che l’automa A /∼ = A /∼k è l’automa ridotto. Se l’automa A è connesso, esso è l’automa minimale per il linguaggio accettato da A . Proposizione 5.9. Due automi A e B sono equivalenti se e solo se accettano le stesse parole di lunghezza minore o uguale a |A | + |B| − 2. Dimostrazione. Siano A = (A, S, λ A , s0 , S ) e B = (A, T, λ B ,t0 , T ) due automi che accettano i linguaggi L(A ) e L(B). Supponendo che S ∩ T = 0, / definiamo l’automa (non connesso) C = (A, Q, λ C , q0 , Q ) dove Q = S ∪ T , Q = S ∪ T , q0 ∈ {s0 ,t0 } e λ C è definita per ogni q ∈ Q e a ∈ A come: A λ (q, a) se q ∈ S C λ (q, a) = λ B (q, a) se q ∈ T.

192

5 Equivalenza di automi

Se ∼ è la relazione di equivalenza di stati di C , si ha per ogni q1 , q2 ∈ Q q1 ∼ q2 se e solo se ∀u ∈ A∗ (q1 u ∈ Q ⇐⇒ q2 u ∈ Q ). In particolare, se q1 = s0 e q2 = t0 poiché S ∩ T = 0/ ne segue: s0 ∼ t0 se e solo se ∀u ∈ A∗ (s0 u ∈ S ⇐⇒ t0 u ∈ T ). Pertanto s0 ∼ t0 ⇐⇒ L(A ) = L(B). Dalla Proposizione 5.8, poiché |C | > 1, si ha ∼ = ∼k con 0 ≤ k ≤ |C | − 2 = |A | + |B| − 2, cosicché L(A ) = L(B) ⇐⇒ s0 ∼k t0 con k ≤ |A | + |B| − 2.

 

Il seguente esempio mostra che il limite |A | + |B| − 2 della precedente proposizione è ottimale. Esempio 5.1. Consideriamo l’alfabeto A = {a} e siano n1 , n2 due interi tali che 2 < n1 ≤ n2 . Si considerino gli automi A = (A, S, λ A , s0 , {s }) e B = (A, T, λ B ,t0 , {t }), con |A | = n1 e |B| = n2 . L’insieme S è dato da {s0 , s1 , . . . , sn1 −3 , s , q} e la funzione di transizione λ A è definita come: si a = si+1 , i = 0, . . . , n1 − 4, sn1 −3 a = s , s a = q, qa = q. Riportiamo qui di seguito il grafo dell’automa A dove per 0 ≤ i ≤ n1 − 3, lo stato si è stato per semplicità denotato con il digit i. 0k 6

- 1k

- 2k - p p p p p p

6 - sk

 - qk

Il linguaggio accettato da A è L(A ) = {an1 −2 }. L’automa B è definito dal grafo:  p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p '

$

6      - t1 - t2 - p p p p p - t - p p p p p - tn2 −1 t0      6

cosicché ti a = ti+1 ,

i = 0, . . . , n2 − 2,

tn2 −1 a = t0 .

5.6 Calcolo dell’automa minimale e del monoide sintattico

193

Inoltre t = tn1 −2 . Allora, come si verifica immediatamente, il linguaggio accettato da B è L(B) = an1 −2 (an2 )∗ . Per k < n1 + n2 − 2, si ha: ak ∈ L(A ) ⇐⇒ ak ∈ L(B), mentre

an1 +n2 −2 ∈ L(B) \ L(A ),

il che mostra che i due automi non sono equivalenti e quindi l’ottimalità del limite predetto.

5.6 Calcolo dell’automa minimale e del monoide sintattico In questa sezione illustriamo attraverso un esempio un algoritmo dovuto a Moore basato sulla dimostrazione della Proposizione 5.8, per il calcolo dell’automa minimale di un linguaggio razionale. Ciò permetterà di calcolare il monoide sintattico del linguaggio. Sia A = (A, S, λ , s0 , S ) l’automa dove A = {a, b}, S = {1, 2, 3, 4, 5, 6}, S = {2, 3, 5, 6}, lo stato iniziale s0 è uno stato che non ci interessa per il momento specificare, la funzione di transizione λ è fornita dal grafo seguente: '

b 

$

6 6 a, b a 1k a, b 2k a - 3k - 4k - 5k  6 6  

a, b a b b 6k ?

Le trasformazioni elementari sono quindi date dalla seguente tavola: S λa λb

1 2 2

2 3 2

3 4 4

4 5 2

5 6 2

6 4 . 4

Per ogni h ≥ 0, denotiamo S/∼h semplicemente con Ph . Si ha: P0 = {{1, 4}, {2, 3, 5, 6}}, P1 = {{1, 4}, {2, 5}, {3, 6}}, P2 = {{1, 4}, {2, 5}, {3, 6}}. Infatti l’insieme P0 è costituito da due elementi {1, 4} e {2, 3, 5, 6} poiché gli stati 1 e 4 dell’automa sono non terminali mentre gli stati 2, 3, 5 e 6 sono terminali, cosicché due stati del primo insieme (risp. del secondo insieme) sono indistinguibili applicando ad essi la parola vuota.

194

5 Equivalenza di automi

L’insieme P1 è costituito da tre elementi {1, 4}, {2, 5} e {3, 6}. Infatti, 1 e 4 sono indistinguibili applicando ad essi a oppure b e lo stesso avviene per la coppia di stati 2 e 5 e per la coppia 3 e 6. Invece 2 e 3 sono distinguibili poiché 2a = 3 che appartiene ad S e 3a = 4 che appartiene ad S \ S . L’insieme P2 coincide con P1 come si verifica facilmente. Pertanto S/∼1 = S/∼ e l’automa A /∼1 è ridotto. Se si assume come stato iniziale lo stato 1 allora l’automa A è connesso e A /∼1 è minimale. Denotando per semplicità gli stati {1, 4}, {2, 5} e {3, 6} rispettivamente con 1, 2 e 3, il grafo di quest’ultimo automa è il seguente: a, b -a # #  b l - 1l  2l 3? & a, b

%

Si ha inoltre la seguente tavola delle trasformazioni elementari: S λa λb

1 2 3 2 3 1 . 2 2 1

Il monoide delle transizioni generato da λa e λb è, a meno di isomorfismi, il monoide sintattico del linguaggio accettato dall’automa iniziale (con stato iniziale uguale a 1) ovvero dall’automa minimale riportato nella figura precedente. Il monoide delle transizioni dell’automa è costituito da 24 elementi riportati nella seguente tavola dove nella prima colonna le trasformazioni λw sono state denotate semplicemente con w:

ε a b a2 ab ba b2 a2 b aba ba2 bab b2 a a2 ba

1 1 2 2 3 2 3 2 1 3 1 1 3 2

2 2 3 2 1 1 3 2 2 2 1 1 3 3

3 3 1 1 2 2 2 . 2 2 3 3 2 3 3

aba2 abab baba b2 a2 a2 ba2 a2 bab ababa baba2 a2 baba ababa2 a2 baba2

1 1 1 2 1 3 2 2 3 3 3 1

2 3 2 2 1 1 1 3 3 2 1 3

3 1 1 3 1 1 1 . 2 1 2 3 3

5.7 Metodo dei resti

195

In esso valgono le seguenti relazioni: . a3 = ε . . ab2 = b2 = b3 . 2 ba b = b . b2 ab = b2 a2 . babab = b.

5.7 Metodo dei resti Sia L un linguaggio sull’alfabeto A. Ricordiamo che per ogni u ∈ A∗ il quoziente sinistro di L per u, detto anche resto destro di L per u, è il linguaggio: u−1 L = {ξ ∈ A∗ | uξ ∈ L}. La relazione di equivalenza di Nerode NL può esprimersi in termini degli insiemi quozienti come: per ogni u, v ∈ A∗ u NL v ⇐⇒ u−1 L = v−1 L. Sia fL l’applicazione che ad ogni u ∈ A∗ associa il linguaggio fL (u) = u−1 L. Se L è un linguaggio razionale, dal teorema di Nerode si ha che l’indice dell’equivalenza di Nerode NL è finito e ind(NL ) = Card{ fL (u) | u ∈ A∗ }. Se QL denota l’insieme

QL = {u−1 L | u ∈ A∗ }

(5.3)

esiste una biiezione ϕL : A∗ /NL → QL definita per u ∈ A∗ da

ϕL (NL (u)) = fL (u).

(5.4)

Si noti che la precedente definizione è non ambigua perché se NL (u) = NL (v) allora fL (u) = fL (v). Se L è un linguaggio razionale su A possiamo introdurre l’automa, detto automa dei resti destri, o semplicemente automa dei resti di L, RL = (A, QL , λ , L, FL ) dove QL è l’insieme definito dalla (5.3), L è lo stato iniziale, FL è l’insieme degli stati terminali definito da FL = {u−1 L | u ∈ L}

196

5 Equivalenza di automi

e λ è la funzione di transizione definita, utilizzando la notazione di prodotto esterno che denoteremo • per evitare ambiguità, come: per ogni u ∈ A∗ e a ∈ A (u−1 L) • a := a−1 (u−1 L) = (ua)−1 L. Si noti che la precedente definizione è non ambigua perché se NL (u) = NL (v) allora NL (ua) = NL (va) il che comporta (ua)−1 L = (va)−1 L. Proposizione 5.10. L’automa dei resti di un linguaggio razionale è isomorfo all’automa di Nerode del linguaggio. Dimostrazione. Mostriamo anzitutto che l’automa RL dei resti di un linguaggio razionale L accetta L. Infatti si ha: L(RL ) = {u ∈ A∗ | L • u ∈ FL } = {u ∈ A∗ | u−1 L ∈ FL } = L. Poiché |AL | = ind(NL ) ne segue che l’automa dei resti è un automa minimale per L e quindi isomorfo all’automa di Nerode di L in base al Corollario 5.1.   Si noti che la precedente proposizione può essere dimostrata anche facendo vedere che l’applicazione ϕL definita dalla (5.4) è un isomorfismo dell’automa di Nerode di L e l’automa dei resti di L (vedi Eser. 5.6). La seguente proposizione è importante al fine di costruire l’automa dei resti di un linguaggio razionale. Proposizione 5.11. Sia L un linguaggio razionale su A. Si ha che QL = {u−1 L | u ∈ A[k] } dove k è l’indice della equivalenza di Nerode di L. Dimostrazione. La dimostrazione consiste nel far vedere che in ogni classe di Nerode di L esiste sempre una parola di lunghezza minore o uguale a k. Si perviene al risultato con la stessa tecnica utilizzata per mostrare le proprietà di iterazione dei linguaggi razionali. Infatti sia u = a1 · · · ar , con ai ∈ A, 1 ≤ i ≤ r e r > k. Per il principio della piccionaia esistono interi i, j tali che 1 ≤ i < j ≤ r, tali che a1 · · · ai NL a1 · · · a j , cosicché, essendo NL compatibile a destra con il prodotto, u NL a1 · · · ai a j+1 · · · ar = v e |v| < |u|. Se |v| > k si ripete il ragionamento precedente fino ad arrivare ad una parola w tale che |w| ≤ k e w NL u.   Un metodo, detto metodo dei resti, può essere utilizzato al fine della costruzione dell’automa dei resti di un linguaggio riconoscibile quando questo sia dato mediante

5.7 Metodo dei resti

197

una espressione razionale. Conviene qui elencare alcune regole di calcolo dei quozienti che sono utili per la predetta costruzione. Sintetizziamo queste regole nella seguente proposizione la cui dimostrazione è lasciata al Lettore quale esercizio (vedi Eser. 5.7). Proposizione 5.12. Siano u, v ∈ A∗ , a ∈ A e L, L1 , L2 linguaggi. Valgono le seguenti formule: 1) u−1 (L1 ∪ L2 ) = u−1 L1 ∪ u−1 L2 , u−1 (L1 ∩ L2 ) = u−1 L1 ∩ u−1 L2 , 2) u−1 (L1 \ L2 ) = u−1 L1 \ u−1 L2 ,  se ε ∈ L1 (a−1 L1 )L2 −1 3) a (L1 L2 ) = −1 −1 (a L1 )L2 ∪ a L2 se ε ∈ L1 , 4) a−1 L∗ = (a−1 L)L∗ , 5) v−1 (u−1 L) = (uv)−1 L. Per il calcolo dell’automa dei resti RL di un linguaggio riconoscibile L dato mediante un’espressione razionale, si procede a costruire l’insieme degli stati QL dell’automa dei resti mediante una successione Li , i ≥ 0, di sottoinsiemi di QL definita induttivamente come segue: 1) Si pone L0 = {L}, 2) Per ogni lettera a ∈ A si calcola il quoziente a−1 L utilizzando le regole della Proposizione 5.12 e si costruisce l’insieme: L1 = {a−1 L | a ∈ A} \ L0 , 3) Per ogni i ≥ 1 si costruisce Li+1 da Li al seguente modo: Li+1 = {a−1 L | a ∈ A , L ∈ Li } \

i 

L j,

j=0

4) La procedura termina in corrispondenza del primo intero k tale che Lk+1 = 0/  avendosi QL = kj=0 L j . In base alla Proposizione 5.12 la procedura precedentemente descritta termina per un intero k ≤ ind(NL ). Lo stato iniziale di RL è L mentre l’insieme degli stati terminali si ottiene considerando i quozienti u−1 L con u ∈ L e |u| ≤ ind(NL ). Conviene osservare che perché il metodo dei resti possa essere effettivamente utilizzato bisogna essere in grado di costruire gli insiemi Li e ciò è possibile sempre che si sappia riconoscere se due linguaggi L1 e L2 descritti da due espressioni razionali sono uguali o meno. In generale, come vedremo più diffusamente nel prossimo capitolo, tale problema è decidibile, ma l’algoritmo di decisione in generale richiede la costruzione di automi e può essere abbastanza complesso. Pertanto il metodo dei resti per la costruzione dell’automa minimale, pur essendo concettualmente semplice ed elegante, è effettivamente utilizzabile solo in quei casi in cui non è difficile verifi-

198

5 Equivalenza di automi

care, anche servendosi della Proposizione 5.12, se i resti che via via si costruiscono sono uguali o diversi. Illustriamo ora il metodo dei resti con il seguente: Esempio 5.2. Sia L il linguaggio razionale sull’alfabeto A = {a, b} L = A∗ abaA∗ . Utilizzando la Proposizione 5.12 si ha: a−1 L = L ∪ baA∗ e b−1 L = L. Poiché bab ∈ a−1 L \ L si ha che a−1 L = L. Pertanto L1 = {L ∪ baA∗ }. Calcoliamo ora: a−1 (L ∪ baA∗ ) = a−1 L = L ∪ baA∗ b−1 (L ∪ baA∗ ) = b−1 L ∪ aA∗ = L ∪ aA∗ . Poiché come si verifica immediatamente L ∪ aA∗ = L e L ∪ aA∗ = L ∪ baA∗ si ha: L2 = {L ∪ aA∗ }. Procedendo nel calcolo dei resti si ha: a−1 (L ∪ aA∗ ) = a−1 L ∪ A∗ = A∗ b−1 (L ∪ aA∗ ) = b−1 L = L, cosicché L3 = {A∗ }. Essendo poi a−1 A∗ = b−1 A∗ = A∗ ne segue che L4 = 0/ e la procedura termina. L’automa minimale ha dunque 4 stati s1 = L, s2 = L∪baA∗ , s3 = L∪aA∗ e s4 = A∗ . Lo stato iniziale è s1 e vi è uno stato terminale s4 . Denotando gli stati semplicemente con 1, 2, 3 e 4, il grafo dell’automa è il seguente: a    ? b

k ba - 6 a, b k k

1k a 2 3 4  6   b

Fig. 5.1. Automa minimale che riconosce il linguaggio L = A∗ abaA∗

Terminiamo questa sezione osservando che esistono vari metodi o algoritmi, alcuni dei quali molto efficienti, in grado di costruire un automa deterministico o non deterministico che accetta il linguaggio descritto da una espressione razionale (cf. Brzozowski 1964, Berry, Sethi 1986). Un metodo, anche se non efficiente, sarà presentato nella Sezione 6.3 del prossimo capitolo. Una volta che si è costruito un automa che accetta il linguaggio, utilizzando la subset construction se l’automa non è deterministico e poi il metodo di Moore descritto nella Sezione 5.6, si perviene a costruire un automa minimale.

5.8 Esercizi

199

5.8 Esercizi 5.1. Sia A un automa finito e ∼ la relazione di equivalenza di stati. Mostrare che l’automa A /∼ è ridotto. 5.2. Mostrare, fornendo degli esempi, che in generale la relazione di ricoprimento di automi non è né simmetrica né antisimmetrica. 5.3. Sia A = (A, S, λ , s0 , S ) l’automa finito dove A = {a, b}, S = {1, 2, 3, 4, 5, 6, 7, 8}, s0 = 1, S = {3}, e λ è data mediante la tavola delle trasformazioni elementari: S λa λb

1 2 6

2 7 3

3 1 3

4 3 7

5 8 6

6 3 7

7 7 5

8 7 . 3

Si calcoli l’automa minimale. 5.4. Sia A = (A, S, λ , s0 , S ) l’automa finito dove A = {a, b}, S = {1, 2, 3, 4, 5, 6, 7, 8}, s0 = 1, S = {1, 4, 6, 7, 8}, e λ è data mediante la tavola delle trasformazioni elementari: S λa λb

1 2 3

2 4 2

3 2 3

4 5 8

5 6 5

6 5 7

7 5 7

8 5 . 8

Si calcoli l’automa minimale. 5.5. Mostrare, utilizzando la relazione di equivalenza di stati, che l’automa di Nerode di un linguaggio riconoscibile è ridotto. 5.6. Siano L un linguaggio riconoscibile su A e QL = {u−1 L | u ∈ A∗ }. Mostrare che l’applicazione: ϕL : A∗ /NL → QL definita come: per ogni u ∈ A∗ , ϕL (NL (u)) = u−1 L, è un isomorfismo dell’automa di Nerode di L nell’automa dei resti di L. 5.7. Si mostri la validità delle formule di calcolo dei resti definite nell’enunciato della Proposizione 5.12. 5.8. Si calcoli il monoide sintattico del linguaggio dell’Esempio 5.2 in termini di generatori e relazioni.

200

5 Equivalenza di automi

5.9. Si calcoli con il metodo dei resti l’automa minimale e il monoide sintattico dei seguenti linguaggi su A = {a, b}: 1) L = aab∗ ab, 2) L = a∗ b∗ a∗ , 3) L = (ab ∪ ba)∗ .

5.9 Note bibliografiche Il metodo “sperimentale”, basato su esperimenti pensati (Gedanken-experiments) per trovare l’automa minimale per un linguaggio riconoscibile è dovuto a E.F. Moore (Moore 1956). Relativamente al teorema di equivalenza di Moore e a sue estensioni il Lettore può consultare i volumi (Conway 1971), (Trakhtenbrot, Barzdin 1970), e (Eilenberg 1974). Un algoritmo efficiente per minimizzare il numero degli stati di un automa finito che riconosce un dato linguaggio è stato dato da Hopcroft in (Hopcroft 1971). Un’analisi della complessità dell’algoritmo di Hopcroft è stata data in (Berstel, Carton 2004) e più recentemente in (Castiglione, Restivo, Sciortino 2010). Un articolo di ricerca in cui si fornisce, come conseguenza di risultati più generali, un raffinamento del teorema di equivalenza di Moore, ottenuto come conseguenza di risultati sviluppati in un contesto più generale degli automi, è in (Carpi, de Luca, Varricchio 2001). Alcuni metodi efficienti che permettono di costruire un automa che accetta il linguaggio descritto da una espressione razionale sono dovuti a J. Brzozowki (Brzozowki 1964) e a J. Berry e R. Sethi (Berry, Sethi 1986).

6 Espressioni razionali e Star-height

In questo capitolo si introducono le espressioni razionali che sono espressioni formali contenenti costanti, variabili e simboli operatoriali che servono a descrivere i linguaggi razionali. Se si interpretano le variabili quali singleton costituiti dalle lettere di un alfabeto, le costanti quali l’insieme vuoto e l’insieme costituito dalla sola parola vuota, e i simboli operatoriali quali le operazioni razionali di unione, prodotto e stella, si può associare ad ogni espressione razionale un linguaggio razionale detto interpretazione o valutazione dell’espressione. Poiché la famiglia dei linguaggi razionali è chiusa rispetto alle operazioni Booleane è possibile estendere l’insieme delle espressioni razionali considerando due ulteriori simboli operatoriali che vengono interpretati quali l’operazione di intersezione e di complemento. Si definisce in tal modo una classe di espressioni razionali dette estese in contrasto a quelle della classe precedente dette ristrette. Ogni linguaggio razionale può essere in generale descritto da più espressioni razionali ristrette oppure estese. Due espressioni razionali sono considerate equivalenti se interpretate danno luogo allo stesso linguaggio razionale. Valgono quindi varie identità razionali che sono studiate nel caso ristretto nella Sezione 6.2 dove si analizza il problema della completezza di un insieme finito di assiomi per l’algebra delle espressioni razionali. Tale problema ha una risposta negativa se le regole di inferenza utilizzabili sono solo le regole della logica formale. Nella Sezione 6.3 si dimostrerà che è sempre possibile decidere se due espressioni razionali estese sono equivalenti. Una quantità molto importante che si può associare ad una espressione razionale sia ristretta che estesa è quella della profondità dell’operazione stella (star-height) che conta il massimo numero di volte che l’operazione stella ‘occorre’ in modo annidato nell’espressione stessa. Ciò permette di associare ad ogni linguaggio razionale L la quantità sh(L) (risp. shg(L)) definita quale il minimo valore della star-height di una qualsiasi espressione razionale (risp. razionale estesa) la cui valutazione è L. Queste nozioni saranno introdotte rispettivamente nelle Sezioni 6.4 e 6.6. Nel caso della star-height ristretta si dimostrerà nella Sezione 6.5 un teorema fondamentale di Dejean e Schützenberger che mostra che esistono linguaggi razionali su un alfabeto con almeno due lettere la cui star-height è uguale a un qualsiasi numero A. de Luca, F. D’Alessandro: Teoria degli Automi Finiti, UNITEXT – La Matematica per il 3+2 68, DOI 10.1007/978-88-470-5474-5_6, © Springer-Verlag Italia 2013

202

6 Espressioni razionali e Star-height

intero. Inoltre un profondo risultato di Hashiguchi mostra che la star-height ristretta di un linguaggio razionale è effettivamente calcolabile. Nel caso della star-height estesa un teorema di Schützenberger dimostrato nella Sezione 6.7 permette di caratterizzare i linguaggi razionali L la cui star-height è zero, cioè descrivibili mediante una espressione razionale estesa senza stella (star-free). Tale caratterizzazione è data in termini del monoide sintattico di L e mostra inoltre che la classe dei linguaggi star-free coincide con quella dei linguaggi razionali aperiodici. Questo importante teorema di Schützenberger è l’unico risultato significativo sulla star-height estesa dal momento che non si sa se esistano linguaggi razionali con una star-height estesa maggiore di 1. Le ultime due sezioni del capitolo sono infine dedicate allo studio di due notevoli famiglie di linguaggi star-free, detti linguaggi localmente testabili e linguaggi testabili a pezzi. In entrambi i casi l’appartenenza di una parola al linguaggio può essere decisa solo sulla base di test locali. Inoltre due importanti teoremi forniscono delle caratterizzazioni sintattiche di tali famiglie di linguaggi. La prima è dovuta a Brzozowski, Simon, McNaughton e Zalcstein e la seconda a Simon.

6.1 Espressioni razionali Le espressioni razionali (o regolari) sono espressioni formali che servono a descrivere i linguaggi razionali. Siano A = {a1 , ..., an } un insieme finito di simboli o alfabeto, 0 e 1 due ulteriori simboli particolari e F = {+, · ,∗ } un insieme contenente i tre simboli operatoriali o operazioni +, · e ∗ . L’insieme delle espressioni razionali su A, denotato con ER(A∗ ), si definisce come segue: 1) 0, 1 e ai , i = 1, ..., n sono espressioni razionali dette di base; 0 e 1 sono anche dette costanti e le ai , i = 1, . . . , n, variabili, 2) Se e, f ∈ ER(A∗ ), allora e + f , e · f , e∗ ∈ ER(A∗ ), 3) Tutte le espressioni razionali si ottengono dalle espressioni di base applicando un numero finito di volte le operazioni +, · e ∗ . Dalla definizione si ha che ER(A∗ ) è il più piccolo insieme di espressioni su A che contiene le espressioni di base ed è chiuso rispetto alle operazioni +, · e ∗ , dette anche operazioni razionali (formali). Si ha quindi che ER(A∗ ) è un’algebra rispetto alle due operazioni binarie + e · e alla operazione unaria ∗ . In ER(A∗ ) vi sono anche due operazioni zerarie corrispondenti alla scelta delle due costanti 0 e 1. Naturalmente in una espressione razionale figurano le parentesi ( e ) al fine di evitare ambiguità. Esempi di espressioni razionali sull’alfabeto A = {a, b} sono le seguenti: ((a + ba)∗ a)∗ , (a∗ )∗ , (0∗ (a + 1))∗ . Si osservi che due espressioni razionali sono uguali se e solo se sono formalmente uguali.

6.1 Espressioni razionali

203

Per ogni n ≥ 0 definiamo induttivamente la famiglia ERn (A∗ ) di espressioni razionali di ordine n al seguente modo: ER0 (A∗ ) è costituita dalle espressioni razionali di base, cioè ER0 (A∗ ) = {0, 1, a1 , . . . , an }. Per ogni n ≥ 0 si pone:



ERn+1 (A∗ ) = ERn (A∗ ) ∪

e, f ∈ERn

{e + f , e f , e∗ }. (A∗ )

Per ogni n ≥ 0, si ha ERn (A∗ ) ⊆ ERn+1 (A∗ ) e 

ER(A∗ ) =

ERn (A∗ ).

n≥0

Per ogni espressione razionale e definiamo profondità d(e) della espressione il più piccolo intero n tale che e ∈ ERn (A∗ ). Sia Rat(A∗ ) la famiglia dei linguaggi razionali sull’alfabeto A. Tale famiglia contiene l’insieme vuoto 0, / l’insieme {ε }, i ‘singleton’ {ai }, i = 1, ..., n, ed è chiusa rispetto alle operazioni di unione, prodotto e stella (sottomonoide generato). La famiglia Rat(A∗ ) dei linguaggi razionali sull’alfabeto A è dunque un’algebra dello stesso tipo di ER(A∗ ). Facendo corrispondere alla operazione + l’operazione di unione insiemistica, all’ operazione · il prodotto di insiemi, all’operazione ∗ l’operazione di sottomonoide generato e alle costanti 0 ed 1 rispettivamente l’insieme vuoto e l’insieme {ε }, si ha che l’ applicazione ϕ : A −→ Rat(A∗ ) definita da

ϕ (ai ) = {ai }, i = 1, ..., n, si estende ad un (unico) epimorfismo ϕ : ER(A∗ ) −→ Rat(A∗ ). Più precisamente, si ha ϕ (0) = 0, / ϕ (1) = {ε } e per ogni e, f ∈ ER(A∗ ),

ϕ (e + f ) = ϕ (e) ∪ ϕ ( f ), ϕ (e · f ) = ϕ (e) · ϕ ( f ), ϕ (e∗ ) = ϕ (e)∗ . Per ogni e ∈ ER(A∗ ), l’insieme ϕ (e) ∈ Rat(A∗ ) si chiamerà anche valutazione o interpretazione di e in Rat(A∗ ), mentre e si dirà una descrizione in ER(A∗ ) del linguaggio razionale ϕ (e). Si osservi che più espressioni razionali possono avere la stessa valutazione in Rat(A∗ ). Così, ad esempio,

ϕ (a∗ ) = ϕ ((a∗ )∗ ) = {a}∗

e ϕ (0∗ ) = ϕ (1) = {ε }.

Sia ϑ = ϕϕ −1 la relazione di congruenza naturalmente indotta dal morfismo ϕ . Due espressioni razionali e, f ∈ ER(A∗ ) sono equivalenti modulo ϑ se hanno la stessa valutazione in Rat(A∗ ). Dal teorema generale di isomorfismo (cf. Cap. 1, Sez. 1.13) si ha che ER(A∗ )/ϑ ∼ = Rat(A∗ ). . Se e, f ∈ ER(A∗ ) sono equivalenti modulo ϑ , scriveremo e = f .

204

6 Espressioni razionali e Star-height

. Ogni uguaglianza e = f , con e, f ∈ ER(A∗ ) si dirà una identità razionale. Alcune volte è facile riconoscere immediatamente certe identità razionali. Così, ad esempio, si ha . . (e∗ )∗ = e∗ , (e + f ) + g = e + ( f + g), per ogni e, f ∈ ER(A∗ ). Altre volte è più difficile verificare certe identità quali, ad esempio (vedi Eser. 6.2): . . (a + b)∗ ab(a + b)∗ = b∗ a∗ ab(a + b)∗ , (ab∗ c)∗ = 0∗ + a(b + ca)∗ c. È allora naturale chiedersi se esiste un algoritmo, o procedura ‘meccanica’, che permette di decidere se due espressioni razionali sono equivalenti. Questo problema, come vedremo nella Sezione 6.3, avrà una risposta positiva.

6.2 Identità razionali Come si è visto la interpretazione, o modello, naturale per le espressioni razionali è fornita dai linguaggi razionali, cosicché varie identità tra espressioni possono riconoscersi sulla base di relazioni di uguaglianza esistenti tra i corrispondenti linguaggi razionali. Riportiamo qui di seguito una lista di identità razionali che si ottengono facilmente (vedi Eser. 6.1) mediante la predetta procedura. Per semplicità si denoterà . = con =. Siano e, f , g espressioni razionali su A. Si ha: C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14.n

e + 0 = e, e + f = f + e, (e + f ) + g = e + ( f + g), e0 = 0, 0e = 0, e1 = e, 1e = e, e( f + g) = e f + eg, ( f + g)e = f e + ge, (e f )g = e( f g), (e + f )∗ = (e∗ f )∗ e∗ , (star della somma) (e f )∗ = 1 + e( f e)∗ f , (star del prodotto) (e∗ )∗ = e∗ , (starstar) e∗ = (en )∗ (1 + e + e2 + · · · + en−1 ), (n > 0).

La precedente lista di identità è detta anche insieme degli assiomi classici per l’algebra delle espressioni razionali. Dalle predette identità si possono facilmente dedurre (vedi Eser. 6.2), senza far ricorso alla interpretazione delle espressioni quali linguaggi razionali, le ulteriori ben note identità: D1 e∗ = 1 + ee∗ , D2.n e∗ = 1 + e + e2 + · · · + en−1 + en e∗ , D3 (e f )∗ e = e( f e)∗ , D4.n (en )∗ e = e(en )∗ , D5 0∗ = 1,

6.2 Identità razionali

D6 D7 D8 D9 D10

205

1∗ = 1, 1 + 1 = 1, e + e = e, (1 + e)∗ = e∗ , e∗ e∗ = e∗ .

Oltre ad identità razionali valgono anche alcune implicazioni identiche: ad esempio e = f ∗ g ⇒ e = f e + g. Infatti dalla D1 si ha f ∗ = 1 + f f ∗ cosicché e = f ∗ g = (1 + f f ∗ )g. Utilizzando la C9 e la C2 segue e = f ∗ g = g + f f ∗ g = g + f e = f e + g. Nasce il problema generale di dimostrare una identità razionale come nei sistemi algebrici, cioè derivando l’uguaglianza a partire da una data lista di assiomi e di regole di inferenza. Il sistema di assiomi è detto completo se ogni identità razionale è ottenibile dagli assiomi utilizzando le usuali regole di inferenza della logica. Noi ci limiteremo a presentare alcuni risultati fondamentali ottenuti sul problema della completezza senza fornire dimostrazioni. Il Lettore interessato all’argomento potrà consultare gli articoli ed i volumi citati riportati in bibliografia. Nel caso di insiemi finiti di assiomi vale il seguente importante teorema di V. N. Redko: Teorema 6.1 (Redko). Nessun insieme finito di assiomi per l’algebra delle espressioni razionali è completo. La dimostrazione è ottenuta mostrando che per ogni insieme finito di assiomi esiste un numero primo p tale che la identità C14.p non è deducibile. Si può inoltre dimostrare che la predetta incompletezza resta anche se ci si limita ad un alfabeto con una sola lettera. Si può congetturare che esiste un insieme finito di assiomi che diventa completo se si aggiungono gli infiniti assiomi C14.n con n ≥ 1. In altri termini è il sistema degli assiomi classici C1-C14.n, n ≥ 1, un sistema completo? Una risposta negativa alla precedente questione è fornita dal seguente teorema di J. H. Conway: Teorema 6.2 (Conway). Ogni insieme completo di assiomi per le identità razionali deve contenere infiniti assiomi che coinvolgono due o più variabili. Poiché nel caso di un alfabeto unario gli infiniti assiomi C14.n, n ≥ 1, coinvolgono una sola variabile ne segue che la predetta congettura ha una risposta negativa. Nasce il problema se esiste un insieme finito e completo di assiomi potendo utilizzare quali regole di inferenza non solo le regole di inferenza logica, ma anche regole di inferenza che derivano da implicazioni identiche valide per le espressioni razionali. Nel caso dei linguaggi razionali, e più in generale per arbitrari linguaggi sull’alfabeto A, vale la seguente implicazione (vedi Eser. 6.3). Per E, F, G ∈ Rat(A∗ ) si ha:

ε ∈ F e E = FE ∪ G =⇒ E = F ∗ G.

(6.1)

206

6 Espressioni razionali e Star-height

Per tradurre la precedente relazione in una implicazione identica tra espressioni razionali conviene introdurre per ogni espressione razionale e la seguente relazione: 1 ∈ e se e solo se {ε } ∈ ϕ (e). Si noti nella relazione 1 ∈ e il simbolo ∈ denota una appartenenza formale. La relazione 1 ∈ e può essere definita per induzione sulla profondità d(e) dell’espressione razionale e come segue. Se d(e) = 0 allora 1 ∈ e se e solo se e = 1. Se d(e) = n allora esistono espressioni f , g ∈ ERn−1 (A∗ ) tali che 1) e = f ∗ . In tal caso 1 ∈ e, 2) e = f + g. In tal caso 1 ∈ e se e solo se 1 ∈ f oppure 1 ∈ g, 3) e = f g. In tal caso 1 ∈ e se e solo se 1 ∈ f e 1 ∈ g. Si verifica facilmente che la relazione (6.1) diventa la seguente implicazione identica tra espressioni razionali: per e, f , g ∈ER(A∗ ) e = f e + g, 1 ∈ f =⇒ e = f ∗ g.

(6.2)

Vale il seguente notevole teorema dovuto a A. Salomaa: Teorema 6.3 (Salomaa). Esiste un insieme finito e completo di assiomi per le identità razionali se alle regole di inferenza della logica si aggiunge quale regola di inferenza l’implicazione identica data dalla (6.2). Più precisamente il sistema degli assiomi è fornito dalla lista C1–C13, mentre le regole d’inferenza sono quelle della logica con l’aggiunta della regola (6.2).

6.3 Espressioni razionali estese Per il teorema fondamentale di Kleene la famiglia Rat(A∗ ) è chiusa rispetto alle operazioni Booleane, cosicché è naturale considerare espressioni razionali nelle quali appaiano due nuovi simboli operatoriali che saranno interpretati in Rat(A∗ ) quali intersezione insiemistica e complementazione. Si introduce in tal modo l’insieme ERG(A∗ ) delle espressioni razionali generalizzate o estese. Formalmente siano A = {a1 , ..., an } un insieme finito di simboli o alfabeto, 0 e 1 due ulteriori simboli particolari e F = {+, · , ∗ ,  , ¯ } un insieme contenente i cinque simboli operatoriali +, · , ∗ ,  e ¯ . Le prime tre operazioni, così come nel caso delle espressioni razionali ristrette, sono dette operazioni razionali (formali) mentre le ultime due sono dette operazioni Booleane (formali). L’insieme ERG(A∗ ) delle espressioni razionali generalizzate su A si definisce come segue: 1) 0, 1 e ai , i = 1, ..., n sono espressioni razionali dette di base, 2) Se e, f ∈ ERG(A∗ ), allora e + f , e · f , e∗ , e  f , e¯ ∈ ERG(A∗ ), 3) Tutte le espressioni razionali generalizzate si ottengono dalle espressioni di base applicando un numero finito di volte le operazioni razionali +, · , ∗ e le due operazioni Booleane  e ¯.

6.3 Espressioni razionali estese

207

Dalla definizione si ha che ERG(A∗ ) è il più piccolo insieme di espressioni su A che contiene le espressioni di base ed è chiuso rispetto alle operazioni razionali e Booleane. Si ha quindi che ERG(A∗ ) è un’algebra rispetto alle tre operazioni binarie {+, ·, } e alle due operazioni unarie {∗ , ¯}. In ERG(A∗ ) vi sono anche due operazioni zerarie corrispondenti alla scelta delle due costanti 0 e 1. Si ha evidentemente che ER(A∗ ) ⊆ ERG(A∗ ). Poiché Rat(A∗ ) è chiusa rispetto alle operazioni razionali e Booleane, possiamo far corrispondere allo stesso modo di come fatto nel caso di ER(A∗ ), alle operazioni razionali formali definite in ERG(A∗ ) le operazioni razionali insiemistiche definite in Rat(A∗ ) e alle costanti 0 e 1 rispettivamente l’insieme vuoto 0/ e l’insieme {ε }. Se inoltre si fa corrispondere all’ operazione () l’operazione di intersezione insiemistica e all’ operazione (¯) il complemento insiemistico, si ha allora che l’applicazione

ϕ : A −→ Rat(A∗ ) definita da:

ϕ (ai ) = {ai }, i = 1, ..., n, si estende ad un (unico) epimorfismo ϕ : ERG(A∗ ) −→ Rat(A∗ ). Più precisamente, si ha ϕ (0) = 0, / ϕ (1) = {ε } e per ogni e, f ∈ ERG(A∗ ): ϕ (e + f ) = ϕ (e) ∪ ϕ ( f ), ϕ (e · f ) = ϕ (e) · ϕ ( f ), ϕ (e∗ ) = ϕ (e)∗ , ϕ (e  f ) = ϕ (e) ∩ ϕ ( f ), ϕ (e) ¯ = (ϕ (e))c . Per ogni e ∈ ERG(A∗ ), l’insieme ϕ (e) ∈ Rat(A∗ ) si chiamerà anche valutazione o interpretazione di e in Rat(A∗ ), mentre e si dirà una descrizione in ERG(A∗ ) del linguaggio razionale ϕ (e). Sia ϑ = ϕϕ −1 la relazione di congruenza naturalmente indotta dal morfismo ϕ . Due espressioni razionali e, f ∈ ERG(A∗ ) sono equivalenti modulo ϑ se hanno la stessa valutazione in Rat(A∗ ). Se e, f ∈ ERG(A∗ ) sono equivalenti modulo ϑ , scri. veremo e = f . Così, ad esempio, si ha nel caso A = {a, b} . ¯ ∗ . . ¯ (a + b)∗ = 0, a = (a + b)∗ b(a + b)∗ = (0¯ b 0). Per ogni e, f ∈ ERG(A∗ ) si ha: . (e + f ) = e¯ ∩ f¯. . Ogni uguaglianza e = f , con e, f ∈ ERG(A∗ ) si dirà una identità razionale generalizzata. Evidentemente ogni identità razionale è anche una identità razionale generalizzata. Teorema 6.4. È possibile decidere se due espressioni razionali generalizzate sono equivalenti. Dimostrazione. La dimostrazione consiste nel far vedere come ad ogni espressione razionale generalizzata e ∈ ERG(A∗ ) è possibile associare in modo effettivo un automa deterministico Ae tale che L(Ae ) = ϕ (e). Pertanto il problema di decidere se

208

6 Espressioni razionali e Star-height

due espressioni razionali generalizzate e ed f sono equivalenti è ricondotto al problema dell’equivalenza dei due automi Ae e A f . Come si è visto nel Capitolo 4 (vedi Cor. 4.4) il problema dell’equivalenza di due automi finiti è decidibile e da qui segue l’asserto. Come si è detto nel Capitolo 5 esistono vari metodi, alcuni dei quali molto efficienti, che permettono di costruire data l’espressione razionale e un automa deterministico Ae tale che L(Ae ) = ϕ (e). Noi qui ci limiteremo a mostrare come sia possibile in linea di principio costruire un tale automa senza porci problemi di efficienza. Ogni espressione razionale generalizzata si ottiene da quelle di base applicando un numero finito di volte le operazioni razionali e le operazioni Booleane. Per ogni n ≥ 0 definiamo induttivamente la famiglia ERGn (A∗ ) di espressioni razionali generalizzate di ordine n al seguente modo: ERG0 (A∗ ) è costituita dalle espressioni razionali di base, cioè ERG0 (A∗ ) = {0, 1, a1 , . . . , an }. Per ogni n ≥ 0 si pone:



ERGn+1 (A∗ ) = ERGn (A∗ ) ∪

e, f ∈ERGn

{e + f , e  f , e f , e∗ , e}. ¯ (A∗ )

Per ogni n ≥ 0, si ha ERGn (A∗ ) ⊆ ERGn+1 (A∗ ) e ERG(A∗ ) =



ERGn (A∗ ).

n≥0

Per ogni espressione razionale generalizzata e definiamo profondità d(e) della espressione il più piccolo intero n tale che e ∈ ERGn (A∗ ). Mostreremo ora per induzione sulla profondità come ad ogni espressione razionale generalizzata e si può associare un automa deterministico Ae tale che L(Ae ) = ϕ (e). Denoteremo ϕ (e) semplicemente con Le . Base dell’induzione. Le espressioni razionali di profondità 0 sono le espressioni di base: 0, 1, ai , 1 ≤ i ≤ n. Poiché ϕ (0) = 0, / ϕ (1) = {ε } e ϕ (ai ) = {ai } per ogni 1 ≤ i ≤ n, è facile costruire gli automi (minimali) A0 , A1 e Aai che accettano i predetti linguaggi. In particolare, A0 ha un solo stato che è iniziale e non terminale, A1 ha due stati il primo che è sia iniziale che terminale e il secondo non terminale, Aai , per ogni 1 ≤ i ≤ n, ha tre stati il primo iniziale, il secondo terminale e il terzo che è uno stato pozzo. A0 A - 1k

A1

A ai A  6 A ai k k - 2k 1 2  - 1k @ 6 A \ {ai } @@ A R k 3

6 A

6.4 Star-height delle espressioni razionali

209

Passo induttivo. Supponiamo di aver associato in modo effettivo ad ogni espressione razionale estesa f di profondità ≤ n un automa A f tale che L(A f ) = ϕ ( f ) = L f . Sia ora e una espressione razionale generalizzata di profondità d(e) = n + 1, cosicché e ∈ ERGn+1 (A∗ ) \ ERGn (A∗ ). Esistono allora f , g ∈ ERGn (A∗ ) tali che uno dei seguenti casi si verifica: 1) e = f + g, 2) e = f  g, 3) e = f g, 4) e = f ∗ , 5) e = f¯. Poiché le espressioni f e g hanno profondità ≤ n, per l’ipotesi induttiva si possono costruire effettivamente due automi deterministici A f e Ag tali che

ϕ ( f ) = L(A f ) = L f e ϕ (g) = L(Ag ) = Lg . In base a quanto si è visto nel Capitolo 4 si possono effettivamente costruire gli automi deterministici A f ∪Ag , A f ∩Ag e A fc che riconoscono rispettivamente i linguaggi L f ∪ Lg , L f ∩ Lg e Lcf . In tal modo assumeremo A f +g = A f ∪ Ag , A f g = A f ∩ Ag , A f¯ = A fc . Possiamo inoltre a partire da A f e Ag costruire effettivamente (vedi Cap. 4, Sez. 4.8) due automi non deterministici in forma normale B f e Bg che accettano i linguaggi L f e Lg . A partire da questi è possibile costruire gli automi non deterministici B f Bg e B ∗f che accettano rispettivamente i linguaggi L f Lg e L∗f . Mediante la subset construction (vedi Cap. 4, Sez. 4.8) possiamo costruire due automi deterministici equivalenti a B f Bg e B ∗f che assumeremo quali A f g e A f ∗ . In tal modo per ogni espressione razionale generalizzata e di profondità n + 1 si può effettivamente costruire un automa deterministico Ae tale che ϕ (e) = L(Ae ) il che conclude la dimostrazione.  

6.4 Star-height delle espressioni razionali Introduciamo un operatore, detto star-height o profondità di stella, che, ad ogni espressione razionale ristretta su A = {a1 , . . . , an }, associa un intero non negativo detto star-height della espressione. Precisamente sia sh : ER(A∗ ) −→ N l’applicazione definita come: sh(0) = sh(1) = 0, sh(ai ) = 0, per ogni i = 1, ..., n, sh(e + f ) = sh(e f ) = max{sh(e), sh( f )}, per ogni e, f ∈ ER(A∗ ), sh(e∗ ) = sh(e) + 1, per ogni e ∈ ER(A∗ ).

210

6 Espressioni razionali e Star-height

Così, ad esempio, le espressioni: e1 = (a + bc)∗ c, e2 = (a + (bc)∗ )∗ , e3 = (a∗ + (bc∗ )∗ )∗ hanno star-height sh(e1 ) = 1, sh(e2 ) = 2 e sh(e3 ) = 3. Dalla definizione si ha che la star-height di una espressione razionale conta il massimo numero di volte che l’operazione stella occorre, in modo ‘annidato’, nella espressione stessa. Per ogni n ≥ 0 sia ERn (A∗ ) la famiglia delle espressioni razionali di ordine n. Si verifica facilmente per induzione su n che se e ∈ ERn (A∗ ) allora sh(e) ≤ n. Sia L un linguaggio razionale su A. Si definisce star-height di L e si denota con sh(L), il minimo valore della star-height di una qualsiasi espressione razionale su A la cui valutazione è L. Più precisamente, sh(L) = min{sh(e) | e ∈ ER(A∗ ), ϕ (e) = L}. Osserviamo che la star-height di una espressione razionale e di un linguaggio razionale L forniscono una misura di profondità dell’annidamento (in Inglese nesting) dei cicli presenti in cammini che hanno successo negli automi che accettano il linguaggio L. Come si è visto nella dimostrazione del teorema di Kleene, se A è un automa che accetta L, l’insieme dei cammini che hanno successo, così come il linguaggio L, è descritto da una espressione razionale effettivamente costruibile. Un cammino che ha successo ha un ciclo se esso stesso è un ciclo o possiede al suo interno dei cicli. Un ciclo che è un sottociclo di un altro si dice che è annidato nel precedente ciclo. Se e è l’espressione razionale associata ad A che descrive L la sua star-height dipende dalla profondità dell’annidamento presente nella struttura ciclica del grafo di A . La star-height di un linguaggio razionale fornisce dunque una misura della minima complessità, espressa in termini di profondità dell’annidamento dei cicli (in Inglese loop-complexity), di un qualsiasi automa che riconosce L. Il seguente lemma ed il Corollario 6.1 saranno utili nel seguito: Lemma 6.1. Sia α un’espressione razionale di star-height sh(α ) = d ≥ 1. Allora . p α = α dove α è una espressione razionale tale che sh(α ) = sh(α ), α = ∑k=1 βk , con p ≥ 1 e βk un’espressione del tipo ∗ γ0∗ γ1 γ2∗ · · · γ2n−1 γ2n ,

(6.3)

con n ≥ 0 e per ogni j = 0, . . . , 2n, sh(γ j ) ≤ d − 1. Dimostrazione. Il risultato è certamente vero se α ∈ ER1 (A∗ ). In tal caso sh(α ) = d = 1 ed α = γ0∗ con γ0 ∈ {0, 1, a1 , . . . , an }. Pertanto α è una espressione razionale del tipo (6.3) con n = 0 e sh(γ0 ) = 0. In tal caso α = α . Supponiamo ora per induzione di aver provato l’asserto per tutte le espressioni razionali α ∈ ERm−1 (A∗ ) e dimostriamo che l’asserto è vero per m. Sia dunque α ∈ ERm (A∗ ). Se α ∈ ERm−1 (A∗ ) allora l’asserto è vero per l’ipotesi induttiva. Sia dunque α ∈ ERm (A∗ ) \ ERm−1 (A∗ ). Si ha allora che esistono espressioni e, f ∈ ERm−1 (A∗ ) tali che uno dei seguenti casi si verifica:

6.4 Star-height delle espressioni razionali

211

Caso 1. α = e∗ . Se sh(α ) = d allora sh(e) = d − 1. Si ha allora che α è una espressione razionale del tipo (6.3) con n = 0 e γ0 = e e sh(e) = d − 1. In tal caso l’asserto è provato assumendo α = α . Caso 2. α = e + f . In tal caso sh(α ) = d = max{sh(e), sh( f )}. Supponiamo senza ledere la generalità, che sh(e) = d e sh( f ) ≤ d. Poiché e, f ∈ ERm−1 (A∗ ) si ha che . . e = e , f = f dove sh(e) = sh(e ), sh( f ) = sh( f ) e e =

p

∑ βk ,

f =

q

∑ β j

(6.4)

j=1

k=1

Per ogni k, 1 ≤ k ≤ p, βk è un’espressione del tipo ∗ γ0∗ γ1 γ2∗ · · · γ2n−1 γ2n

(6.5)

con n ≥ 0, e per ogni j = 0, . . . , 2n, sh(γ j ) ≤ sh(e ) − 1 = sh(e) − 1 = d − 1. Per ogni j, 1 ≤ j ≤ q, β j è un’espressione del tipo ∗ δ0∗ δ1 δ2∗ · · · δ2n−1 δ2h

(6.6)

con h ≥ 0, e per ogni j = 0, . . . , 2h, sh(δ j ) ≤ sh( f ) − 1 = sh( f ) − 1 ≤ d − 1. Assumendo α = e + f l’asserto è in questo caso dimostrato. Caso 3. α = e f . Anche in questo caso sh(α ) = d = max{sh(e), sh( f )}. Si ha che . . e f = α = e 1 f con e ed f date dalle formule (6.5) e (6.6). Si ha che α = α ed

α =

p

q

∑ ∑ βk 1β j .

k=1 j=1

Per ogni k e j, βk 1β j è un’espressione del tipo (6.3): ∗ ∗ βk 1β j = γ0∗ γ1 γ2∗ · · · γ2n−1 γ2n 1δ0∗ δ1 δ2∗ · · · δ2n−1 δ2h

Per ogni j = 0, . . . , 2n, sh(γ j ) ≤ sh(e )−1 = sh(e)−1 = d −1 e per ogni j = 0, . . . , 2h, sh(δ j ) ≤ sh( f ) − 1 = sh( f ) − 1 ≤ d − 1; inoltre sh(1) = 0. Di qui l’asserto è anche in questo caso dimostrato.   Corollario 6.1. Sia L un linguaggio razionale la cui star-height sh(L) = d ≥ 1. Allora L è una unione finita di linguaggi ciascuno dei quali è descritto da una espressione razionale della forma: ∗ γ0∗ γ1 γ2∗ · · · γ2n−1 γ2n , (6.7) dove n ≥ 0 e per ogni j = 0, . . . , 2n, sh(γ j ) ≤ d − 1. Dimostrazione. Sia L un linguaggio razionale la cui star-height sh(L) = d ≥ 1. Esiste allora una espressione razionale α tale che la sua valutazione ϕ (α ) = L e sh(α ) = sh(L) = d. Per il lemma precedente esiste sempre una espressione razionale α tale p che ϕ (α ) = ϕ (α ) = L, sh(α ) = sh(α ) ed α = ∑k=1 βk , con p ≥ 1 e βk è un’espres-

212

6 Espressioni razionali e Star-height

sione del tipo

∗ γ0∗ γ1 γ2∗ · · · γ2n−1 γ2n

dove n ≥ 0 e per ogni j = 0, . . . , 2n, sh(γ j ) ≤ d − 1. Pertanto: L=

p 

Lk

k=1

dove Lk = ϕ (βk ).

 

6.5 Teorema di Dejean-Schützenberger Sia L un linguaggio razionale sull’alfabeto A. Si ha immediatamente che L è finito se e solo se sh(L) = 0. Infatti se L è finito ed L = {ε }, nessuna espressione razionale e tale che L = ϕ (e) può contenere il simbolo (∗ ). Di conseguenza sh(L) = 0. Se L = {ε }, si ha ϕ (0∗ ) = ϕ (1) = {ε } ed anche in questo caso sh(L) = 0. Viceversa se sh(L) = 0 allora esiste un’espressione razionale che descrive L nella quale non appare l’operatore stella, cosicché ne segue che L è finito. Il teorema seguente mostra che la star-height di un linguaggio razionale su di un alfabeto unario è minore o uguale a 1. Teorema 6.5. Sia L un linguaggio razionale su di un alfabeto unario {a}. Allora sh(L) ≤ 1. Dimostrazione. Se L è finito allora sh(L) = 0. Supponiamo dunque che L sia infinito e sia A = ({a}, S, λ , s0 , S ) un automa minimale che accetta L. Poiché A è ridotto e connesso, il grafo di A (senza stati finali) può essere rappresentato dal disegno seguente (a forma di padella) costituito da un insieme di stati T = {s0 , . . . , si−1 } attraverso i quali l’automa transita al più una volta, detti stati transienti, e da un ciclo C = {si , . . . , sn } di lunghezza p = n − i + 1: d  @ @ Rd @ -d - d- p p p p p- d d I @ 6 ppp @ @ d Siano F1 ed F2 i due insiemi finiti: F1 = {ah | s0 ah ∈ T ∩ S },

F2 = {ah | s0 ah ∈ C ∩ S , h < Card(S)}.

Si ha evidentemente che se ah ∈ F2 allora s0 ah+kp ∈ S per ogni k ≥ 0. Il linguaggio L = L(A ) è dunque L = F1 ∪ F2 {a p }∗ , con p ≥ 1. Il linguaggio L può essere descritto da una espressione razionale avente star-height 1 e di conseguenza, essendo L infinito, la star-height di L è 1.  

6.5 Teorema di Dejean-Schützenberger

213

Il Teorema 6.5 non è più vero qualora l’alfabeto dei linguaggi considerato abbia 2 o più lettere. Infatti, risolvendo un problema posto da L. C. Eggan (vedi Note bibliografiche), è stato dimostrato da R. McNaughton, come applicazione di tecniche molto potenti e generali, che nel caso di un alfabeto a due lettere per ogni intero positivo i, esiste un linguaggio razionale di star-height i. Si noti che poiché ogni linguaggio razionale su un alfabeto a due lettere è ancora razionale su di un qualsiasi alfabeto che lo contiene, il precedente risultato vale per un qualsiasi alfabeto di cardinalità maggiore o uguale a due. Una risposta più elementare e diretta al problema posto da Eggan è stata data successivamente da F. Dejean e M. P. Schützenberger mostrando che è possibile costruire, per ogni i ≥ 1 un linguaggio Li descritto da un’espressione razionale αi di star-height i, che non può essere descritto da un’espressione razionale di star-height più piccola di i. Riporteremo essenzialmente la dimostrazione di questo teorema data in (Salomaa 1981). A questo proposito, occorre dare qualche definizione e dimostrare alcuni lemmi preliminari. Le espressioni razionali αi sono definite ricorsivamente nel modo seguente:

α1 = (ab)∗ ,

αi = (a2

i−1

αi−1 b2

i−1

αi−1 )∗ , i ≥ 2.

(6.8)

A titolo di esempio, si ha:

α2 = (a2 (ab)∗ b2 (ab)∗ )∗ , e

α3 = (a4 (a2 (ab)∗ b2 (ab)∗ )∗ b4 (a2 (ab)∗ b2 (ab)∗ )∗ )∗ .

Sia ora Li = ϕ (αi ), per ogni i ≥ 1. Dimostreremo che, per ogni i ≥ 1, sh(Li ) = i. Poiché si verifica facilmente che sh(αi ) = i, si ha sh(Li ) ≤ i. Si tratta dunque di dimostrare che ∀ i ≥ 1, sh(Li ) ≥ i.

(6.9)

Per dimostrare l’Equazione (6.9), introduciamo una famiglia di parole w(i, j), con i, j ≥ 1, definita ricorsivamente nel modo seguente: w(1, j) = ab, j ≥ 1, 2i−1

w(i, j) = a

(w(i − 1, j)) j b2

i−1

(w(i − 1, j)) j , i ≥ 2, j ≥ 1.

La famiglia delle parole soddisfa alcune notevoli proprietà combinatorie che saranno utilizzate nel seguito. Lemma 6.2. Per ogni i, j ≥ 1 valgono le seguenti proprietà: 1) |w(i, j)|a = |w(i, j)|b , 2) Ogni suffisso della parola w(i, j) j contiene un numero di occorrenze della lettera a minore o uguale al numero di occorrenze della lettera b,

214

6 Espressioni razionali e Star-height i

3) Ogni prefisso non vuoto della parola b2 (w(i, j)) j contiene un numero di occorrenze della lettera b superiore al numero delle occorrenze della lettera a. Dimostrazione. 1) La dimostrazione si ottiene per ogni j fissato per induzione sull’intero i. Per i = 1 il risultato è banale. Dalla definizione si ha: |w(i + 1, j)|a = 2i + 2 j|w(i, j)|a e |w(i + 1, j)|b = 2i + 2 j|w(i, j)|b . Per induzione |w(i, j)|a = |w(i, j)|b , cosicché |w(i + 1, j)|a = |w(i + 1, j)|b . 2) La dimostrazione è ottenuta per ogni j fissato per induzione sull’intero i. Per i = 1, (w(1, j)) j = (ab) j e in tal caso ogni suffisso di (ab) j ha un numero di occorrenze di a minore o uguale al numero di occorrenze di b. Supponiamo che la proprietà sia vera fino ad i − 1, con i > 1, e dimostriamo che è vera per i. Sarà sufficiente mostrare che ogni suffisso di w(i, j) ha un numero di occorrenze di a minore o uguale al numero di occorrenze di b. Sia s un suffisso di w(i, j). Se s è un suffisso di (w(i − 1, j)) j allora il risultai−1 to segue dall’ipotesi di induzione. Se s è un suffisso di b2 (w(i − 1, j)) j e |s| > |(w(i−1, j)) j |, allora il risultato segue dal fatto che, come dimostrato precedentemeni−1 te, |w(i − 1, j)|a = |w(i − 1, j)|b . Se s è un suffisso di (w(i − 1, j)) j b2 (w(i − 1, j)) j i−1 ed |s| > |b2 (w(i − 1, j)) j | il risultato si ottiene utilizzando nuovamente l’ipotesi ini−1 duttiva. Infine supponiamo che |s| > |(w(i − 1, j)) j b2 (w(i − 1, j)) j |. Se |s|a > |s|b allora ne seguirebbe |w(i − 1, j)|a > |w(i − 1, j)|b il che è assurdo. Pertanto si ha che per ogni suffisso s di w(i, j), |s|a ≤ |s|b . Di qui segue banalmente che anche ogni suffisso di (w(i, j)) j ha un numero di occorrenze della lettera a minore o uguale al numero di occorrenze della lettera b. i

3) Mostreremo che per ogni i, j ≥ 1, se p è un prefisso non vuoto di b2 (w(i, j)) j allora |p|b > |p|a . La dimostrazione è ottenuta per ogni j fissato per induzione sull’intero i. Per i = 1 si ha b2 ((w(1, j)) j = b2 (ab) j e il risultato è banalmente vero. Supponiamo che la proprietà sia vera fino ad i − 1, con i > 1, e dimostriamo che è vera per i. Se p i i−1 è un prefisso non vuoto di b2 a2 il risultato è banalmente vero. Supponiamo quindi i i−1 |p| > |b2 a2 |. Potremo scrivere i

p = b2 (w(i, j))k w1 con 0 ≤ k ≤ j e w1 ∈ Pre f (w(i, j)). Se |w1 | = 0 oppure |w1 | = |w(i, j)| il risultato è banalmente vero poiché |w(i, j)|a = |w(i, j)|b . Supponiamo dunque che 0 < |w1 | < |w(i, j)|. Si ha allora |p|b = 2i + k|w(i, j)|b + |w1 |b e |p|a = k|w(i, j)|a + |w1 |a , cosicché |p|b −|p|a = 2i +|w1 |b −|w1 |a . Ne segue che l’asserto è provato se facciamo i vedere che per ogni prefisso non vuoto p di b2 w(i, j) si ha |p|b > |p|a . i i−1 Se |p| ≤ |b2 a2 | il risultato, come si è già osservato, è banalmente vero. Se |p| > i i−1 |b2 a2 (w(i − 1, j)) j | allora potremo scrivere p = p q dove q è un prefisso non vuoi−1 to di b2 (w(i − 1, j)) j . Per l’ipotesi induttiva |q|b > |q|a . Essendo |p |b > |p |a | ne

6.5 Teorema di Dejean-Schützenberger i

i−1

i

215

i−1

segue |p|b > |p|a . Supponiamo infine che |b2 a2 | < |p| ≤ |b2 a2 (w(i − 1, j)) j |. i i−1 Potremo scrivere p = b2 a2 w1 con w1 prefisso di (w(i − 1, j)) j . La parola q = i−1 i−1 i−1 i−1 b2 a2 b2 w1 è tale che |q|a = |p|a e |q|b = |p|b . Inoltre la parola q = b2 w1 per l’ipotesi induttiva è tale che |q |b > |q |a , cosicché |p|b = 2i−1 + |q |b > 2i−1 + |q |a = |p|a , il che prova l’asserto.   A titolo di esempio, si ha: w(2, 2) = aaababbbabab con |w(2, 2)|a = |w(2, 2)|b = 6. Inoltre ogni suffisso di (w(2, 2))2 = aaababbbababaaababbbabab ha un numero di a minore o uguale al numero di b mentre ogni prefisso non vuoto di b4 (w(2, 2))2 = bbbbaaababbbababaaababbbabab ha un numero di b strettamente maggiore del numero di a. Sia ora i un intero positivo fissato e definiamo Hi la famiglia dei linguaggi razionali su {a, b} che soddisfano le seguenti due condizioni: per ogni L ∈ Hi , si ha (C1) (C2)

esiste un intero t tale che per ogni w ∈ L, |w|a = |w|b + t; esistono infiniti indici j tali che (w(i, j)) j è fattore di almeno una parola di L.

Faremo ora alcune osservazioni preliminari riguardanti le famiglie Hi . Il seguente lemma mostra che, per ogni i ≥ 1, Li = ϕ (αi ) soddisfa le Condizioni (C1) e (C2). Precisamente si ha: Lemma 6.3. Per ogni i, j ≥ 1, le seguenti condizioni sono soddisfatte: 1) Li soddisfa la Condizione (C1) con t = 0, 2) (w(i, j)) j ∈ Li . Dimostrazione. 1) La dimostrazione è per induzione sull’intero i. Dalla (6.8), per i = 1 si ha L1 = ϕ (α1 ) = {ab}∗ cosicché se w ∈ L1 allora esiste k ≥ 0 tale che w = (ab)k e quindi |w|a = |w|b . Supponiamo per induzione che il risultato è vero per gli interi minori di i e dimostriamolo per l’intero i. Potremo scrivere, sempre per la (6.8): Li = ϕ (αi ) = ({a2

i−1

}Li−1 {b2

i−1

}Li−1 )∗ .

Pertanto se w ∈ Li allora o si ha w = ε ed in tal caso il risultato è dimostrato, oppure esiste un intero k > 0 e parole w1 , w2 , . . . , wk tali che w = w1 · · · wk e per ogni 1≤ j≤k i−1 i−1 w j = a2 xi−1 b2 yi−1 , con xi−1 , yi−1 ∈ Li−1 . Pertanto |w j |a = 2i−1 + |xi−1 |a + |yi−1 |a e |w j |b = 2i−1 + |xi−1 |b + |yi−1 |b . Per l’ipotesi induttiva |xi−1 |a = |xi−1 |b e |yi−1 |a = |yi−1 |b cosicché |w j |a = |w j |b . Poiché |w|a = ∑kj=1 |w j |a = ∑kj=1 |w j |b = |w|b la Condizione 1) è provata.

216

6 Espressioni razionali e Star-height

2) La dimostrazione è per induzione sull’intero i. Per i = 1, L1 = ϕ (α1 ) = {ab}∗ e w(1, j) = ab cosicché (w(1, j)) j = (ab) j ∈ L1 . Supponiamo che per i > 1, (w(i − 1, j)) j ∈ Li−1 e mostriamo che (w(i, j)) j ∈ Li . Ricordiamo che w(i, j) = a2

i−1

(w(i − 1, j)) j b2

i−1

(w(i − 1, j)) j .

Poiché per l’ipotesi induttiva w(i − 1, j) j ∈ Li−1 , ne segue che i−1

}Li−1 {b2

i−1

}Li−1 )∗ ⊆ Li , il che conclude la dimostra 

w(i, j) ∈ {a2 Pertanto (w(i, j)) j ∈ ({a2 zione.

i−1

}Li−1 {b2

i−1

}Li−1 .

In base al lemma precedente per ogni i ≥ 1, Li ∈ Hi e dunque la famiglia Hi è non vuota. Sia ora di = min{sh(L) | L ∈ Hi } e definiamo la famiglia dei linguaggi Ki = {L ∈ Hi | sh(L) = di }. Poiché sh(Li ) ≤ i, e Li ∈ Hi si ha: ∀ i ≥ 1,

di ≤ sh(Li ) ≤ i.

(6.10)

Osserviamo che ogni linguaggio che soddisfi la Condizione (C2) è ovviamente infinito e di conseguenza la sua star-height è maggiore o uguale a 1. Ciò implica, in particolare, d1 ≥ 1 e, per l’Equazione (6.10), si ha dunque d1 = 1.

(6.11)

Sia ora i un intero positivo fissato > 1 e sia L un linguaggio della famiglia Ki . Poiché sh(L) = di , per il Corollario 6.1, L è unione finita di linguaggi ognuno dei quali è descritto da un’espressione razionale della forma: ∗ γ0∗ γ1 γ2∗ · · · γ2n−1 γ2n ,

(6.12)

dove n ≥ 0 e per ogni j = 0, . . . , 2n, deve aversi: sh(γ j ) ≤ di − 1.

(6.13)

Sia ora β una delle espressioni (6.12) e denotiamo con Lβ il linguaggio razionale descritto da β , cioè Lβ = ϕ (β ), dove ϕ è il morfismo di valutazione. Ovviamente Lβ soddisfa la Condizione (C1) poiché Lβ ⊆ L. Inoltre, possiamo scegliere β in modo tale che Lβ soddisfi la Condizione (C2). Infatti, poiché il linguaggio L soddisfa tale condizione e poiché L è unione finita di linguaggi descritti da espressioni razionali del tipo (6.12), utilizzando il principio

6.5 Teorema di Dejean-Schützenberger

217

della piccionaia, si ricava che almeno uno di questi linguaggi deve soddisfare detta condizione. Sia dunque Lβ il linguaggio razionale descritto da una espressione razionale β del tipo (6.12) che oltre alla condizione (C1) verifica la condizione (C2). La dimostrazione del teorema di Dejean e Schützenberger si basa sui seguenti tre lemmi relativi alla espressione ∗ β = γ0∗ γ1 γ2∗ · · · γ2n−1 γ2n (6.14) che descrive il linguaggio Lβ . Lemma 6.4. Sia γk , con k = 0, . . . , 2n, una espressione razionale che appare nella espressione (6.14). Per ogni k = 0, . . . , 2n, il linguaggio Mk = ϕ (γk ) soddisfa la Condizione (C1) e non soddisfa la Condizione (C2). Inoltre per ogni k = 0, . . . , n i ∗ ed M soddisfano la Condizione (C1) con t = 0. linguaggi M2k 2k Dimostrazione. Si verifica facilmente che Mk soddisfa la Condizione (C1). Ciò segue dal fatto che il linguaggio Lβ soddisfa la Condizione (C1) e, dalla definizione dell’espressione β , esistono parole u e v tali che, per ogni w ∈ Mk uwv ∈ Lβ , cosicché |w|a = |w|b + t con t = |uv|b − |uv|a . Per contraddizione, supponiamo che, per un fissato intero k, con k = 0, . . . , 2n, il linguaggio Mk soddisfi la Condizione (C2). Il linguaggio Mk soddisfa quindi le Condizioni (C1) e (C2) e pertanto appartiene alla famiglia Hi . D’altra parte, la star height di Mk è strettamente inferiore a quella di L, e ciò contraddice il fatto che L appartenga alla famiglia Ki . Poiché Lβ soddisfa la Condizione (C1), usando lo stesso argomento combina∗ soddisfa la torio usato precedententemente segue facilmente che il linguaggio M2k ∗ Condizione (C1). Inoltre, poiché la parola vuota appartiene a M2k , questo linguaggio ∗ , ne segue soddisfa la Condizione (C1) con t = 0; infatti in tal caso essendo uv ∈ M2k ∗ |uv|b = |uv|a . Poiché M2k ⊆ M2k , ne segue allora che il linguaggio M2k soddisfa la Condizione (C1) con t = 0.   ∗ = ϕ (γ ∗ ) Lemma 6.5. Esiste un intero k con 0 ≤ k ≤ n tale che il linguaggio M2k 2k soddisfa la Condizione (C2).

Dimostrazione. Supponiamo, per contraddizione, che l’enunciato del lemma sia falso. Per il Lemma 6.4, nessuno dei linguaggi descritti dalle espressioni razionali ∗ γ0∗ , γ1 , γ2∗ , . . . , γ2n−1 , γ2n

(6.15)

soddisfa la Condizione (C2). Poiché il numero di questi linguaggi è finito, esisterà un intero j0 tale che, per ogni j > j0 , la parola (w(i, j)) j non è fattore di nessuna delle parole dei linguaggi descritti dalle espressioni (6.15). Poiché Rat(A∗ ) = Ric(A∗ ), esisterà un automa finito deterministico e completo A tale che Lβ = L(A ). Possiamo supporre che A sia un automa minimale per Lβ . Sia j1 il numero degli stati di A cioè j1 = ind(NLβ ). Poiché il linguaggio Lβ soddisfa la Condizione (C2), esisterà un intero j2 con j2 > max{ j0 , j1 },

(6.16)

218

6 Espressioni razionali e Star-height

tale che la parola (w(i, j2 )) j2 è fattore di una parola di Lβ . Di conseguenza, esisteranno parole w1 e w2 tali che w1 (w(i, j2 )) j2 w2 ∈ Lβ . Per la (6.16), essendo j2 maggiore del numero degli stati ind(NLβ ) dell’automa A , in base alla proprietà di iterazione a blocchi espressa dal Teorema 4.5 del Capitolo 4 esisteranno interi m1 e m2 con 1 ≤ m1 < m2 ≤ j2 tali che w1 (w(i, j2 ))m1 NLβ w1 (w(i, j2 ))m2 , cosicché, ponendo m = m2 − m1 , segue che per ogni t ≥ 0 w1 (w(i, j2 )) j2 w2 ∈ Lβ =⇒ w1 (w(i, j2 )) j2 +tm w2 ∈ Lβ .

(6.17)

D’altra parte, per la definizione di j0 e di Lβ nessuna delle parole della forma (w(i, j2 )) j , j ≥ (2n + 1) j2 ,

(6.18)

è fattore di una parola del linguaggio Lβ . Infatti, denotando (w(i, j2 )) j2 semplicemente con u, supponiamo che esistano λ , μ ∈ A∗ tali che λ u2n+1 μ ∈ Lβ . Ciò comporta ∗ ), k = 0, . . . , n, e f che esistono parole f0 , . . . , f2n con f2k ∈ ϕ (γ2k 2k+1 ∈ ϕ (γ2k+1 ), k = 0, . . . , n − 1, tali che: λ u2n+1 μ = f0 f1 · · · f2n . Mostriamo allora che esiste un intero i, i = 0, . . . , 2n, tale che u è fattore di fi . Infatti se così non fosse ogni linea di suddivisione, in numero di 2n, tra i fattori del membro di destra della precedente equazione dovrebbero passare attraverso un punto interno di ogni occorrenza, in numero di 2n + 1, del fattore u del membro a sinistra della precedente equazione il che è assurdo. Di qui segue che per ogni j ≥ (2n + 1) j2 , (w(i, j2 )) j non è fattore di una parola del linguaggio Lβ . Questa conclusione contraddice però il fatto che tutte le parole nella (6.17) appartengono al linguaggio Lβ . La dimostrazione del lemma è pertanto conclusa.   Lemma 6.6. Esiste un intero k con 0 ≤ k ≤ n tale che il linguaggio M2k = ϕ (γ2k ) soddisfa la condizione seguente: (C3)

Esistono infiniti indici j tali che (w(i − 1, j)) j è fattore di una parola di M2k .

Dimostrazione. È utile anzitutto osservare che la Condizione (C3) è ottenuta dalla Condizione (C2) sostituendo l’intero i − 1 ad i. Vogliamo dimostrare che l’intero k definito nell’enunciato del Lemma 6.5 soddisfa anche il Lemma 6.6. Per contraddizione, supponiamo che così non sia: esisterà dunque un intero j0 tale che, per ogni j > j0 , la parola (w(i − 1, j)) j non sia fattore di nessuna parola di M2k . Per il Lem∗ = ϕ (γ ∗ ) soddisfa la Condizione (C2). Di conseguenza, ma 6.5, il linguaggio M2k 2k esisterà un intero j1 > j0 tale che la parola (w(i, j1 )) j1 = (a2

i−1

(w(i − 1, j1 )) j1 b2

i−1

(w(i − 1, j1 )) j1 ) j1 ,

6.5 Teorema di Dejean-Schützenberger

219

∗ . Quindi anche la parola w(i, j ) è fattore di una parola è un fattore di una parola di M2k 1 ∗ di M2k . Ciò implica l’esistenza di ν parole w1 , . . . , wν di M2k tali che la parola

w(i, j1 ) = a2

i−1

(w(i − 1, j1 )) j1 b2

i−1

(w(i − 1, j1 )) j1 ,

(6.19)

è fattore della parola w1 · · · wν . In base al Lemma 6.4 il linguaggio M2k soddisfa la Condizione (C1) con t = 0 cosicché in ogni parola della sequenza w1 , . . . , wν ,

(6.20)

il numero di occorrenze della lettera a eguaglia quello della lettera b. È opportuno ricordare che la parola (6.19) è fattore di w1 · · · wν . Sia p, con p = 1, . . . , ν − 1, l’intero tale che la prima occorrenza della parola (w(i − 1, j1 )) j1 ,

(6.21)

nella parola (6.19) inizi in w p . Sia poi q l’intero tale che la prima occorrenza della parola (6.21) nella parola (6.19) termini in wq . Osserviamo che q > p poiché se p = q allora la parola (6.21) sarebbe fattore di w p e ciò è escluso per la definizione di j0 e poiché j1 > j0 . Di conseguenza, possiamo scrivere wq = xy,

(6.22) i−1

dove x è un suffisso proprio della parola (6.21) e y è prefisso di b2 (w(i − 1, j1 )) j1 . Poiché |wq |a = |wq |b , le Condizioni 2) e 3) del Lemma 6.2 implicano che la parola y della (6.22) è la parola vuota. Infatti, altrimenti, si avrebbe |x|a + |y|a = |x|b + |y|b e quindi 0 < |y|b − |y|a = |x|a − |x|b ≤ 0 una contraddizione. Pertanto la parola b2

i−1

(w(i − 1, j1 )) j1

(6.23)

è prefisso della parola wq+1 · · · wν . Per la Condizione 3) del Lemma 6.2, poiché |wq+1 |a = |wq+1 |b , ciò è possibile solo se la parola (6.23) è prefisso di wq+1 . Ne segue dunque che la parola (w(i − 1, j1 )) j1 , con j1 > j0 , è fattore di una parola di M2k e ciò contraddice la scelta di j0 . Tale contraddizione nasce dall’aver supposto che la tesi dell’enunciato del lemma fosse falsa. La dimostrazione del lemma è dunque completata.   Siamo ora in grado di dimostrare il risultato annunciato. Teorema 6.6 (Dejean, Schützenberger). Sia A un alfabeto con almeno 2 lettere. Per ogni intero i ≥ 1, esiste un linguaggio L ∈ Rat(A∗ ) tale che sh(L) = i. Dimostrazione. Come si è prima osservato, è sufficiente dimostrare l’Equazione (6.9). Per il Lemma 6.6, esiste un intero k con 0 ≤ k ≤ n tale che il linguaggio M2k = ϕ (γ2k ) soddisfa la Condizione (C3). Poiché tale condizione è ottenuta dalla Condizione (C2) sostituendo l’intero i − 1 ad i e poiché, per il Lemma 6.4, M2k soddisfa la (C1), ne

220

6 Espressioni razionali e Star-height

segue che M2k ∈ Hi−1 e pertanto si ha: di−1 ≤ sh(M2k ).

(6.24)

D’altra parte, per la (6.13), il linguaggio M2k è tale che sh(M2k ) ≤ sh(γ2k ) ≤ di − 1.

(6.25)

Data l’arbitrarietà di i, la (6.24) e la (6.25) implicano di ≥ 1 + di−1 ,

i ≥ 2.

(6.26)

Dalla (6.11) e la (6.26) si ha: di ≥ i,

i ≥ 1.

L’Equazione (6.9) segue allora immediatamente dalla (6.10) e la (6.27).

(6.27)  

Un problema naturale che ci si può porre è se esiste un algoritmo che permette di calcolare la star height dei linguaggi razionali. Questo problema, formulato da Eggan nel 1963, è stato considerato uno dei problemi più difficili della teoria degli automi. Una risposta positiva è stata data da K. Hashiguchi nel 1988 (vedi Note bibliografiche): Teorema 6.7 (Hashiguchi). La star-height di un linguaggio razionale è effettivamente calcolabile.

6.6 Star-height generalizzata In modo simile a quanto fatto nel caso delle espressioni razionali ristrette introduciamo un operatore, detto star-height estesa o generalizzata (in Italiano profondità di stella generalizzata), che ad ogni espressione razionale estesa su A, associa un intero non negativo detto star-height della espressione. Più precisamente sia shg : ERG(A∗ ) −→ N l’applicazione definita come shg(0) = shg(1) = 0, shg(ai ) = 0, per ogni i = 1, ..., n, e, per ogni e, f ∈ ERG(A∗ ), shg(e + f ) = shg(e f ) = shg(e  g) = max{sh(e), sh( f )}, shg( f¯) = shg( f ), shg(e∗ ) = shg(e) + 1. Dalla definizione si ha che la star-height generalizzata di una espressione razionale estesa conta il massimo numero di volte che l’operazione stella occorre, in modo ‘annidato’, nella espressione stessa. Sia L un linguaggio razionale su A. Si definisce star-height generalizzata di L e si denota con shg(L), il minimo valore della star-height di una qualsiasi espressione

6.7 Linguaggi senza stella

221

razionale generalizzata su A la cui valutazione è L. Più precisamente, shg(L) = min{shg(e) | e ∈ ERG(A∗ ), ϕ (e) = L}. Poiché ER(A∗ ) ⊆ ERG(A∗ ) si ha evidentemente che shg(L) ≤ sh(L). Un linguaggio L è detto star-free o senza stella se shg(L) = 0. Ciò equivale a dire che L può sempre ottenersi dalle parti finite di A∗ applicando un numero finito di volte le operazioni di unione, prodotto e complemento. Ad esempio i linguaggi A∗ e A∗ aaA∗ sono star-free. Infatti, denotando con A l’espressione razionale A = a1 + a2 + · · ·+ an , si ha: . . ¯ ¯ A∗ = 0¯ e A∗ aaA∗ = 0aa 0. Un esempio meno banale è il linguaggio L = (ab)∗ sull’alfabeto {a, b}. Esso è starfree. Infatti L può essere descritto dalla espressione razionale estesa: ¯ ∩ 0(a ¯ ¯ 2 + b2 )0. 1 + (a0¯  0b) In generale ogni linguaggio strettamente locale (vedi Cap. 4, Sez. 4.11 e Sez. 6.9 di questo capitolo) è star-free. Infatti un linguaggio L è strettamente locale se L = F ∪ (UA∗ ∩ A∗V ) \ A∗WA∗ , dove F,U,V e W sono insiemi finiti. Poiché A∗ = 0/ c , il linguaggio L può essere quindi descritto da una espressione razionale senza stella cosicché L è star free. Poiché un linguaggio star-free è descritto da una espressione razionale estesa in cui non vi figura l’operazione stella, esso è certamente razionale. Tuttavia, come vedremo nel seguito, esistono linguaggi razionali che non sono star-free. La classe dei linguaggi star-free sull’alfabeto A si denota SF(A∗ ).

6.7 Linguaggi senza stella In questa sezione, dimostreremo un risultato fondamentale dovuto a Schützenberger (cf. Teor. 6.8 e 6.9) che fornisce una caratterizzazione dei linguaggi star-free in termini di linguaggi razionali aperiodici e della struttura del loro monoide sintattico. Nella Sezione 6.7.1 introduciamo i linguaggi aperiodici che possono essere caratterizzati come i linguaggi il cui monoide sintattico è un monoide aperiodico. La Sezione 6.7.2 è dedicata allo studio dei monoidi aperiodici con particolare riferimento alla loro struttura e alle proprietà di semplificabilità e di località. Infine nella Sezione 6.7.3 si dimostra il teorema di Schützenberger che collega i monoidi finiti aperiodici e i linguaggi senza stella.

6.7.1 Linguaggi aperiodici Introduciamo una classe di linguaggi su A di grande interesse che chiameremo aperiodici. Un linguaggio L su A si dice aperiodico se esiste un intero k ≥ 0 tale che la

222

6 Espressioni razionali e Star-height

seguente condizione è soddisfatta: ∀n ≥ k e ∀ f ∈ A∗ ,

f n ≡L f n+1 ,

dove ≡L è la congruenza sintattica di L. Il più piccolo intero k per il quale la predetta condizione è soddisfatta è detto indice di L e sarà denotato con i(L). La classe dei linguaggi aperiodici su A si denoterà Ap(A∗ ). Come si verifica facilmente il linguaggio razionale L = a∗ b sull’alfabeto A = {a, b} è aperiodico (in tal caso i(L) = 2). Invece il linguaggio razionale L = (a2 )∗ b non è aperiodico. Infatti per ogni k ≥ 1 si ha che a2k b ∈ L e a2k+1 b ∈ L, cosicché a2k ≡L a2k+1 . Osserviamo che esistono linguaggi aperiodici che non sono razionali. Consideriamo ad esempio il linguaggio L di tutte le parole senza quadrati su un alfabeto a tre lettere (vedi Cap. 4, Esempio 4.11). Il linguaggio L è aperiodico di indice 2. Infatti, per ogni k ≥ 2 ed f ∈ A∗ si ha f 2 ≡L f 3 . Tuttavia, come si è visto quale applicazione del lemma di iterazione, il linguaggio L non è razionale.

6.7.2 Monoidi aperiodici Un monoide M è aperiodico se esiste un intero positivo k tale che per ogni m ∈ M si ha: mn = mn+1 (6.28) per ogni n ≥ k. Il piu piccolo valore di k per il quale la precedente condizione è soddisfatta si dice indice di M e sarà denotato con i(M). La connessione tra i linguaggi aperiodici e i monoidi aperiodici è data dal lemma seguente: Lemma 6.7. Sia L un linguaggio su A. Le seguenti condizioni sono equivalenti: 1) L è aperiodico, 2) Il monoide sintattico di L è aperiodico, 3) Esiste un morfismo ϕ : A∗ → M, dove M è un monoide aperiodico tale che L = Lϕϕ −1 . Dimostrazione. 1) ⇒ 2). Sia L un linguaggio aperiodico di indice i(L). Mostriamo che per ogni n ≥ i(L) ed m ∈ M(L) si ha che la (6.28) è soddisfatta. Sia σ : A∗ → M(L) il morfismo sintattico ed f ∈ A∗ tale che σ ( f ) = m. Poiché per ogni n ≥ i(L) si ha f n ≡L f n+1 ne segue σ ( f n ) = mn = mn+1 = σ ( f n+1 ). 2) ⇒ 3). Questa implicazione è banale poiché L satura la conguenza sintattica e per ipotesi M(L) è aperiodico. 3) ⇒ 1). Sia i(M) l’indice del monoide aperiodico M. Per ogni f ∈ A∗ ed n ≥ i(M) si ha: ϕ ( f n ) = (ϕ ( f ))n = (ϕ ( f ))n+1 = ϕ ( f n+1 ). Sia ϑ = ϕϕ −1 . Potremo quindi scrivere che per ogni n ≥ i(M), f n ϑ f n+1 . Poiché per

6.7 Linguaggi senza stella

223

ipotesi L satura ϑ si ha che ϑ ⊆ ≡L (cf. Cap. 1, Prop. 1.10) cosicché f n ≡L f n+1 , il che mostra che L ∈ Ap(A∗ ).   Dimostreremo ora alcuni lemmi relativi ai monoidi aperiodici che saranno molto utili nel seguito. Un monoide M si dice semplificabile se verifica la seguente condizione: ∀ p, q, r ∈ M,

p = qpr =⇒ p = qp = pr.

Si noti che un monoide libero è semplificabile. Lemma 6.8. Un monoide aperiodico è semplificabile. Dimostrazione. Sia i(M) l’indice di M e p, q, r ∈ M tali che p = qpr. Quest’ultima relazione comporta p = qm prm per ogni m ≥ 0. Se m ≥ i(M) si ha qm = qm+1 e quindi p = qm prm = qm+1 prm = qp. In modo simile si mostra che p = pr.

 

Un monoide si dice locale se verifica la seguente proprietà: per ogni m ∈ M {m} = (mM ∩ Mm) \ Jm , dove Jm = {r ∈ M | m ∈ MrM}. Si noti che Jm , che denoteremo nel seguito semplicemente J, è un ideale bilatere di M costituito dagli elementi di M che non sono fattori di m. Lemma 6.9. Un monoide semplificabile è locale. Dimostrazione. Poniamo per semplicità K = (mM ∩ Mm) \ J e mostriamo anzitutto che {m} ⊆ K. Questa inclusione è banale poiché certamente m ∈ (mM ∩ Mm) e m ∈ J. Dimostriamo dunque l’inclusione inversa. Sia n ∈ K. Poiché n ∈ (mM ∩ Mm) possiamo scrivere: n = mp = qm, p, q ∈ M. Inoltre, poiché m ∈ J si ha m ∈ MnM, cosicché esistono u.v ∈ M tali che m = unv. Dalle precedenti equazioni segue m = uqmv. Poiché M è semplificabile si ha m = uqm = un = ump. Applicando nuovamente la proprietà di semplificabilità ne segue m = mp = n, il che mostra l’asserto.   Dai Lemmi 6.8 e 6.9 segue: Corollario 6.2. Un monoide aperiodico è locale.

224

6 Espressioni razionali e Star-height

Lemma 6.10. Le H -classi di un monoide semplificabile sono banali. Dimostrazione. Sia M un monoide semplificabile e m, n ∈ M tali che m H n. Ciò comporta m R n e m L n cosicché esistono x, y, z, w ∈ M per i quali: n = mz, m = nw e n = xm, m = yn. Dalla terza e dalla seconda di queste relazioni si ha n = xm = xnw. Poiché M è semplificabile ne segue n = nw = m, il che prova l’asserto.

 

Dai Lemmi 6.8 e 6.10 segue immediatamente: Corollario 6.3. Le H -classi di un monoide aperiodico sono banali. Lemma 6.11. Se M un monoide finito tale che tutti i suoi sottogruppi sono banali allora M è aperiodico. Dimostrazione. Sia m ∈ M. Consideriamo il semigruppo monogenico m generato da m. Come si è visto nel Capitolo 1, essendo M finito, se j denota il più piccolo intero positivo tale che esiste i < j per cui mi = m j allora m si può decomporre come: m = {m, m2 , . . . , mi−1 } ∪ Hm , dove Hm = {mi , . . . , m j−1 } è un gruppo ciclico di ordine j − i. Poiché tutti i sottogruppi di M sono banali deve aversi: mi = mn , per tutti n ≥ i. Poiché l’intero i ≤ Card(M) si ha allora che per ogni m ∈ M e n ≥ Card(M) mn = mn+1 il che prova che M è aperiodico.

 

Dai precedenti lemmi segue la seguente: Proposizione 6.1. Sia M un monoide finito. Sono equivalenti le condizioni seguenti: 1) M è aperiodico, 2) I sottogruppi di M sono banali, 3) M è semplificabile. Dimostrazione. L’implicazione 1) ⇒ 3) segue dal Lemma 6.8; 3) ⇒ 2) è una conseguenza del Lemma 6.10 e del Teorema 2.2 del Capitolo 2. Infine, l’implicazione 2) ⇒ 1) segue dal Lemma 6.11.  

6.7 Linguaggi senza stella

225

Sia ϕ : A∗ −→ M un morfismo di A∗ in un monoide aperiodico M e sia m ∈ M con m = 1. Si considerino gli insiemi U,V e W definiti come segue. Sia U l’unione di tutti gli insiemi della forma:

ϕ −1 (n)a,

(6.29)

con n ∈ M, a ∈ A tali che nϕ (a)M = mM e n ∈ / mM. Sia V l’unione di tutti gli insiemi della forma: aϕ −1 (n),

(6.30)

dove n ∈ M, a ∈ A sono tali che M ϕ (a)n = Mm e n ∈ / Mm. Infine, sia W l’insieme di A∗ dato dalla unione dell’insieme: {a ∈ A | m ∈ / M ϕ (a)M},

(6.31)

e di tutti gli insiemi della forma: aϕ −1 (n)b,

(6.32)

dove n ∈ M, a, b ∈ A sono tali che m ∈ M ϕ (a)nM ∩ Mnϕ (b)M, e m ∈ / M ϕ (a)nϕ (b)M. Lemma 6.12. Sia M un monoide aperiodico e ϕ : A∗ → M un morfismo. Per ogni m ∈ M \ {1}, si ha: ϕ −1 (m) = (UA∗ ∩ A∗V ) \ A∗WA∗ , con gli insiemi U,V e W precedentemente definiti. Dimostrazione. Per semplicità si ponga Y = (UA∗ ∩ A∗V ) \ A∗WA∗ . Cominciamo con il dimostrare l’inclusione ϕ −1 (m) ⊆ Y . Sia y ∈ ϕ −1 (m) e mostriamo anzitutto che y ∈ UA∗ . Sia dunque u il prefisso di lunghezza minima della parola y tale che ϕ (u)M = ϕ (y)M = mM. Supponiamo che u = ε . Si ha M = mM e dunque 1 = mp, p ∈ M. Poiché M è aperiodico, per il Lemma 6.8, è semplificabile cosicché da quest’ultima equazione segue che m = 1 e ciò è escluso. Ne segue dunque che |u| > 0 e u = ra, con r ∈ A∗ e a ∈ A. Abbiamo dunque mM = ϕ (r)ϕ (a)M.

(6.33)

ϕ (r) ∈ / mM.

(6.34)

Osserviamo ora che Infatti, se così non fosse, dall’Equazione (6.33), si deriverebbe facilmente mM = ϕ (r)M. D’altra parte, poiché r è prefisso di y e poiché |r| < |u|, si otterrebbe una contraddizione relativa alla scelta di u. Ne segue che ϕ (r) ∈ / mM. Dall’Equazioni (6.33) e (6.34) si ha allora ra = u ∈ U. Poiché u = ra ed u è prefisso di y si ha infine y ∈ UA∗ . In modo simmetrico, si dimostra che y ∈ A∗V . Mostriamo infine che y ∈ / A∗WA∗ . Per contraddizione, sia y ∈ A∗WA∗ cosicché y = uwv, con w ∈ W, u, v ∈ A∗ . Possono presentarsi due casi. Sia w = a ∈ A. In questo caso, dalla definizione di W , si ha m ∈ / M ϕ (a)M e ciò contraddice il fatto che

226

6 Espressioni razionali e Star-height

m = ϕ (y) = ϕ (u)ϕ (a)ϕ (v). Supponiamo allora w = atb, a, b ∈ A,t ∈ A∗ . Come prima, dalla definizione di W, si ha m ∈ / M ϕ (a)ϕ (t)ϕ (b)M. D’altra parte, m = ϕ (uwv) = ϕ (u)ϕ (a)ϕ (t)ϕ (b)ϕ (v), il che comporta m ∈ M ϕ (a)ϕ (t)ϕ (b)M e ciò è una contraddizione. Si è dunque provato che ϕ −1 (m) ⊆ Y . Dimostriamo ora Y ⊆ ϕ −1 (m). A tal fine, mostriamo che, per ogni y ∈ Y si ha ϕ (y) = m. Prima di tutto, dimostriamo che ϕ (y) ∈ mM. Per ipotesi y ∈ UA∗ . Da ciò segue che y = uv con u ∈ U, v ∈ A∗ . Poiché u ∈ U, si ha u = wa con w ∈ A∗ e a ∈ A e ϕ (wa)M = mM; da ciò segue che ϕ (u) = mn , n ∈ M. Di conseguenza si ha ϕ (y) = ϕ (u)ϕ (v) = mn ϕ (v) e quindi ϕ (y) ∈ mM. Come conseguenza del fatto che y ∈ A∗V , in modo simmetrico, si dimostra che ϕ (y) ∈ Mm. Mostriamo infine che m ∈ M ϕ (y)M. Per contraddizione, supponiamo che m ∈ / M ϕ (y)M. Sia w un fattore di y di lunghezza minima tale che m ∈ / M ϕ (w)M. Si ha pertanto y = uwv, con u, v ∈ A∗ . Ovviamente w = ε poiché m ∈ M. Inoltre, come conseguenza del fatto che y ∈ / A∗WA∗ si ha |w| > 1. Possiamo allora scrivere w = arb ∗ con a, b ∈ A, r ∈ A . Si considerino ora le parole ar e rb. Poiché entrambe sono fattori di y di lunghezza inferiore a quella di w si ha m ∈ M ϕ (a)ϕ (r)M ∩ M ϕ (r)ϕ (b)M. Ne segue dunque che w ∈ W e poiché y = uwv si ha y ∈ A∗WA∗ contraddicendo così l’assunto iniziale. Abbiamo dunque dimostrato che m ∈ M ϕ (y)M. Si è dunque provato che

ϕ (y) ∈ (mM ∩ Mm) \ J dove J = {r ∈ M | m ∈ / MrM}. Dal fatto che M è un monoide aperiodico, come conseguenza dei Lemmi 6.8 e 6.9, M è locale cosicché ϕ (y) = m, ovvero y ∈ ϕ −1 (m). La dimostrazione è dunque completa.  

6.7.3 Teorema di Schützenberger La seguente proposizione, che collega i monoidi finiti aperiodici con i linguaggi starfree, gioca un ruolo chiave per la dimostrazione del teorema di Schützenberger. Proposizione 6.2. Sia ϕ : A∗ → M un morfismo dove M è un monoide finito ed aperiodico. Allora, per ogni m ∈ M, il linguaggio ϕ −1 (m) è star-free. Dimostrazione. Per ogni m ∈ M si ponga r(m) = Card(MmM). Per ogni m ∈ M, si ha r(m) ≤ Card(M). Inoltre, è facile verificare che r(m) = Card(M) se e solo se m = 1. Infatti se m = 1 allora MmM = M e dunque r(m) = Card(M). Sia ora r(m) = Card(M). Poiché MmM ⊆ M ed M è finito si ha MmM = M cosicché esistono p, q ∈ M tali che 1 = pmq. Poiché M è aperiodico, per il Lemma 6.8, è semplificabile, cosicché dalla precedente equazione si ha 1 = pm e da quest’ultima, applicando ancora il Lemma 6.8, si ha infine m = 1.

6.7 Linguaggi senza stella

227

La dimostrazione dell’enunciato è svolta per induzione discendente sul parametro r(m). Verifichiamo ora la base dell’induzione. Sia r(m) = Card(M). Allora m = 1. Dimostriamo ora che ϕ −1 (1) = A∗ \ A∗WA∗ , (6.35) con W = {a ∈ A | ϕ (a) = 1}. Sia x ∈ A∗ \ A∗WA∗ . Se x = ε ne segue ovviamente x ∈ ϕ −1 (1). Supponiamo ora x = ε cosicché x = a1 · · · ak , k ≥ 1, ai ∈ A, 1 ≤ i ≤ k. Poiché x ∈ / A∗WA∗ , per ogni i = 1, . . . , k, si ha ϕ (ai ) = 1. Da ciò segue ϕ (x) = 1. Sia ora x ∈ ϕ −1 (1). Dimostriamo che x ∈ / A∗WA∗ . Se x = ε , l’asserto è ovvio. Sia allora x = a1 · · · ak , k ≥ 1, ai ∈ A, 1 ≤ i ≤ k. Dimostriamo ora che, per ogni i = 1, . . . , k, ϕ (ai ) = 1. Poiché 1 = ϕ (x) = ϕ (a1 · · · ak ) = ϕ (a1 ) · 1 · ϕ (a2 · · · ak ), per il Lemma 6.8, si ha 1 = ϕ (a1 ) = ϕ (a2 · · · ak ). Reiterando l’applicazione del Lemma 6.8 a partire dall’equazione 1 = ϕ (a2 · · · ak ), si ottiene ϕ (ai ) = 1, i = 1, . . . , k da cui segue x ∈ / A∗WA∗ . L’Equazione (6.35) è dunque provata. Poiché W è un insieme finito, ne segue immediatamente che il linguaggio ϕ −1 (1) è star-free. La base dell’induzione è pertanto provata. Dimostriamo ora il passo induttivo. Sia m ∈ M tale che r(m) < Card(M) e dimostriamo che ϕ −1 (m) è star-free. Osserviamo intanto che m = 1. Per il Lemma 6.12, si ha ϕ −1 (m) = (UA∗ ∩ A∗V ) \ A∗WA∗ , (6.36) dove gli insiemi U,V e W sono definiti dalle Equazioni (6.29), (6.30) e (6.31) e (6.32) rispettivamente. Per completare la dimostrazione, in virtù dell’equazione precedente, è sufficiente dimostrare che gli insiemi U,V e W sono star-free. Mostriamo ora che U è star-free. Per definizione l’insieme U è unione finita di insiemi di parole della forma: ϕ −1 (n)a, (6.37) dove a ∈ A, n ∈ M, con n ∈ / mM e nϕ (a)M = mM. Sarà allora sufficiente provare che ognuno degli insiemi (6.37) è star-free. Poiché nϕ (a)M = mM, ne segue: MmM ⊆ MnM.

(6.38)

Da ciò segue r(m) ≤ r(n). Dimostriamo ora che r(m) < r(n). Per contraddizione, supponiamo che r(m) = r(n). Poiché M è finito, dall’Equazione (6.38) segue che MmM = MnM e dunque n = umv, u, v ∈ M. D’altra parte, poiché m ∈ nϕ (a)M, si ha m = np, p ∈ M e dunque n = unpv. Per il Lemma 6.8 applicato all’equazione precedente, si ottiene n = npv e quindi n = mv. Ne segue n ∈ mM e ciò contraddice la (6.37). Ciò prova r(m) < r(n). Poiché r(m) < r(n), applicando l’ipotesi induttiva all’insieme ϕ −1 (n) si ha che tale insieme è star-free e tale risulta essere l’insieme ϕ −1 (n)a. Si è dunque provato che U è star-free. In modo del tutto simmetrico, si dimostra che V è star-free. Dimostriamo infine che W è star-free. A tale fine, in base alla definizione dell’insieme W , poiché l’insieme definito dalla (6.31) è finito e quindi star-free, sarà sufficiente provare che ogni

228

6 Espressioni razionali e Star-height

insieme di parole della forma:

aϕ −1 (n)b,

dove a, b ∈ A, n ∈ M, con m ∈ M ϕ (a)nM ∩ Mnϕ (b)M, m ∈ / M ϕ (a)nϕ (b)M, è starfree. Dal fatto che m ∈ M ϕ (a)nM, si ha MmM ⊆ MnM.

(6.39)

Da ciò segue r(m) ≤ r(n). Dimostriamo ora che r(m) < r(n). Per contraddizione, supponiamo che r(m) = r(n). Poiché M è finito, dall’Equazione (6.39) segue che MmM = MnM e dunque n = umv, u, v ∈ M. Poiché m ∈ M ϕ (a)nM si ha m = rϕ (a)ns, r, s ∈ M. Similmente dal fatto che m ∈ Mnϕ (b)M si ha m = pnϕ (b)t, p,t ∈ M. Possiamo dunque scrivere: n = umv = urϕ (a)nsv. Applicando il Lemma 6.8 all’equazione precedente, si ottiene n = urϕ (a)n da cui segue: m = pnϕ (b)t = purϕ (a)nϕ (b)t, e dunque m ∈ M ϕ (a)nϕ (b)M. Ciò è una contraddizione e dunque si ha r(m) < r(n). Poiché r(m) < r(n), applicando l’ipotesi induttiva all’insieme ϕ −1 (n) si ha che tale insieme è star-free e tale risulta essere l’insieme aϕ −1 (n)b. La dimostrazione è pertanto conclusa.   Come conseguenza della Proposizione 6.2 si ottiene il seguente: Teorema 6.8 (Schützenberger). Sia L un linguaggio razionale su di un alfabeto A. Se L ∈ Ap(A∗ ) allora L ∈ SF(A∗ ). Dimostrazione. Sia ϕ : A∗ → M il morfismo sintattico di A∗ nel monoide sintattico M = M(L) di L. Per il Lemma 6.7, M è un monoide aperiodico. Poiché L è un linguaggio razionale, M è finito. Di conseguenza L è unione finita di linguaggi ϕ −1 (m), m ∈ M. Per la Proposizione 6.2, ϕ −1 (m) è un linguaggio star-free e di conseguenza L ∈ SF(A∗ ).   Vale anche il seguente teorema che può considerarsi l’inverso del Teorema 6.8: Teorema 6.9. Un linguaggio star-free è aperiodico. Dimostrazione. Mostreremo che la famiglia Ap(A∗ ) contiene le parti finite ed è chiusa rispetto alle operazioni Booleane e al prodotto. Da qui seguirà che Ap(A∗ ) ⊇ SF(A∗ ). 1) Ap(A∗ ) ⊇ Fin(A∗ ). Si ha banalmente che il linguaggio vuoto L = 0/ è aperiodico di indice i(0) / = 0. Mostreremo ora che i singleton {w} con w ∈ A∗ sono aperiodici. Per ogni f ∈ A∗ si ha certamente che f k ≡ f k+1 dove ≡ è la congruenza sintattica di {w} e k > |w|. Pertanto il linguaggio {w} è aperiodico di indice minore o uguale a |w| + 1. Utilizzando la chiusura di Ap(A∗ ) rispetto all’unione che mostreremo tra breve, ne seguirà che ogni parte finita di A∗ è un linguaggio aperiodico.

6.7 Linguaggi senza stella

229

2) Chiusura rispetto al complemento. Sia L ∈ Ap(A∗ ) di indice i(L). Poiché ≡L = ≡Lc segue banalmente che Lc ∈ Ap(A∗ ) e i(Lc ) = i(L). 3) Chiusura rispetto all’unione. Siano L1 , L2 ∈ Ap(A∗ ) di indici i1 = i(L1 ) e i2 = i(L2 ). Siano L = L1 ∪ L2 e k = max{i1 , i2 }. Mostriamo che per ogni f ∈ A∗ , si ha che f k ≡L f k+1 . Da ciò seguirà che L ∈ Ap(A∗ ) e i(L) ≤ max{i(L1 ), i(L2 )}. Infatti, siano ζ , ζ ∈ A∗ tali che ζ f k ζ ∈ L. Se ζ f k ζ ∈ L1 , poiché k ≥ i1 , si ha ζ f k+1 ζ ∈ L1 e quindi ζ f k+1 ζ ∈ L. In modo simile poiché k ≥ i2 si deduce che se ζ f k ζ ∈ L2 si ha ζ f k+1 ζ ∈ L. Viceversa supponiamo che ζ f k+1 ζ ∈ L. Ciò comporta, poiché k = max{i1 , i2 }, che ζ f k ζ ∈ L1 oppure ζ f k ζ ∈ L2 e quindi ζ f k ζ ∈ L. 4) Chiusura per intersezione. Tale chiusura discende banalmente dalla chiusura rispetto ad unione e complemento. 5) Chiusura rispetto al prodotto. Siano L1 , L2 ∈ Ap(A∗ ) di indici i1 = i(L1 ) e i2 = i(L2 ). Sia L = L1 L2 e poniamo k = i1 + i2 + 1. Mostriamo che per ogni f ∈ A∗ , si ha che f k ≡L f k+1 . Da ciò seguirà che L ∈ Ap(A∗ ) e i(L) ≤ i(L1 ) + i(L2 ) + 1. Siano ζ , ζ ∈ A∗ tali che ζ f k ζ ∈ L1 L2 . Possiamo anche scrivere

ζ f k ζ = x1 x2 , con x1 ∈ L1 , x2 ∈ L2 .

(6.40)

Dobbiamo considerare due casi: Caso 1. |x1 | > |ζ f i1 |. Dalla (6.40) si ha: x1 = ζ f i1 t, con t ∈ A∗ e f f i2 ζ = tx2 . Poiché L1 è aperiodico si deduce ζ f i1 +1t ∈ L1 e

ζ f i1 +1tx2 = ζ f k+1 ζ ∈ L1 L2 . Caso 2. |x1 | ≤ |ζ f i1 |. Possiamo scrivere ζ f i1 = x1t , con t ∈ A∗ , e t f f i2 ζ = x2 ∈ L2 . Poiché L2 è aperiodico si ha t f f i2 +1 ζ ∈ L2 e quindi ζ f i1 +i2 +2 ζ ∈ L1 L2 . Pertanto, in entrambi i casi si ha ζ f k+1 ζ ∈ L1 L2 . Viceversa sia ζ f k+1 ζ = x1 x2 con x1 ∈ L1 e x2 ∈ L2 . Se |x1 | ≥ |ζ f i1 +1 | si ha x1 = ζ f i1 +1t, t ∈ A∗ e tx2 = f i2 +1 ζ . Poiché L1 è aperiodico si ottiene ζ f i1 t ∈ L1 e quindi ζ f k ζ ∈ L1 L2 . Se invece |x1 | < |ζ f i1 +1 |, si ha ζ f i1 +1 = x1t e t f i2 +1 ζ = x2 . Poiché L2 è aperiodico ne segue t f i2 ζ ∈ L2 , da cui segue ζ f k ζ ∈ L1 L2 .   Possiamo sintetizzare alcuni dei precedenti risultati nel seguente: Teorema 6.10. Sia L un linguaggio razionale. Le seguenti condizioni sono equivalenti: 1) L è aperiodico, 2) L è star free, 3) Il monoide sintattico di L ha solo sottogruppi banali. Dimostrazione. L’equivalenza di 1) e 2) è una conseguenza dei Teoremi 6.8 e 6.9. L’equivalenza di 1) e 3) segue dal Lemma 6.7 e dalla Proposizione 6.1.  

230

6 Espressioni razionali e Star-height

6.8 Il problema della star-height estesa Il teorema di Schützenberger è una caratterizzazione dei linguaggi star-free di grande interesse non solo dal punto di vista matematico ma anche perché fornisce una procedura effettiva di natura algebrica che permette di decidere se la star-height estesa di un linguaggio razionale è zero. Infatti, in base al Teorema 6.10, l’algoritmo di decisione è il seguente: 1) Dato il linguaggio razionale mediante un automa o una espressione razionale che lo descrive, si calcolerà il suo monoide sintattico. Come si è visto nel Capitolo 5, il monoide sintattico di un linguaggio razionale si può effettivamente costruire. 2) Si verifica se il monoide sintattico ha tutti i suoi sottogruppi banali. Ciò può effettivamente farsi poiché il monoide sintattico è finito. È facile rendersi conto che la classe SF(A∗ ) dei linguaggi star-free è strettamente inclusa nella classe Rat(A∗ ) dei linguaggi razionali. Basta considerare un qualsiasi linguaggio razionale L il cui monoide sintattico contiene sottogruppi non banali. Utilizzando il Teorema 6.10 si ha che shg(L) ≥ 1. Un esempio di linguaggio razionale di star-height estesa uguale a 1 è il seguente: consideriamo il linguaggio razionale L = (a2 )∗ b la cui star-height estesa è certamente ≤ 1. Come si è visto nella Sezione 6.7.1, L non è aperiodico cosicché per il Teorema 6.10, si ha shg(L) ≥ 1, e quindi shg(L) = 1. Nasce spontaneo il problema se nel caso della star-height generalizzata valga un risultato simile al Teorema 6.6 relativo alla star-height ristretta, cioè se per ogni i ≥ 1 esiste un linguaggio razionale L tale che shg(L) = i, oppure, in forma più debole, se la star-height generalizzata di un linguaggio razionale possa assumere una infinità di valori. Questo problema, detto problema della star-height (estesa) per i linguaggi razionali, posto fin dagli inizi della teoria degli Automi, è tuttora un problema aperto di grande difficoltà. Addirittura non si sa se esista un linguaggio razionale L tale che shg(L) > 1. Gli unici risultati che si conoscono riguardano una limitazione superiore al valore della star-height estesa facendo ipotesi molto particolari sul monoide sintattico M(L) del linguaggio razionale, cioè che M(L) è un gruppo che soddisfa alcune condizioni quali la commutatività o la risolubilità (cf. Henneman 1971, Brzozowski 1980). Altri risultati più recenti, ottenuti facendo sempre ipotesi molto restrittive su M(L), si possono trovare in (Pin, Straubing, Thérien 1992). In conclusione l’unico risultato molto profondo relativo alla star-height generalizzata di un linguaggio razionale è il teorema di Schützenberger.

6.9 Linguaggi localmente testabili Nel Capitolo 4 in relazione al teorema di Medvedev, si è introdotta la famiglia dei linguaggi localmente testabili in senso stretto. Ricordiamo che un linguaggio L sull’alfabeto A si dice k-localmente testabile in senso stretto, o, in breve, k-strettamente

6.9 Linguaggi localmente testabili

231

locale se esistono insiemi U,V,W ⊆ Ak , detti insiemi test, tali che L ∩ Ak A∗ = (UA∗ ∩ A∗V ) \ A∗WA∗ . Denotiamo per ogni parola f ∈ A∗ di lunghezza ≥ k con pk ( f ) il prefisso di f di lunghezza k, con sk ( f ) il suffisso di f di lunghezza k e con Ik ( f ) l’insieme dei fattori di f di lunghezza k. Si ha allora che f ∈ L se e solo se pk ( f ) ∈ U, sk ( f ) ∈ V e Ik ( f ) ⊆ Ak \W . L’insieme W è dunque l’insieme dei fattori proibiti di lunghezza k. Si può quindi decidere l’appartenenza o meno di una parola al linguaggio L effettuando esclusivamente test locali di lunghezza k. Se L è k-strettamente locale allora esso è anche (k + 1)-strettamente locale. Infatti basta riferirsi ai nuovi insiemi test U = UA,V = AV e W = AW ∪WA. Un linguaggio L si dirà localmente testabile in senso stretto, o, in breve, strettamente locale se esiste un intero k ≥ 0 tale che L è k-strettamente locale. Si definisce ordine di L il minimo valore di k tale che L è k-strettamente locale. Denoteremo con SLT la famiglia dei linguaggi strettamente locali. Dalla definizione si ha immediatamente che un linguaggio strettamente locale è riconoscibile e che inoltre la sua star-height estesa è uguale a zero. Lemma 6.13. La famiglia SLT è chiusa per intersezione. Dimostrazione. Siano L1 , L2 ∈ SLT e supponiamo che L1 sia k1 -strettamente locale e L2 sia k2 -strettamente locale. Poniamo k = max{k1 , k2 }. Entrambi i linguaggi sono k-strettamente locali, cosicché possiamo scrivere: L1 ∩ Ak A∗ = (U1 A∗ ∩ A∗V1 ) \ A∗W1 A∗ , L2 ∩ Ak A∗ = (U2 A∗ ∩ A∗V2 ) \ A∗W2 A∗ . Sia L = L1 ∩ L2 . Potremo scrivere L ∩ Ak A∗ = (UA∗ ∩ A∗V ) \ A∗WA∗ , con U = U1 ∩U2 , V = V1 ∩V2 e W = W1 ∪W2 , cosicché L è k-strettamente locale.

 

Lemma 6.14. La famiglia SLT non è chiusa per unione e complemento. Dimostrazione. Mostriamo che SLT non è chiusa per unione. Infatti consideriamo i due linguaggi L1 = aA∗ a e L2 = bA∗ b con a, b ∈ A e a = b. I due linguaggi L1 e L2 sono banalmente strettamente locali. Mostriamo che L = L1 ∪ L2 non è strettamente locale. Infatti supponiamo per assurdo che L sia k-strettamente locale e siano U, V e W i suoi insiemi test. Assumendo k > 2 possiamo prendere W = 0/ poiché dalla definizione di L ogni parola di L di lunghezza > k non ha fattori proibiti di lunghezza k. L’insieme U dovrebbe contenere parole che iniziano con la lettera a e V dovrebbe contenere parole che terminano con la lettera b. Siano U (risp. V ) il sottoinsieme delle parole di U (risp. di V ) che iniziano con a (risp. terminano con b). Si avrebbe allora che il linguaggio L = U A∗ ∩ A∗V è un sottoinsieme non vuoto di L che contiene parole che iniziano con a e terminano con b il che è assurdo. Il fatto poi che SLT non è chiusa per complemento è una conseguenza del fatto che altrimenti in base al Lemma 6.13, SLT risulterebbe chiusa per unione.  

232

6 Espressioni razionali e Star-height

La famiglia SLT non è dunque chiusa rispetto alle operazioni Booleane. La chiusura Booleana dei linguaggi strettamente locali, cioè la più piccola famiglia di parti di A∗ che contiene i linguaggi strettamente locali ed è chiusa rispetto alle operazioni Booleane, costituisce una famiglia di linguaggi che denoteremo con LT . Un linguaggio L ∈ LT si dirà linguaggio localmente testabile o, in breve, linguaggio locale. Dalla definizione si ha dunque che un linguaggio L è locale se L è strettamente locale oppure può ottenersi da un insieme finito di linguaggi strettamente locali applicando un numero finito di volte le operazioni di unione, intersezione e complemento. Così ad esempio il linguaggio L = aA∗ a ∪ bA∗ b è un linguaggio locale poiché aA∗ a e bA∗ b sono linguaggi strettamente locali. Se il linguaggio L è un ideale di A∗ finitamente generato, cioè L = A∗WA∗ con W insieme finito, si ha che L è un linguaggio locale poiché A∗ \ A∗WA∗ è un linguaggio strettamente locale. Poiché i linguaggi strettamente locali sono star-free ne segue che un linguaggio locale potrà essere descritto da una espressione razionale estesa senza stella cosicché è anch’esso star-free. Una definizione equivalente di linguaggio locale può essere data mediante la nozione di vettore test. Precisamente per ogni k > 0 definiamo per ogni f ∈ Ak A∗ quale vettore test di ordine k la tripla:

τk ( f ) = (pk ( f ), Ik ( f ), sk ( f )), dove pk ( f ) (risp. sk ( f )) denota il prefisso (risp. suffisso) di lunghezza k di f e Ik ( f ) l’insieme dei fattori di f di lunghezza k. Proposizione 6.3. Un linguaggio L è locale se e solo se esiste un intero k > 0 tale che la seguente condizione è soddisfatta: per ogni u, v ∈ Ak A∗

τk (u) = τk (v) =⇒ (u ∈ L ⇔ v ∈ L).

(6.41)

Dimostrazione. (⇒) Se L è locale allora L appartiene, per definizione, alla chiusura Booleana della famiglia dei linguaggi strettamente locali; si potrà dunque rappesentare L mediante una espressione Booleana in forma disgiuntiva su linguaggi strettamente locali. Possiamo dunque scrivere: L=

p 

K j,

j=1

con p intero positivo e K j , j = 1, . . . , p, linguaggi del tipo: c K j = L 1 ∩ L 2 ∩ · · · ∩ Lm j ∩ L m ∩ · · · ∩ Lnc j , j +1

dove i linguaggi Li ∈ SLT , i = 1, . . . ,n j . Per 1 ≤ i ≤ n j sia qi l’ordine di Li e k j = max{qi | 1 ≤ i ≤ n j } e k = max{k j | 1 ≤ j ≤ p}. Sia u ∈ Ak A∗ ∩ L. Esiste allora un intero j tale che 1 ≤ j ≤ p e u ∈ K j . Pertanto per ogni i, 1 ≤ i ≤ m j si ha u ∈ Li , laddove per ogni i, m j < i ≤ n j si ha u ∈ Li .

6.9 Linguaggi localmente testabili

233

Sia ora v ∈ Ak A∗ tale che τk (u) = τk (v). Poiché per ogni 1 ≤ i ≤ n j , Li è k-strettamente locale ne segue v ∈ Li , 1 ≤ i ≤ m j e v ∈ Li , m j < i ≤ n j . Si ha allora v ∈ K j ⊆ L. (⇐) Supponiamo ora che L sodddisfa la (6.41) e dimostriamo che L è un linguaggio locale. Conviene introdurre in A∗ per ogni k ≥ 1 la relazione ∼k definita come segue: per ogni u, v ∈ A∗ , u ∼k v se: 1) u e v hanno gli stessi prefissi di lunghezza ≤ k, 2) u e v hanno gli stessi suffissi di lunghezza ≤ k, 3) u e v hanno gli stessi fattori di lunghezza k. Osserviamo che se |u|, |v| ≥ k allora u ∼k v se e solo se τk (u) = τk (v). Se |u|, |v| < k allora u ∼k v implica u = v. Si noti che se u ∼k v allora non può accadere che una delle due parole u e v ha una lunghezza maggiore di k e l’altra minore di k. Per ogni fissato k la relazione ∼k è banalmente una relazione di equivalenza. Inoltre, come si verifica facilmente, ∼k è una congruenza (vedi Eser. 6.4). L’indice di ∼k è finito. Infatti se u ∈ A∗ ha lunghezza minore di k allora ∼k (u) = {u} e in tal caso vi sono tante classi di congruenza quante sono le parole di lunghezza minore di k. Se |u| ≥ k allora ∼k (u) è individuato dal vettore test τk (u). Il numero di tutti i possibili vettori test di ordine k è finito. La congruenza ∼k satura L. Infatti sia u ∈ L e u ∼k v. Se |u|, |v| < k allora u = v ∈ L. Se |u|, |v| ≥ k allora τk (u) = τk (v) cosicché dalla (6.41) si ha v ∈ L. Ciò comporta che L è una unione finita di classi della congruenza ∼k , L=

q 

∼k (v j ),

j=1

dove q è un intero positivo e per 1 ≤ r, s ≤ q, se r = s, vr non è congruente a vs mod ∼k . Avremo allora che u ∈ L se e solo se esiste v j , che denoteremo semplicemente v, tale che u ∈ ∼k (v). Se |u| < k allora |v| < k e quindi u = v. Se |u| ≥ k allora deve aversi τk (u) = τk (v) cosicché pk (u) = pk (v), sk (u) = sk (v) e Ik (u) = Ik (v). Denotando con v e v rispettivamente il prefisso ed il suffisso di v di lunghezza k: pk (u) = pk (v) ⇔ u ∈ v A∗ ,

sk (u) = sk (v) ⇔ u ∈ A∗ v .

Inoltre Ik (u) = Ik (v) ⇔ u ∈ A∗ Ik (v)A∗ . Pertanto se u ∈ Ak A∗ allora u ∈ ∼k (v) ⇐⇒ u ∈ v A∗ ∩ A∗ v ∩ A∗ Ik (v)A∗ . Ora i linguaggi v A∗ e A∗ v sono linguaggi strettamente locali mentre il linguaggio A∗ Ik (v)A∗ è il complemento del linguaggio strettamente locale A∗ \ A∗ Ik (v)A∗ . Da ciò e dal fatto che i singleton sono linguaggi strettamente locali, segue che L appartiene alla chiusura Booleana di linguaggi strettamente locali.  

234

6 Espressioni razionali e Star-height

Un linguaggio locale L che soddisfa la Condizione (6.41) sul vettore test τk si dirà k-locale. Si definisce ordine di L il minimo k tale che L è k-locale. Si ricava immediatamente dalla definizione che un linguaggio k-strettamente locale soddisfa la (6.41) ed è quindi k-locale. In base alla (6.41) si verifica subito che esistono linguaggi riconoscibili che non sono locali. Sia ad esempio L il linguaggio riconoscibile L = (a2 )∗ b. Quali che siano k ed n > k si ha che τk (a2n b) = τk (a2n+1 b) e mentre a2n b ∈ L si ha a2n+1 b ∈ L cosicché L non è locale. (Si noti che tale risultato può essere anche ricavato dal fatto che il linguaggio L non è aperiodico e quindi dal teorema di Schützenberger non è star-free). La seguente caratterizzazione dei linguaggi locali in termini del semigruppo sintattico del linguaggio è stata data indipendentemente da J. Brzozowski e I. Simon, da R. McNaughton e da Y. Zalcstein. Teorema 6.11. Sia L un linguaggio riconoscibile e S(L) il suo semigruppo sintattico. L è un linguaggio locale se e solo se per ogni idempotente e ∈ S(L), il semigruppo eS(L)e è idempotente e commutativo, cioè per ogni s,t ∈ S(L) si ha: esese = ese, esete = etese. Noi dimostreremo solo la parte necessaria del precedente teorema. Dimostrazione. Sia L un linguaggio locale di ordine k. Sia S(L) il semigruppo sintattico di L e σ : A+ → S(L) il morfismo sintattico di L. Se e = e2 è un idempotente di S(L) esisterà certamente una parola w ∈ A+ di lunghezza ≥ k tale che wσ = e. Siano ora s,t ∈ S(L) e u, v ∈ A+ tali che uσ = s e vσ = t. Consideriamo allora le parole wuwuw e wuwvw, e mostriamo che: wuwuw ∼k wuw e wuwvw ∼k wvwuw. Si ha infatti banalmente pk (wuwuw) = pk (wuw), sk (wuwuw) = sk (wuw). Inoltre certamente Ik (wuw) ⊆ Ik (wuwuw). Vale anche l’inclusione inversa poiché ogni fattore f di wuwuw di lunghezza k non può avere w come fattore cosicché f è fattore di wuw. Si ha allora τk (wuw) = τk (wuwuw). Poiché |w| ≥ k ne segue wuwuw ∼k wuw. In modo simile si dimostra che wuwvw ∼k wvwuw. Come si è visto nella dimostrazione della Proposizione 6.3, ∼k è una relazione di congruenza che satura L cosicché ∼k ⊆ ≡L . Si ha allora: wuwuw ≡L wuw e wuwvw ≡L wvwuw e quindi esese = ese, esete = etese.

 

Il Teorema 6.11 è importante poiché fornisce una procedura algebrica per decidere se un linguaggio riconoscibile è un linguaggio locale o meno. L’algoritmo consiste nel costruire il semigruppo sintattico S(L) di L, che è un semigruppo finito, e

6.9 Linguaggi localmente testabili

235

verificare se per ogni idempotente e, il semigruppo eS(L)e è idempotente e commutativo. Il seguente esempio mostra che la classe dei linguaggi localmente testabili è propriamente inclusa nella classe dei linguaggi star-free. Esempio 6.1. Consideriamo il linguaggio L = (ab ∪ ba)∗ . Il linguaggio L è aperiodico. Infatti il suo monoide sintattico ha 15 elementi (vedi Eser. 5.9) e, come si verifica facilmente, è aperiodico di indice 3. Pertanto per il teorema di Schützenberger (cf. Teorema 6.8), L è star-free. Tuttavia L non è un linguaggio locale. Infatti siano S(L) e σ : A+ → S(L) rispettivamente il semigruppo sintattico e il morfismo sintattico di L. Se w = ab si verifica subito che w ≡L w2 . Infatti, gli insiemi dei contesti ContL (w) e ContL (w2 ) che completano rispettivamente w e w2 in L sono uguali avendosi ContL (w) = ContL (w2 ) = (L × L) ∪ (Lb × aL), cosicché σ (w) = σ (w2 ) = (σ (w))2 = e è un idempotente di S(L). Sia ora v = abbab = wbw. Si ha σ (v) = eσ (b)e ∈ eS(L)e. Tuttavia, σ (v2 ) = σ (v). Infatti ContL (v2 ) = 0/ laddove ContL (v) = L × aL, cosicché il semigruppo eS(L)e non è idempotente. Per il Teorema 6.11 , si ha che L ∈ S(L). Nel caso dei linguaggi SLT non esiste una caratterizzazione che sia esprimibile esclusivamente mediante proprietà del semigruppo sintattico. Ciò è dovuto al fatto che per un qualsiasi linguaggio L, S(L) = S(Lc ) dove Lc è il complemento di L. D’altra parte se L ∈ SLT , in generale Lc ∈ SLT . Una caratterizzazione può ottenersi se si fa ricorso alla coppia (Lσ , S(L)) dove σ : A+ → S(L) è il morfismo sintattico. Sia S un semigruppo e L una sua parte. Ricordiamo (vedi Cap. 1, Sez. 1.10.2) che un elemento c ∈ S si dice costante di S per L se per ogni λ1 , λ2 , λ3 , λ4 ∈ S1 si ha:

λ1 cλ2 ∈ L, λ3 cλ4 ∈ L =⇒ λ1 cλ4 ∈ L. Vale il seguente: Teorema 6.12. Siano L un linguaggio riconoscibile sull’alfabeto A, S(L) il suo semigruppo sintattico e σ : A+ → S(L) il morfismo sintattico. Le seguenti condizioni sono equivalenti: 1) L ∈ SLT , 2) Esiste un k ≥ 1 tale che tutte le parole di Ak A∗ sono costanti di A∗ per L, 3) Ogni idempotente e di S(L) è una costante di S(L) per Lσ . Dimostrazione. 1) ⇒ 2) Se L è un linguaggio k-strettamente locale potremo scrivere L ∩ Ak A∗ = (UA∗ ∩ A∗V ) \ A∗WA∗ , con U,V,W ⊆ Ak . Dimostriamo allora che ogni parola g ∈ Ak A∗ è una costante per L. Infatti siano m1 , m2 , m3 , m4 ∈ A∗ tali che m1 gm2 , m3 gm4 ∈ L. Poiché |g| ≥ k si ha che m1 g ∈ UA∗ , gm4 ∈ A∗V e m1 gm4 ∈ A∗WA∗ . Ciò implica m1 gm4 ∈ L. Ne segue che g è una costante per L.

236

6 Espressioni razionali e Star-height

2) ⇒ 3) Sia e un idempotente di S(L) ed f ∈ A+ tale che f σ = e ed | f | ≥ k. Poiché f è una costante per L, dal Lemma 1.1 segue che e è una costante per L = Lσ . 3) ⇒ 2) Poiché L è riconoscibile, il semigruppo sintattico S(L) è finito. Mostriamo che ogni parola g ∈ Ak+1 A∗ con k = Card(S(L)) è una costante per L. Potremo scrivere g = a1 · · · ah con ai ∈ A, 1 ≤ i ≤ h ed h ≥ k + 1. Dovranno allora esistere due interi r, s tali che 1 ≤ r < s ≤ k + 1 e a1 · · · ar ≡L a1 · · · ar (ar+1 · · · as ) p per tutti gli interi p ≥ 1. Per un valore di p sufficientemente grande (ar+1 · · · as ) p σ è un idempotente di S(L) e quindi una costante per L = Lσ . Dal Lemma 1.1 segue che (ar+1 · · · as ) p è una costante per L. Poiché g ≡L a1 · · · ar (ar+1 · · · as ) p+1 as+1 · · · ah ne segue che gσ è una costante per L e quindi g è una costante per L. 2) ⇒ 1) Denotiamo con Uk (risp. Vk ) l’insieme dei prefissi (risp. suffissi) di lunghezza k delle parole di L. Sia inoltre T (L), o semplicemente T , l’insieme delle parole di A+ che non sono completabili in L, cioè / T = { f ∈ A+ | A∗ f A∗ ∩ L = 0}. Tale insieme è, come si verifica immediatamente, un ideale bilatere di A+ . Mostriamo che: a) L ∩ Ak A∗ = (Uk A∗ ∩ A∗Vk ) \ T , b) L’ideale T è finitamente generato, cioè T = A∗WA∗ , con W finito. Banalmente si ha che L ∩ Ak A∗ ⊆ (Uk A∗ ∩ A∗Vk ) \ T . Mostriamo l’inclusione inversa. Sia f ∈ (Uk A∗ ∩ A∗Vk ) \ T . Possiamo scrivere: f = u f1 = f2 v, con f1 , f2 ∈ A∗ , u ∈ Uk , v ∈ Vk . Poiché f ∈ T esistono h1 , h2 ∈ A∗ tali che h1 f h2 = h1 u f1 h2 = h1 f2 vh2 ∈ L. Inoltre poiché u ∈ Uk e v ∈ Vk esistono parole h , h ∈ A∗ tali che uh , h v ∈ L. Poiché |u| = |v| = k, le parole u e v sono costanti per L cosicché dalle precedenti relazioni segue: h 1 f 2 v = h1 u f 1 ∈ L e quindi u f1 = f ∈ L. Pertanto il punto a) è dimostrato.

6.9 Linguaggi localmente testabili

237

Sia W l’insieme minimale di generatori dell’ideale T . Si ha (vedi Eser. 3.10) che W = T \ (A∗ TA+ ∪ A+ TA∗ ). Dimostriamo che la lunghezza delle parole di W è minore o uguale a k + 1. Sia w ∈ W e supponiamo che |w| ≥ k + 2. Possiamo scrivere w = aub con a, b ∈ A e u ∈ Ak A∗ . Mostriamo che au ∈ T oppure ub ∈ T . Infatti se au ∈ T e ub ∈ T esisterebbero h1 , h2 , h3 , h4 ∈ A∗ tali che: h1 auh2 , h3 ubh4 ∈ L. Poiché u è una costante per L dalla precedente equazione seguirebbe: h1 aubh4 = h1 wh4 ∈ L, il che è assurdo perché w ∈ T . Pertanto W ∩ AT = 0/ oppure W ∩ TA = 0/ il che contraddice la definizione di W . Pertanto il punto b) è dimostrato. Di qui segue che L è un linguaggio strettamente locale di ordine minore o uguale a k + 1.   Il precedente teorema fornisce un algoritmo algebrico che permette di decidere se un linguaggio riconoscibile è strettamente locale o meno. Vale la seguente: Proposizione 6.4. Se c è una costante di S(L) per L = Lσ allora cS(L)c ⊆ {c, 0}. Dimostrazione. Ricordiamo anzitutto (cf. Cap. 1, Prop. 1.11) che la congruenza sintattica ≡L in S(L) è l’identità. Sia c una costante di S(L) per L ed s ∈ S(L). Dobbiamo mostrare che csc = 0 oppure csc = c. Supponiamo csc = 0. Ciò implica che esistono u, v ∈ S(L)1 tali che ucscv ∈ L . Tale asserto è immediato se 0 ∈ L (in tal caso basta prendere u oppure v uguale a 0). Se 0 ∈ L l’asserto segue dal fatto che, essendo csc = 0, csc non è sintatticamente equivalente a 0. Poiché c è una costante per L ne segue che ucv ∈ L . Viceversa supponiamo che ucv ∈ L . Poiché csc = 0 esistono w, w ∈ S(L)1 tali che wcscw ∈ L . Ciò comporta ucscw ∈ L e quindi ucscv ∈ L . Da qui segue che csc è sintatticamente equivalente a c. Poiché la congruenza sintattica di L è l’identità si ha csc = c.   Corollario 6.4. Se L ∈ SLT allora per ogni idempotente e di S(L) si ha: eS(L)e ⊆ {e, 0}. Dimostrazione. La dimostrazione segue immediatamente dalla Condizione 3) del Teorema 6.12 e dalla Proposizione 6.4.   Si osservi che dal precedente corollario segue che se L ∈ SLT allora per ogni idempotente e ∈ S(L), eS(L)e è idempotente e commutativo, cosicché per il Teorema 6.11, L ∈ SL.

238

6 Espressioni razionali e Star-height

6.10 Linguaggi testabili a pezzi In questa sezione, presenteremo un teorema dimostrato da I. Simon nel 1975 relativo ad una famiglia ben nota di linguaggi formali detti testabili a pezzi o in Inglese “piecewise testable”. Come vedremo tale famiglia è costituita da linguaggi che hanno star-height zero e per i quali è possibile fornire una caratterizzazione importante in termini del loro monoide sintattico. A tale proposito, sarà conveniente ricordare alcune nozioni utili per la definizione di questi linguaggi. Nel Capitolo 3, abbiamo introdotto il concetto di sottoparola definito nel modo seguente. Sia w = a1 · · · an una parola, ai ∈ A, (i = 1, . . . , n). Una sottoparola u di w è una parola tale che esistono interi positivi j1 , . . . , jk con 1 ≤ jr ≤ n, r = 1, . . . , k, e j1 < · · · < jk , k = |u| ≤ n ed u = a j1 · · · a jk . Se u è una sottoparola di w, si scrive u ≺ w. Per ogni parola w ∈ A∗ e per ogni intero k ∈ N, denoteremo con Subk (w) l’insieme di tutte le sottoparole di w di lunghezza ≤ k: Subk (w) = {u ∈ A∗ | u ≺ w, |u| ≤ k}. Definiamo infine la relazione ≈k di A∗ come: per ogni u, v ∈ A∗ , u ≈k v se

Subk (u) = Subk (v).

Ad esempio, se A = {a, b}, si ha che ababab ≈3 bababa ma ababab ≈4 bababa poiché abbb è una sottoparola di ababab ma non una sottoparola di bababa. Si verifica facilmente che, per ogni k, ≈k è una congruenza di A∗ di indice finito. Infatti, dalla definizione, segue immediatamente che ≈k è una equivalenza compatibile sia a destra che a sinistra con il prodotto. Inoltre il numero delle classi di equivalenza è limitato superiormente da 2Mk , dove Mk è il numero delle parole sull’alfabeto A di lunghezza minore o eguale a k. Infatti tale numero, uguale al numero dei sottoinsiemi  dell’insieme A[k] = ki=0 Ai , è un limite superiore alla cardinalità di Subk (u), per ogni ∗ u ∈ A , dal momento che ogni classe di equivalenza della relazione ≈k è determinata esclusivamente da una lista di parole di lunghezza minore o uguale a k. Se u è una parola, possiamo associare ad u il linguaggio Lu di tutte e sole le parole di A∗ tali da possedere u come sottoparola, ovvero: Lu = {v ∈ A∗ | u ≺ v}. Se u = a1 · · · a , ai ∈ A, (i = 1, . . . , ), allora si ottiene: Lu = A∗ a1 A∗ a2 A∗ · · · A∗ a A∗ . Si osservi che Lu ha star-height estesa zero. Un linguaggio L sull’alfabeto A si dice piecewise testable se L è una combinazione Booleana finita di linguaggi della forma Lu , con u ∈ A∗ , cioè se L è descritto da un’espressione in cui intervengono i linguaggi Lu con u ∈ A∗ e le operazioni di unione, intersezione e complemento un numero finito di volte.

6.10 Linguaggi testabili a pezzi

239

Come è ben noto dall’algebra di Boole e come si verifica facilmente, L può esprimersi come una unione finita di linguaggi del tipo K = Lu1 ∩ · · · ∩ Lum ∩ Lvc1 ∩ · · · ∩ Lvcn ,

(6.42)

con u1 , . . . , um , v1 , . . . , vn ∈ A∗ . Si osservi che il linguaggio K, essendo una intersezione finita di linguaggi che hanno star-height zero, ha esso stesso star-height zero cosicché un linguaggio piecewise testable ha star-height zero. Dal teorema di Schützenberger (cf. Teor. 6.10) ne segue che il monoide sintattico M(L) di un linguaggio L piecewise testable è H -banale. Mostreremo nel seguito (vedi Prop. 6.6) che M(L) è J -banale. Sia ≡L la relazione di congruenza sintattica di L. Il lemma seguente fornisce una caratterizzazione basata sulla relazione ≈k dei linguaggi piecewise testable. Proposizione 6.5. Sia L ⊆ A∗ un linguaggio razionale. Le seguenti due condizioni sono equivalenti: i) Esiste un intero k ∈ N tale che ≈k ⊆≡L , ii) L è piecewise testable. Dimostrazione. Dimostriamo che i) ⇒ ii). Poiché L è un linguaggio razionale, la sua congruenza sintattica ≡L è di indice finito. Inoltre, per ipotesi, esiste k ∈ N tale che ≈k ⊆ ≡L . Essendo ≈k di indice finito, ogni classe della relazione ≡L è unione di un numero finito di classi della relazione ≈k . Poiché L è unione finita di classi della relazione ≡L ne segue che L è unione finita di classi della relazione ≈k . Mostreremo ora che ogni classe della relazione ≈k è un linguaggio piecewise testable. Da questo seguirà che L è una unione finita di linguaggi piecewise testable e quindi esso stesso è piecewise testable. Sia ≈k (v) la classe di una parola v. Si verifica facilmente che ≈k (v) =



Lw

w∈Subk (v)

In effetti, se u∈





Lwc ,

(6.43)

w∈ / Subk (v), |w|≤k



Lw

w∈Subk (v)

allora, per ogni w ∈ Subk (v) si ha u ∈ Lw e |w| ≤ k; di conseguenza, w ∈ Subk (u). Da ciò si ha Subk (v) ⊆ Subk (u). Similmente, se u∈



Lwc

w∈ / Subk (v), |w|≤k

allora, per ogni parola w tale che w ∈ / Subk (v) e |w| ≤ k, si ha u ∈ Lwc e, di conseguenza, w∈ / Subk (u). Ne segue quindi che Subk (u) ⊆ Subk (v) e dunque Subk (v) = Subk (u). Abbiamo allora provato che u ∈ ≈k (v). Supponiamo ora che u ∈ ≈k (v). Per ogni w ∈ Subk (u) = Subk (v), w ≺ u e quindi  u ∈ Lw . Pertanto u ∈ w∈Subk (v) Lw . Mostriamo ora che, per ogni w ∈ / Subk (v) e |w| ≤

240

6 Espressioni razionali e Star-height

k, u ∈ / Lw . Se, per assurdo, così non fosse, esisterebbe una parola w ∈ / Subk (v) tale che u ∈ Lw e |w| ≤ k, cioè w ∈ Subk (u), da cui seguirebbe Subk (u) = Subk (v), contrad dicendo così l’ipotesi iniziale su u. Ne segue pertanto che u ∈ w∈/ Subk (v), |w|≤k Lwc e la (6.43) è dunque provata. Dimostriamo ora che ii) ⇒ i). Poiché L soddisfa la ii), L è unione finita di linguaggi del tipo K descritti nella formula (6.42) ognuno dei quali si scrive come intersezione finita di linguaggi della forma Lu oppure Luc , con u ∈ A∗ . Sia k un intero non negativo tale che |u| ≤ k, dove u è una qualunque parola tale che Lu appaia nell’unione di linguaggi K che definisce L. Vogliamo ora provare che ≈k ⊆ ≡L . Siano dunque v, w ∈ A∗ tali che v ≈k w. Supponiamo che esistano parole p, q ∈ A∗ tali che pvq ∈ L. Mostriamo che pwq ∈ L. Possiamo supporre che pvq ∈ K = Lu1 ∩ · · · ∩ Lum ∩ Lvc1 ∩ · · · ∩ Lvcn , dove K è uno dei linguaggi che appare nell’unione che definisce L. Per ogni i = 1, . . . , m, si ha pvq ∈ Lui da cui si ottiene ui ≺ pvq. Poiché ≈k è una congruenza si ha pvq ≈k pwq. Poiché |ui | ≤ k, ne segue che ui ≺ pwq e dunque pwq ∈ Lui , per ogni i = 1, . . . , m. Similmente, per ogni i = 1, . . . , n, si ha pvq ∈ / Lvi da cui segue subito che pwq ∈ / Lvi , i = 1, . . . , n; infatti altrimenti se pwq ∈ Lvi ne seguirebbe pvq ∈ Lvi , una contraddizione. Abbiamo pertanto provato che pwq ∈ K e, di conseguenza, che pwq ∈ L. Scambiando infine il ruolo di v con quello di w, si ottiene la dimostrazione dell’implicazione pwq ∈ L =⇒ pvq ∈ L e pertanto si ha v ≡L w.   Osserviamo che la caratterizzazione combinatoria fornita dalla Proposizione 6.5 giustifica il termine scelto per denominare questi linguaggi. In effetti, se L è piecewise testable, per la proposizione precedente, esiste un intero positivo k tale che L è unione di un numero finito di classi della relazione ≈k . Ne segue che, per decidere se una parola v appartiene o meno ad L, è sufficiente analizzare le sole sottoparole di v di lunghezza non superiore a k. Presenteremo ora un teorema di Simon che fornisce una caratterizzazione sintattica dei linguaggi piecewise testable, ovvero una caratterizzazione basata sulla struttura algebrica dei monoidi sintattici di questi linguaggi. A tale proposito, sarà conveniente richiamare alcuni concetti introdotti nel Capitolo 2. Ricordiamo che la relazione di equivalenza di Green J in un semigruppo S è definita nel modo che segue: per ogni s,t ∈ S1 , s J t se S1 sS1 = S1tS1 . Quindi s e t sono J -equivalenti se e solo se generano lo stesso ideale bilatere. Diremo che S è J -banale se J coincide con la relazione identità. Il lemma seguente fornisce una caratterizzazione dei monoidi J -banali. Lemma 6.15. Un monoide M è J -banale se e solo se per ogni m, m1 , m2 , m3 , m4 ∈ M si ha: m1 m2 mm3 m4 = m =⇒ m2 mm3 = m. (6.44) Dimostrazione. Sia M un monoide J -banale e supponiamo che m1 m2 mm3 m4 = m. Dimostriamo che m2 mm3 J m. Infatti m2 mm3 ∈ MmM ed inoltre per l’ipotesi si ha m ∈ Mm2 mm3 M, cosicché m2 mm3 J m e quindi m2 mm3 = m poiché M è J -banale.

6.10 Linguaggi testabili a pezzi

241

Supponiamo ora che la (6.44) è soddisfatta. Siano u, v ∈ M tali che u J v. Essendo MuM = MvM esistono m1 , m2 , m3 , m4 ∈ M tali che u = m1 vm2 ,

v = m3 um4 ,

cosicché u = m1 m3 um4 m2 . Dalla (6.44) ne segue che m3 um4 = v = u, il che mostra che M è J -banale.

 

Proposizione 6.6. Siano L ⊆ A∗ un linguaggio piecewise testable e M(L) = A∗ / ≡L il monoide sintattico di L. Allora M(L) è J -banale. Dimostrazione. Per il Lemma 6.15 applicato al caso del monoide sintattico M(L) di L, è sufficiente provare che, per ogni u, w1 , w2 , w3 , w4 ∈ A∗ , si ha: w1 w2 uw3 w4 ≡L u =⇒ w2 uw3 ≡L u.

(6.45)

Dimostriamo dunque che vale la (6.45) nell’ipotesi in cui L sia piecewise testable. Per la Proposizione 6.5, esiste un intero non negativo k tale che ≈k ⊆ ≡L . Siano ora u, w1 , w2 , w3 , w4 parole di A∗ tali che w1 w2 uw3 w4 ≡L u. Poiché ≡L è una congruenza di A∗ si ha: (w1 w2 )2 u(w3 w4 )2 ≡L w1 w2 uw3 w4 ≡L u. (6.46) Per ogni intero positivo n, si ponga un = (w1 w2 )n u(w3 w4 )n . Dalla (6.46), è facile provare per induzione su n che un ≡L u, n ≥ 1. Osserviamo ora che u ≺ u1 ≺ u2 ≺ · · · ≺ un ≺ · · · e, di conseguenza, si ha Subk (u) ⊆ Subk (u1 ) ⊆ Subk (u2 ) ⊆ · · · ⊆ Subk (un ) ⊆ · · · Poiché, per ogni parola v ∈ A∗ , il numero di possibili insiemi distinti della forma Subk (v) è finito, esistono interi positivi n, m tali che n < m e Subk (un ) = Subk (um ). Poiché Subk (un ) ⊆ Subk (w2 un w3 ) ⊆ Subk (um ), dalla condizione precedente segue allora che Subk (un ) = Subk (w2 un w3 ) e dunque si ha un ≈k w2 un w3 . Poiché ≈k ⊆ ≡L si ha pertanto un ≡L w2 un w3 e dal fatto che un ≡L u possiamo concludere che u ≡L w2 uw3 . La (6.45) è allora provata e dunque M(L) è J -banale.   Poiché è possibile dimostrare (cf. Simon 1975, Klíma 2011) che, dato un linguaggio riconoscibile L il cui monoide sintattico è J -banale, allora L è piecewise testable, vale allora il teorema seguente: Teorema 6.13 (Simon). Un linguaggio riconoscibile è piecewise testable se e solo se il suo monoide sintattico è J -banale.

242

6 Espressioni razionali e Star-height

6.11 Esercizi 6.1. Verificare sulla base della uguaglianza dei corrispondenti insiemi razionali le identità C11, C12, C13 e C14n. 6.2. Dedurre in base alla lista delle identità C11-C14 le identità D1-D10. 6.3. Siano E, F e G linguaggi sull’alfabeto A. Mostrare che vale la seguente implicazione: se ε ∈ F e E = FE ∪ G allora E = F ∗ G. Mostrare la validità delle seguenti identità di espressioni razionali ristrette ed estese sull’alfabeto A = {a, b, c}: 1) 2) 3) 4)

(a + b)∗ = (a∗ b)∗ a∗ , (a + b)∗ ab(a + b)∗ = b∗ a∗ ab(a + b)∗ , . (ab∗ c)∗ = 0∗ + a(b + ca)∗ c, ∗ ((a + b) b  a∗ b∗ )∗ a∗ (a + b) = (a + b)∗ (a + b).

6.4. Mostrare che la relazione ∼k in A∗ definita nella Sezione 6.9 è una relazione di congruenza.

6.12 Note bibliografiche La dimostrazione della incompletezza di un sistema finito di assiomi per l’algebra delle espressioni razionali (cf. Teor. 6.1) è in (Redko 1964) (vedi anche Ginzburg 1968). Il Teorema 6.2 è dovuto a J. H. Conway. Il Lettore interessato può consultare il volume Regular algebra and finite machines (Conway 1971) (cf. Teor. 9, Capitolo 10). Il teorema di completezza di A. Salomaa (cf. Teor. 6.3) è nell’articolo (Salomaa 1966). Il problema della star height ristretta fu posto da L.C. Eggan in (Eggan 1963). Egli mostrò che per ogni k ≥ 0 esiste un linguaggio Lk su un alfabeto Ak che ha star-height k; la cardinalià dell’alfabeto Ak cresce con k. Denotando per ogni k ≥ 0 con Lk la famiglia dei linguaggi su un alfabeto A la cui star height ristretta è minore o uguale a k, Eggan pose nel suo lavoro i due seguenti problemi: (1) È l’inclusione Lk ⊆ Lk+1 stretta per ogni k ≥ 0 e A = {a, b}? (2) Esiste un algoritmo che permette di calcolare la star height dei linguaggi razionali? Una risposta positiva al primo problema fu data nel 1964 da R. McNaughton in alcune note del M.I.T. non pubblicate. La dimostrazione di McNaughton è ottenuta come applicazione di tecniche molto potenti e generali. F. Dejean e M.P. Schützenberger in (Dejean, Schützenberger 1966) fornirono una dimostrazione molto più elementare e diretta del fatto che che Lk ⊂ Lk+1 per ogni k ≥ 0 su un alfabeto a due lettere (cf. Teor. 6.6). La dimostrazione di questo teorema riportata in questo capitolo è in (Salomaa 1981).

6.12 Note bibliografiche

243

K. Hashiguchi nei due lavori (Hashiguchi 1982, 1983) mostrò che è decidibile se un dato linguaggio razionale è di star height 1. Inoltre è dello stesso autore (Hashiguchi 1988) la prova che la star-height di un linguaggio razionale è effettivamente calcolabile (cf. Teor. 6.7). Tuttavia, la dimostrazione di Hashiguchi di questo risultato, come osservato da vari autori, è difficile da leggere dal momento che essa si basa su una induzione molto complessa. Una nuova dimostrazione che fornisce anche un limite alla complessità dell’algoritmo di calcolo, è stata data da D. Kirsten in (Kirsten 2005). La caratterizzazione dei linguaggi razionali star-free espressa dal Teorema 6.10 è in (Schützenberger 1965). La dimostrazione riportata nel testo è in (Perrin 1990). Una dimostrazione completamente diversa del teorema di Schützenberger, che utilizza la teoria della decomposizione degli automi e dei semigruppi di K. Krohn e J. L. Rhodes (Krohn, Rhodes 1969), è dovuta a A.R. Meyer (Meyer, 1969) (vedi anche Eilenberg 1976 e Ginzburg 1968). Sul problema della star-height generalizzata il Lettore interessato può consultare il volume Counter-free Automata (McNaughton, Papert 1971) e l’articolo di J. Brzozowski (Brzozowski 1980). Una prima trattazione dei linguaggi locali si trova in (McNaughton, Papert 1971). La caratterizzazione del semigruppo sintattico dei linguaggi locali è stata data indipendentemente da J. Brzozowski e I. Simon (Brzozowski, Simon 1973) e da R. McNaughton (McNaughton 1974) e Y. Zalcstein (Zalcstein 1973). La caratterizzazione dei linguaggi strettamente locali del Teorema 6.12 è in (de Luca, Restivo 1980). La caratterizzazione sintattica dei linguaggi piecewise testable è in (Simon 1975). Una recente rivisitazione e semplificazione del teorema di Simon mediante la combinatoria delle parole si trova in (Klíma 2011).

7 Relazioni razionali

Nel Capitolo 1 abbiamo considerato insiemi di parti riconoscibili e razionali di semigruppi e monoidi arbitrari. Tuttavia i risultati fondamentali relativi a tali insiemi, quali il teorema di Kleene, sono stati studiati nel caso di monoidi liberi finitamente generati (vedi Cap. 4). Nel caso in cui i monoidi non sono liberi, il teorema di Kleene cessa, in generale, di essere vero anche se come vedremo alcuni interessanti risultati, quali il teorema di McKnight, valgono se i monoidi sono finitamente generati. In questo capitolo il nostro interesse sarà principalmente rivolto alle relazioni riconoscibili e razionali, cioè relazioni che sono parti riconoscibili e razionali del prodotto diretto M1 × M2 di due monoidi. Nel caso in cui i monoidi M1 e M2 sono liberi e finitamente generati le parti razionali di M1 × M2 sono anche dette relazioni razionali da M1 in M2 . Come vedremo nella Sezione 7.2, esistono varie caratterizzazioni equivalenti delle relazioni razionali, note quali teorema di Nivat, che permettono di esprimerle in termini di morfismi e linguaggi razionali. Nella Sezione 7.3 si mostra che una relazione è razionale se e solo se è realizzabile mediante un trasduttore che è essenzialmente un automa finito non deterministico dotato di un nastro di ingresso e di uscita. Un caso speciale di particolare interesse studiato nella Sezione 7.4 si ha quando le relazioni razionali sono funzioni sequenziali, cioè realizzabili da un particolare trasduttore, detto sequenziale, che è essenzialmente un automa finito deterministico, senza stati terminali, che oltre ad una funzione di transizione è dotato di una funzione di uscita. Si dimostrerà nella Sezione 7.5 il notevole teorema sulle relazioni razionali di Elgot e Mezei che mostra che la composizione di relazioni razionali è una relazione razionale. Infine, quale applicazione della teoria delle relazioni razionali, si dimostrerà nella Sezione 7.6 un teorema importante di Eilenberg, relativo ai linguaggi razionali, noto quale teorema di cross-section. Esso afferma che dato un morfismo α di un monoide libero A∗ nel monoide libero B∗ , allora per ogni linguaggio razionale X su A esiste un linguaggio razionale Y ⊆ X, detto cross-section di α su X, tale che la restrizione di α ad Y è una biiezione da Y su α (X). A. de Luca, F. D’Alessandro: Teoria degli Automi Finiti, UNITEXT – La Matematica per il 3+2 68, DOI 10.1007/978-88-470-5474-5_7, © Springer-Verlag Italia 2013

246

7 Relazioni razionali

Nella Sezione 7.7 si darà una breve presentazione della teoria di Krohn e Rhodes sulla decomposizione dei monoidi finiti. Il teorema di Krohn e Rhodes può interpretarsi a livello della teoria degli automi come segue: ogni semiautoma può essere simulato nel suo comportamento da una opportuna composizione di semiautomi appartenenti a due classi particolari: i semiautomi di permutazione e quelli di reset. La composizione, ottenuta dotando i semiautomi di una funzione di uscita e quindi trasformandoli in trasduttori, corrisponde alla composizione delle funzioni sequenziali da essi calcolate.

7.1 Oltre il teorema di Kleene Il teorema di Kleene afferma che se un monoide M è libero e finitamente generato allora una parte di M è riconoscibile se e solo se è razionale. In altre parole ciò è equivalente ad affermare che se X è una parte di M che satura la congruenza naturalmente indotta da un morfismo ϕ : M → M , dove M è un monoide finito, allora X è finita oppure può ottenersi dalle parti finite applicando un numero finito di volte le operazioni razionali di unione, prodotto e di sottomonoide generato. Inoltre, la famiglia Rat(M) = Ric(M) coincide con la famiglia delle parti di A∗ che sono accettabili da parte di automi finiti. Le famiglie Ric(M) e Rat(M) si possono introdurre quale che sia il monoide M. Come abbiamo visto nel Capitolo 1, Ric(M) è chiusa rispetto alle operazioni Booleane. Inoltre la proprietà di riconoscibilità si preserva per morfismi inversi mentre la razionalità si preserva per morfismi diretti. In generale Ric(M) non contiene le parti finite, non è chiusa rispetto al prodotto e all’operazione stella e Rat(M) non è chiusa per intersezione e quindi per complementazione. Se M è un arbitrario monoide l’uguaglianza Ric(M) = Rat(M) cessa, in generale, di essere vera. I monoidi M per i quali Ric(M) = Rat(M) sono detti monoidi di Kleene. Oltre ai monoidi liberi finitamente generati sono ovviamente monoidi di Kleene anche i monoidi finiti. Non si conoscono altri esempi significativi di monoidi di Kleene. Il seguente teorema dovuto a McKnight e la cui dimostrazione utilizza il teorema di Kleene, mostra che se M è un monoide finitamente generato allora Ric(M) ⊆ Rat(M). Teorema 7.1 (McKnight). Sia M un monoide finitamente generato. Allora Ric(M) ⊆ Rat(M). Dimostrazione. Sia M un monoide finitamente generato. Possiamo scrivere M = B∗ dove B è un sottoinsieme finito di M. Sia poi A un alfabeto finito avente la medesima cardinalità di B e δ : A → B una biiezione. Questa si estende ad un epimorfismo ϕ : A∗ → M. Sia L ∈ Ric(M). Poiché la riconoscibilità si preserva per morfismi inversi si ha che Lϕ −1 ∈ Ric(A∗ ). Essendo A un alfabeto finito per il teorema di Kleene Lϕ −1 ∈ Rat(A∗ ). Poiché la razionalità si preserva per morfismi diretti e ϕ è suriettiva si ha (Lϕ −1 )ϕ = L ∈ Rat(M). Si ha dunque Ric(M) ⊆ Rat(M).  

7.1 Oltre il teorema di Kleene

247

L’esempio seguente mostra che l’inclusione nel teorema di McKnight è, in generale, stretta. Esempio 7.1. Sia A⊗ il monoide commutativo libero generato da due elementi. Se A = {a, b} potremo scrivere A⊗ = A∗ /δ , dove δ è la congruenza in A∗ generata dalla relazione ϑ = {(ab, ba)} (cf. Cap. 3, Sez. 3.5). Per ogni parola w ∈ A∗ denotiamo con δ (w) la classe di congruenza di w modulo δ . Consideriamo allora il sottoinsieme {δ (ab)}∗ di A⊗ . Si ha evidentemente che {δ (ab)}∗ ∈ Rat(A⊗ ). Tuttavia {δ (ab)}∗ ∈ / Ric(A⊗ ). Infatti possiamo scrivere: {δ (ab)}∗ =

 n≥0

δ (ab)n =



δ (an bn ) =

n≥0



δ (a)n δ (b)n .

n≥0

Dal teorema di Myhill (cf. Cap. 1, Teor. 1.2) segue facilmente che non è una parte riconoscibile di A⊗ .

 n≥0

δ (a)n δ (b)n

Se il monoide M non è finitamente generato il teorema di McKnight non è vero. Ciò è una conseguenza del seguente: Lemma 7.1. Siano M un monoide e L ∈ Rat(M). Esiste allora un sottomonoide M di M finitamente generato e tale che L ⊆ M . Dimostrazione. Sia R la famiglia dei sottoinsiemi di M definita dalla proprietà: L ∈ R se esiste un sottoinsieme finito R di M tale che L ⊆ R∗ . La famiglia R è chiusa rispetto alle operazioni razionali. Infatti, se L1 , L2 ∈ R allora esistono due sottoinsiemi finiti R e S di M tali che L1 ⊆ R∗ e L2 ⊆ S∗ . Ne segue che: L1 ∪ L2 ⊆ R∗ ∪ S∗ ⊆ (R ∪ S)∗ , L1 L2 ⊆ R∗ S∗ ⊆ (R ∪ S)∗ , L1∗ ⊆ R∗ . Inoltre se m ∈ M si ha che {m} ⊆ {m}∗ e 0/ ⊆ 0/ ∗ = {ε }. Pertanto R contiene le parti finite di M. Si ha quindi Rat(M) ⊆ R. Pertanto se L ∈ Rat(M) allora L ∈ R, cosicché dalla definizione di R segue che esiste un sottomonoide M finitamente generato di M tale che L ⊆ M .   Per ogni monoide M si ha banalmente M ∈ Ric(M). Se M non è finitamente generato allora M ∈ / Rat(M) poiché in caso contrario per il lemma precedente esisterebbe un sottoinsieme finito R di M tale che M ⊆ R∗ ⊆ M. Quindi M = R∗ il che è assurdo. Ciò mostra che per la validità del teorema di McKnight è essenziale che il monoide M sia finitamente generato. La seguente proposizione stabilisce una relazione importante che esiste tra le parti riconoscibili di A∗ e le parti riconoscibili di un monoide M. Proposizione 7.1. Siano M un monoide e ϕ : A∗ → M un epimorfismo. Per un insieme X ⊆ M le due seguenti condizioni sono equivalenti: i) X ∈ Ric(M), ii) X ϕ −1 ∈ Ric(A∗ ).

248

7 Relazioni razionali

Dimostrazione. La implicazione i) ⇒ ii) segue dal fatto che la riconoscibilità si preserva per morfismi inversi. Dimostriamo allora la implicazione inversa. Sia Z = X ϕ −1 e sia ≡Z la congruenza sintattica di Z. L’insieme Z satura banalmente la congruenza ϕϕ −1 cosicché ϕϕ −1 ⊆ ≡Z poiché ≡Z è la massima congruenza saturata da Z (cf. Cap. 1, Prop. 1.10). Pertanto se M(Z) = A∗ / ≡Z è il monoide sintattico di Z esiste un epimorfismo τ : A∗ /ϕϕ −1 → M(Z) che associa ad ogni classe di congruenza xϕϕ −1 , x ∈ A∗ , la classe ≡Z (x). Dal teorema di isomorfismo (cf. Cap. 1, Teor. 1.1), M ∼ = A∗ /ϕϕ −1 e l’isomorfi∗ −1 −1 smo ζ : M → A /ϕϕ è definito da ζ (ϕ (w)) = wϕϕ per ogni w ∈ A∗ . Poniamo σ = ζ τ . Si ha allora, sempre per il teorema di isomorfismo, che M(Z) ∼ = M/σ σ −1 . ∗ −1 Per ipotesi Z ∈ Ric(A ) cosicché M(Z) è finito e la congruenza σ σ è di indice finito. L’insieme X = Z ϕ satura la congruenza σ σ −1 . Infatti siano x ∈ X e m ∈ M tali che xσ = mσ . Esistono z ∈ Z e w ∈ A∗ tali che x = zϕ e m = wϕ . Si ha allora zϕζ τ = wϕζ τ . Poiché zϕζ = zϕϕ −1 e wϕζ = wϕϕ −1 si ha zϕϕ −1 τ = ≡Z (z) = ≡Z (w) = wϕϕ −1 τ . Poiché z ∈ Z e z ≡Z w ne segue w ∈ Z e quindi m = wϕ ∈ X. Pertanto l’insieme X = Z ϕ satura la congruenza σ σ −1 il che implica X ∈ Ric(M).   Il teorema seguente, dovuto a G. Mezei, fornisce una caratterizzazione delle parti riconoscibili del prodotto diretto M = M1 × M2 di due monoidi M1 e M2 . Teorema 7.2. Siano M = M1 × M2 il prodotto diretto di due monoidi M1 e M2 e X ⊆ M. Si ha X ∈ Ric(M) se e solo se X è una unione finita di insiemi X1 × X2 con Xi ∈ Ric(Mi ), i = 1, 2. Dimostrazione. Cominciamo con il dimostrare la sufficienza. Poiché la riconoscibilità è chiusa per unione finita, l’asserto è provato se mostriamo che dati due insiemi X1 ∈ Ric(M1 ) e X2 ∈ Ric(M2 ) allora X1 × X2 ∈ Ric(M). Siano πi : M → Mi , i = 1, 2, i morfismi proiezione definiti canonicamente come: per ogni (m1 , m2 ) ∈ M

π1 (m1 , m2 ) = m1 , π2 (m1 , m2 ) = m2 . Si ha allora:

π1 (X1 , M2 ) = X1 , π2 (M1 , X2 ) = X2 , cosicché possiamo scrivere: X1 × X2 = (X1 × M2 ) ∩ (M1 × X2 ) = π1−1 (X1 ) ∩ π2−1 (X2 ). Poiché la riconoscibilità si preserva per morfismi inversi (Cap. 1, Prop. 1.14), si ha πi−1 (Xi ) ∈ Ric(M), i = 1, 2. Essendo l’intersezione di parti riconoscibili di M riconoscibile, ne segue X1 × X2 ∈ Ric(M). Dimostriamo ora la necessità. Sia X ∈ Ric(M). Dal Teorema 1.2 del Capitolo 1 esiste allora un monoide finito N ed un morfismo ϕ : M → N tale che X = ϕ −1 (P)

7.1 Oltre il teorema di Kleene

249

dove P = ϕ (X). Conviene introdurre il sottoinsieme Q di N × N definito come: Q = {(n1 , n2 ) ∈ N × N | n1 n2 ∈ P}. Mostreremo che X = ψ −1 (Q) dove ψ è un conveniente morfismo ψ : M → N × N. Il morfismo ψ è costruito come segue. Siano ϕi : Mi → N, i = 1, 2, i morfismi definiti come: per ogni m1 ∈ M1 e m2 ∈ M2

ϕ1 (m1 ) = ϕ (m1 , 1), ϕ2 (m2 ) = ϕ (1, m2 ). Definiamo allora ψ : M → N × N come: per ogni (m1 , m2 ) ∈ M,

ψ (m1 , m2 ) = (ϕ1 (m1 ), ϕ2 (m2 )). Si ha che ψ (m1 , m2 ) ∈ Q se e solo se ϕ1 (m1 )ϕ2 (m2 ) = ϕ (m1 , m2 ) ∈ P. Ne segue che: X = ϕ −1 (P) = ψ −1 (Q). Inoltre si ha per n1 , n2 ∈ N,

ψ −1 (n1 , n2 ) = ϕ1−1 (n1 ) × ϕ2−1 (n2 ). Pertanto: X=

 (n1 , n2 )∈Q

ψ −1 (n1 , n2 ) =



ϕ1−1 (n1 ) × ϕ2−1 (n2 ).

(n1 , n2 )∈Q

Poiché ni ∈ N, i = 1, 2, ed N è finito, si ha che {ni } ∈ Ric(N) e, di conseguenza, poiché la riconoscibilità si preserva per morfismi inversi, ϕi−1 ({ni }) ∈ Ric(Mi ), i = 1, 2. La decomposizione richiesta di X è così ottenuta.   Una classe molto interessante di monoidi è costituita dai monoidi le cui parti finite sono riconoscibili. Un tale monoide si dirà finitamente riconoscibile. Poiché Ric(M) è chiusa rispetto alle operazioni Booleane si ha che un monoide è finitamente riconoscibile se e solo se tutti i singleton m ∈ M sono riconoscibili. Se ϕ : A∗ → M è un epimorfismo dalla Proposizione 7.1 la condizione che M è finitamente riconoscibile è equivalente all’affermazione che per ogni m ∈ M, mϕ −1 ∈ Ric(A∗ ). Se A è finito ciò significa che tutte le classi di congruenza in A∗ modulo la congruenza ϕϕ −1 sono linguaggi razionali. Si noti che in modo simile un semigruppo S si dice finitamente riconoscibile se le parti finite di S sono riconoscibili. Proposizione 7.2. Un semigruppo finitamente riconoscibile è residualmente finito. Dimostrazione. Sia s ∈ S. Poiché {s} ∈ Ric(S) la congruenza sintattica ≡{s} , che denoteremo semplicemente con ≡s , è di indice finito. Sia ora t un qualsiasi elemento di S tale che s = t. Si ha che ≡s separa s da t. Infatti se si suppone che s ≡s t ne seguirebbe s = t una contraddizione.  

250

7 Relazioni razionali

I due seguenti teoremi forniscono delle informazioni interessanti sulla struttura di Green di un semigruppo finitamente riconoscibile. Teorema 7.3. Siano S un semigruppo e D una D-classe regolare di S. Se r ∈ D è tale che {r} ∈ Ric(S) allora il gruppo GD di D è finito. Dimostrazione. La D-classe D è regolare cosicché contiene almeno un elemento idempotente e. Sia r ∈ D tale che {r} ∈ Ric(S). Dal teorema di Green (cf. Teor. 2.3 e Cor. 2.2, Cap. 2) esiste una biiezione tra le H -classi He e Hr . Più precisamente poiché e D r esiste b ∈ S tale che e R b e b L r. Ciò comporta che esistono elementi h, h , k, k ∈ S1 tali che eh = b, bh = e, kb = r, k r = b.

(7.1)

Le applicazioni x → kxh (x ∈ He ) e z → k zh (z ∈ Hr ) sono biiezioni tra He ed Hr mutuamente inverse. Poiché {r} ∈ Ric(S) la congruenza sintattica ≡r è di indice finito. Se il gruppo GD di D è infinito, essendo He ∼ = GD , ne segue che He è infinito (cf. Cap. 2, Sez. 2.3). Esistono allora elementi s,t ∈ He tali che s = t e s ≡r t. Poiché He è un gruppo sia s l’elemento inverso di s in He . Si ha: ss = s s = e e ss = e ≡r ts . Dalla (7.1) si ha keh = r cosicché r = keh ≡r kts h. Ciò comporta r = keh = kts h. Poiché ts ∈ He e le applicazioni del teorema di Green sono biiezioni, ne segue che e = ts . Perciò ts s = es = s = te = t che è una contraddizione.   Corollario 7.1. Se gli idempotenti di un semigruppo S sono riconoscibili allora tutti i sottogruppi di S sono finiti. Dimostrazione. Poiché ogni idempotente e ∈ S è riconoscibile dal teorema precedente segue che He è finito. Dal Teorema 2.2 del Capitolo 2 si ha che tutti i sottogruppi massimali di S sono finiti.   Ricordiamo (cf. Cap. 2) che, dato un elemento s in un semigruppo S, Js e Ds denotano rispettivamente la J -classe e la D-classe di S che contengono l’elemento s. Teorema 7.4. Sia S un semigruppo. Se {s} ∈ Ric(S) allora s è stabile e Js = Ds . Dimostrazione. Sia {s} ∈ Ric(S) e supponiamo che t ∈ Js è tale che tS1 ⊆ sS1 . Ne segue che esistono elementi r, u, v ∈ S1 tali che t = sr e s = utv. Si ha allora che per tutti gli n ≥ 0, s = un s(rv)n . Poiché ≡s è di indice finito esistono due interi n ed m con n < m e tali che (rv)n ≡s (rv)m . Ponendo m = n + p, con p > 0, possiamo scrivere s = un s(rv)n ≡s un s(rv)n (rv) p . Ne segue che s = srv(rv) p−1 = tv(rv) p−1 cosicché sS1 ⊆ tS1 . Si ha dunque s R t. In modo simmetrico si dimostra che se S1t ⊆ S1 s allora s L t.

7.1 Oltre il teorema di Kleene

251

Poiché t ∈ Js , si ha t = xsy con x, y ∈ S1 . Pertanto S1tS1 ⊆ S1 xsS1 ⊆ S1 sS1 e S1tS1 ⊆ ⊆ S1 sS1 . Si ha allora xs, sy ∈ Js . Poiché S1 xs ⊆ S1 s e syS1 ⊆ sS1 dalla stabilità di s si ha xs L s e sy R s. Essendo R invariante a sinistra segue t = xsy R xs il che implica t ∈ Ds .   S1 syS1

I semigruppi e i monoidi finitamente riconoscibili soddisfano molte altre proprietà strutturali sulle quali non possiamo soffermarci. Il Lettore interessato può consultare l’articolo (de Luca, Varricchio 1992b) e il volume (de Luca, Varricchio 1999). Ci limitiamo qui a ricordare il ruolo importante che i semigruppi finitamente riconoscibili giocano in relazione alla seguente congettura di teoria degli automi formulata da Brzozowski nel 1979. Siano A un alfabeto finito di cardinalità r, n un intero positivo e ϑn la relazione di congruenza generata dalla relazione {(xn , xn+1 ) | x ∈ A+ }. Per ogni parola w ∈ A+ la classe di congruenza [w]ϑn , o semplicemente, [w]n , è, come si verifica facilmente, un linguaggio aperiodico di indice n (cf. Cap. 6, Sez. 6.7.1). Congettura (Brzozowski). Sia n > 0. Per ogni parola w ∈ A+ la classe di congruenza [w]n è un linguaggio razionale. Sia B(r, n, n + 1) = A+ /ϑn il semigruppo quoziente di A+ per la congruenza ϑn . Dalla Proposizione 7.1 si ricava immediatamente che per ogni n > 0 e w ∈ A+ , [w]n è razionale se e solo se B(r, n, n + 1) è finitamente riconoscibile. La congettura di Brzozowski è stata dimostrata vera da A. de Luca e S. Varricchio per n > 4 e successivamente da A. Pereira do Lago per n = 4 e da V. Guba per n = 3. Per n = 1 la congettura è banalmente vera poiché il semigruppo B(r, 1, 2) come è ben noto, è finito (cf. Lallement 1979). Resta ancora aperto il caso n = 2. Concludiamo questa sezione riportando alcuni risultati che riguardano le parti riconoscibili e razionali dei gruppi. Proposizione 7.3. Siano G un gruppo ed X ⊆ G. Si ha che: 1) X ∈ Ric(G) se e solo esiste un sottogruppo normale H di G di indice finito tale che X è una unione di cosets di H, 2) Un sottogruppo H di G appartiene a Ric(G) se e solo se l’indice di H in G è finito. Dimostrazione. 1) Come si è visto nel Capitolo 1 esiste una corrispondenza biunivoca tra le relazioni di congruenza nei gruppi e i sottogruppi normali. Se H è un sottogruppo normale di G e g ∈ G allora il coset Hg = gH è la classe di congruenza che contiene g. L’indice della congruenza associata ad H è dato dall’indice [G : H] di H in G che per ipotesi è finito. Il risultato segue dal fatto che X ∈ Ric(G) se e solo se X è unione di classi di una congruenza in G di indice finito. 2) Sia ind(NH ) l’indice dell’equivalenza di Nerode di H. Per ogni coppia g1 e g2 di elementi di G si ha che: −1 g1 NH g2 ⇐⇒ g−1 1 H = g2 H ⇐⇒ Hg1 = Hg2 ,

252

7 Relazioni razionali

dove l’ultima relazione deriva dal fatto che, per g ∈ G, (g−1 H)−1 = Hg. Pertanto l’indice [G : H] = ind(NH ). Dal Teorema 1.2 segue l’asserto.   Relativamente alle parti razionali dei gruppi vale il seguente teorema dovuto ad A. V. Anisimov e F. D. Seifert che riportiamo senza dimostrazione. Teorema 7.5. Siano G un gruppo ed H un sottogruppo di G. Si ha che H ∈ Rat(G) se e solo se H è finitamente generato. Come conseguenza del Teorema 7.3 si ha: Proposizione 7.4. Sia G un gruppo. Se un singleton g ∈ G è riconoscibile allora G è finito. Dimostrazione. Sia g ∈ G una parte riconoscibile di G. Poiché Dg = G è banalmente una D-classe regolare e il gruppo di Dg è uguale a G, dal Teorema 7.3 segue che G è finito.  

7.2 Relazioni razionali Siano A∗ e B∗ i monoidi liberi generati da A e da B rispettivamente e A∗ × B∗ il loro prodotto diretto che è un monoide rispetto alla operazione di prodotto indotta dal prodotto di concatenazione di ciascuno dei due monoidi, cioè, per ogni (u, v), (u , v ) ∈ A∗ × B ∗ , (u, v)(u , v ) = (uu , vv ). Ricordiamo che una relazione τ da A∗ in B∗ è un qualsiasi sottoinsieme di A∗ × B∗ (vedi Cap. 1, Sez. 1.2). Seguendo la notazione del Capitolo 1, per ogni x ∈ A∗ , τ (x) è l’insieme τ (x) = {y ∈ B∗ | x τ y} e se X è un sottoinsieme di A∗ , τ (X) è l’insieme

τ (X) =



τ (x).

x∈X

Se τ è una relazione da A∗ in B∗ , la relazione inversa τ −1 è la relazione da B∗ in A∗ definita come τ −1 = {(y, x) ∈ B∗ × A∗ | (x, y) ∈ τ }. Diamo ora la definizione di relazione razionale. Definizione 7.1. Siano A e B alfabeti. Una relazione da A∗ in B∗ si dice razionale se è un sottoinsieme razionale del monoide A∗ × B∗ . Di conseguenza, una relazione da A∗ in B∗ è razionale se e solo se può ottenersi a partire da sottoinsiemi finiti di A∗ × B∗ tramite l’applicazione, in un numero finito di volte, delle operazioni razionali di A∗ × B∗ . Supponiamo ora che τ sia razionale. Poiché i monoidi A∗ × B∗ e B∗ × A∗ sono isomorfi e la proprietà di razionalità si preserva per morfismi diretti (Cap. 1, Prop. 1.16), ne segue che τ −1 è un sottoinsieme razionale del monoide B∗ × A∗ e, di conseguenza, τ −1 è razionale. Vale dunque il lemma seguente.

7.2 Relazioni razionali

253

Lemma 7.2. Sia τ una relazione razionale da A∗ in B∗ . Allora τ −1 è una relazione razionale da B∗ in A∗ . B∗

Nel seguito supporremo che A e B sono alfabeti finiti. In tal caso il monoide A∗ × è finitamente generato ed ha un insieme minimale di generatori dato da: {(a, ε ) | a ∈ A} ∪ {(ε , b) | b ∈ B}.

Se A e B non sono vuoti, A∗ × B∗ non è libero poiché per ogni a ∈ A e b ∈ B si ha (a, b) = (a, ε )(ε , b). Lemma 7.3. Siano A e B alfabeti finiti e ϕ : A∗ −→ B∗ un morfismo di A∗ in B∗ . Allora ϕ è una relazione razionale da A∗ in B∗ . Dimostrazione. Osserviamo che un morfismo ϕ : A∗ −→ B∗ è certamente una relazione da A∗ in B∗ . Mostriamo che ϕ è razionale. Sia E la relazione da A∗ in B∗ data da: E = {(a, ϕ (a)) ∈ A∗ × B∗ | a ∈ A}. L’asserto segue immediatamente dal fatto che Card(E) = Card(A) cosicché E è una parte finita e quindi razionale di A∗ × B∗ ed inoltre ϕ = E ∗ .   Esempio 7.2. La relazione τ1 = {(av, va) | a ∈ A, v ∈ A∗ } è razionale. Infatti si può rappresentare mediante l’espressione razionale seguente:

τ1 =



(a, ε )(

a∈A



(x, x))∗ (ε , a).

x∈A

La relazione

τ2 = {(u, v) | u è prefisso di v} è razionale. Infatti si ha:

τ2 = (



a∈A

(a, a))∗ (



(ε , a))∗ .

a∈A

La relazione τ3 da A∗ in B∗ con A = {x} e B = {a, b} definita da

τ3 = {(x2n , a2n ) | n ≥ 0} ∪ {(x2n+1 , b2n+1 ) | n ≥ 0} è una relazione (funzione) razionale. Infatti può scriversi:

τ3 = (x2 , a2 )∗ ∪ (x, b)(x2 , b2 )∗ . Una sottoclasse della classe Rat(A∗ × B∗ ) è costituita dalla famiglia Ric(A∗ × B∗ ) delle parti riconoscibili di A∗ ×B∗ . Il teorema di Mezei (cf. Teorema 7.2) fornisce una caratterizzazione delle parti (o relazioni) riconoscibili di A∗ × B∗ . La seguente proposizione ci mostra che l’insieme delle relazioni riconoscibili è propriamente incluso nell’insieme delle relazioni razionali. Inoltre il prodotto insiemistico di due relazioni riconoscibili è una relazione riconoscibile. Si noti che la famiglia delle relazioni razionali non è chiusa rispetto ad intersezione e complemento (vedi Eser. 7.9).

254

7 Relazioni razionali

Proposizione 7.5. Siano A e B alfabeti finiti. Si ha che: 1) Ric(A∗ × B∗ ) ⊂ Rat(A∗ × B∗ ), 2) Se L, M ∈ Ric(A∗ × B∗ ) allora LM ∈ Ric(A∗ × B∗ ). Dimostrazione. 1) Poiché il monoide A∗ × B∗ è finitamente generato, dal teorema di McKnight segue che ogni parte riconoscibile di A∗ × B∗ è una parte razionale. Al fine di mostrare che l’inclusione è propria siano a ∈ A e b ∈ B e N il sottoinsieme razionale di A∗ × B∗ definito come N = (a, b)∗ = {(an , bn ) | n ≥ 0}. Mostriamo che N non è una parte riconoscibile di A∗ × B∗ . Supponiamo per assurdo che N sia riconosci¯ e il morfismo α : C∗ → A∗ × B∗ definito da bile. Introduciamo l’alfabeto C = {a, ¯ b} ¯ α (a) ¯ = (a, ε ), α (b) = (ε , b). Poiché la riconoscibilità si preserva per morfismi inversi si avrebbe che α −1 (N) = {w ∈ C∗ | |w|a¯ = |w|b¯ } sarebbe una parte riconoscibile del monoide libero C∗ il che è assurdo (cf. Cap. 4, Esempio 4.9). 2) Dal teorema di Mezei si può scrivere L=

n 

Li × Mi , M =

i=1

m 

L j × M j ,

j=1

con Li , Li ∈ Ric(A∗ ) e Mi , Mi ∈ Ric(B∗ ). Pertanto: LM =

m n  

Li L j × Mi M j .

i=1 j=1

Poiché Li L j ∈ Ric(A∗ ) e Mi M j ∈ Ric(B∗ ) dal teorema di Mezei segue l’asserto.

 

Dimostriamo ora alcuni risultati, noti quali teorema di Nivat, che forniscono una caratterizzazione algebrica delle relazioni razionali in termini di morfismi di monoidi liberi e di linguaggi razionali. Come vedremo, ogni relazione razionale può essere convenientemente rappresentata tramite una tripla (ϕ , ψ , K) dove ϕ e ψ sono opportuni morfismi di monoidi liberi e K un linguaggio razionale. Teorema 7.6 (Nivat). Siano A e B alfabeti finiti. Le seguenti condizioni sono equivalenti: i) τ ∈ Rat(A∗ × B∗ ). ii) Esistono un alfabeto C, due morfismi ϕ : C∗ −→ A∗ , ψ : C∗ −→ B∗ , ed un linguaggio razionale K ⊆ C∗ tali che

τ = {(ϕ (z), ψ (z)) | z ∈ K}.

(7.2)

iii) Esistono un alfabeto C, due morfismi alfabetici α : C∗ −→ A∗ , β : C∗ −→ B∗ , ed un linguaggio razionale K ⊆ C∗ tali che

τ = {(α (z), β (z)) | z ∈ K}. iv) Esistono un alfabeto C, due morfismi alfabetici α : C∗ −→ A∗ , β : C∗ −→ B∗ , ed

7.2 Relazioni razionali

255

un linguaggio strettamente locale K ⊆ C∗ tali che

τ = {(α (z), β (z)) | z ∈ K}. Inoltre, se A ∩ B = 0, / allora la Condizione (i) è equivalente a: v)

Esiste un linguaggio razionale K ⊆ (A ∪ B)∗ tale che

τ = {(πA (z), πB (z)) | z ∈ K}, dove πA e πB sono le proiezioni di (A ∪ B)∗ su A∗ e B∗ rispettivamente. Dimostrazione. Le implicazioni iv) ⇒ iii) ⇒ ii) sono ovvie. Proviamo l’implicazione ii) ⇒ i). Sia τ ⊆ A∗ × B∗ una relazione che soddisfa la (7.2). Sia δ : C∗ −→ A∗ × B∗ il morfismo definito come: per ogni w ∈ C∗ ,

δ (w) = (ϕ (w), ψ (w)). Si ha τ = δ (K). Poiché K ∈ Rat(C∗ ) e la razionalità si preserva per morfismi diretti ne segue che τ ∈ Rat(A∗ × B∗ ). Proviamo l’implicazione iii) ⇒ iv). Per il teorema di Medvedev (Cap. 4, Teor. 4.8), esistono un alfabeto C ed un morfismo alfabetico γ : C ∗ −→ C∗ tale che K = γ (K ) dove K è un linguaggio strettamente locale in C ∗ . Siano α = γα : C ∗ −→ A∗ e β = γβ : C ∗ −→ B∗ . Ne segue allora che

τ = {(α (z), β (z)) | z ∈ K }. Osserviamo infine che, essendo α , β e γ morfismi alfabetici, anche i morfismi α e β sono alfabetici. Proviamo l’implicazione i) ⇒ v). Supponiamo A ∩ B = 0/ e definiamo l’applicazione π : (A ∪ B)∗ −→ A∗ × B∗ come: per ogni z ∈ (A ∪ B)∗ ,

π (z) = (πA (z), πB (z)),

(7.3)

dove πA : (A ∪ B)∗ −→ A∗ e πB : (A ∪ B)∗ −→ B∗ sono le proiezioni di (A ∪ B)∗ su A∗ e su B∗ rispettivamente. Osserviamo che l’applicazione π è un epimorfismo del monoide (A ∪ B)∗ nel monoide A∗ × B∗ . Per ipotesi τ ∈ Rat(A∗ × B∗ ). Per la Proposizione 1.17 del Capitolo 1, esiste un linguaggio razionale K di (A ∪ B)∗ tale che π (K) = τ e la Condizione v) è provata. L’implicazione v) ⇒ i) segue subito dal fatto che, per ipotesi, τ è immagine tramite il morfismo π definito dalla (7.3) di un linguaggio razionale e che la proprietà di razionalità si preserva per morfismi diretti. Proviamo infine l’implicazione i) ⇒ iii). Supponiamo prima che A ∩ B = 0. / Allora si ha i) ⇒ v) ⇒ iii) e l’implicazione è dunque provata poiché le proiezioni sono morfismi alfabetici. Supponiamo ora che A ∩ B = 0. / Siano A e B alfabeti disgiunti tali che Card(A ) = Card(A) e Card(B ) = Card(B). Siano cA : A∗ −→ A ∗ e cB : B∗ −→ B ∗ due morfi-

256

7 Relazioni razionali

smi copia generati da una biiezione da A su A e da B su B rispettivamente. Sia inoltre c : A∗ × B∗ −→ A ∗ × B ∗ l’isomorfismo tale che, per ogni (u, v) ∈ A∗ × B∗ , c(u, v) = (cA (u), cB (v)). Sia τ = c(τ ). Poiché τ ∈ Rat(A∗ × B∗ ) e la proprietà di razionalità si preserva per morfismi diretti, si ha τ ∈ Rat(A ∗ × B ∗ ). Poiché A ∩ B = 0, / per la v), si ha: τ = {(πA (z), πB (z)) | z ∈ K }, (7.4) dove πA e πB sono le proiezioni di (A ∪ B )∗ su A ∗ e su B ∗ rispettivamente e K ∈ Rat(A ∪ B )∗ . In virtù della (7.4), si verifica facilmente che: −1 τ = {(πA c−1 A (z), πB cB (z)) | z ∈ K }. −1 ∗ ∗ L’asserto segue infine osservando che i morfismi πA c−1 A : (A ∪ B ) −→ A e πB cB : ∗ ∗ (A ∪ B ) −→ B sono alfabetici.  

Dimostriamo ora una conseguenza importante del teorema precedente. Teorema 7.7. Sia τ una relazione razionale da A∗ in B∗ . Per ogni linguaggio razionale X di A∗ , τ (X) è un linguaggio razionale di B∗ . Dimostrazione. Per la ii) del Teorema 7.6, esistono un alfabeto C, due morfismi ϕ : C∗ −→ A∗ , ψ : C∗ −→ B∗ , ed un linguaggio razionale K ⊆ C∗ tali che:

τ = {(ϕ (z), ψ (z)) | z ∈ K}, da cui, per ogni x ∈ A∗ , si ottiene:

τ (x) = ψ (ϕ −1 (x) ∩ K).

(7.5)

Infatti, y ∈ τ (x) ⇐⇒ esiste z ∈ K tale che x = ϕ (z) e y = ψ (z) ⇐⇒ z ∈ ϕ −1 (x) ∩ K, y = ψ (z) ⇐⇒ y ∈ ψ (ϕ −1 (x) ∩ K). Dalla (7.5) si ha:

τ (X) =



τ (x) = ψ (ϕ −1 (X) ∩ K).

x∈X

Sia X ∈ Rat(A∗ ). L’asserto segue immediatamente dalla condizione precedente poiché la famiglia Rat(A∗ ) è chiusa rispetto all’operazione di intersezione ed, inoltre, la proprietà di razionalità si preserva per morfismi inversi e per morfismi diretti di monoidi liberi finitamente generati (cf. Cap. 4, Prop. 4.16).   Il seguente esempio ci mostra che esistono relazioni non razionali. Esempio 7.3. Sia A = {a, b} ed f : A∗ → A∗ la funzione definita ricorsivamente come: f (ε ) = ε e per ogni u ∈ A∗ , f (au) = a f (u) e f (bu) = f (u)b. Si ha evidentemente che per ogni w ∈ A∗ , f (w) = a|w|a b|w|b . La funzione f non è razionale. Infatti, se f fosse razionale, in base al Teorema 7.7, si avrebbe f ((ab)∗ ) ∈ Rat(A∗ ). D’altra parte, f ((ab)∗ ) = {an bn | n ≥ 0} che sappiamo essere non razionale.

7.3 Trasduttori

257

Sia τ ⊆ A∗ × B∗ una relazione da A∗ in B∗ . Come si è visto nel Capitolo 1, a τ è possibile associare un’applicazione τ : A∗ −→ P(B∗ ) detta anche trasduzione da A∗ in B∗ definita, per ogni x ∈ A∗ , come τ(x) = τ (x). Viceversa, ad ogni trasduzione τ : A∗ −→ P(B∗ ) si può associare la relazione τ da A∗ in B∗ definita per x ∈ A∗ e y ∈ B∗ come x τ y se e solo se y ∈ τ(x). Una trasduzione τ si dirà razionale se τ è una relazione razionale da A∗ in B∗ . Le nozioni di relazione razionale e di trasduzione razionale sono strettamente legate cosicché tutti i risultati sulle relazioni razionali, e tra questi il teorema di Nivat, possono essere rivisitate alla luce della nozione di trasduzione razionale. Così, ad esempio, si verifica facilmente (vedi dimostrazione del Teorema 7.7) che una trasduzione τ : A∗ −→ P(B∗ ) è razionale se e solo se esistono un alfabeto C, due morfismi ϕ : C∗ −→ A∗ , ψ : C∗ −→ B∗ , ed un linguaggio razionale K ⊆ C∗ tali che, per ogni x ∈ A∗ , τ(x) = ψ (ϕ −1 (x) ∩ K).

7.3 Trasduttori Sia τ una relazione da A∗ in B∗ . Intuitivamente una macchina, o automa, realizza la relazione τ se essa è in grado di riconoscere o accettare tutte e sole le coppie di parole (u, v) ∈ A∗ × B∗ tali che u τ v. Il modo più naturale di pensare ad una tale macchina è quello di un automa finito non deterministico dotato di un nastro di ingresso e uno di uscita. Ad ogni cammino che porta l’automa da uno stato iniziale ad uno terminale risulta associata una coppia (u, v) ∈ A∗ × B∗ , dove u (resp. v) è la sequenza input (resp. output) sull’alfabeto A (resp. B) letta lungo il cammino. Una tale macchina è detta trasduttore. Ad ogni trasduttore si può far corrispondere una relazione da A∗ in B∗ che si dirà realizzata dal trasduttore. Come vedremo una relazione τ ⊆ A∗ × B∗ è razionale se e solo se è realizzata da un trasduttore. Diamo la seguente definizione formale di trasduttore. Definizione 7.2. Un trasduttore T = (A, B, S, I, S , E) è una sestupla dove A è l’alfabeto d’ingresso, B l’alfabeto d’uscita, S è un insieme finito di stati, I è l’ insieme degli stati iniziali, S è l’insieme degli stati terminali, ed E ⊂ S × A ∗ × B∗ × S è un insieme finito di archi orientati ed etichettati, detto insieme delle transizioni. In modo simile a quanto visto nel caso degli automi finiti, un trasduttore è rappresentato da un grafo i cui vertici sono gli stati di S e ad ogni transizione e = (s, u, v, s ) ∈ E è associato un arco orientato diretto da s a s con l’etichetta u/v. Sia E ∗ il monoide libero su E. Sia w ∈ E ∗ ; possiamo scrivere se w = ε w = (s1 , u1 , v1 , s 1 )(s2 , u2 , v2 , s 2 ) · · · (sn , un , vn , s n ),

(7.6)

258

7 Relazioni razionali

e associare a w l’etichetta ||w|| definita come: ||w|| = (u, v) con u = u1 · · · un , v = v1 · · · vn . Inoltre si pone ||ε || = (ε , ε ). La funzione || · || : E ∗ → A∗ × B∗ che fa corrispondere ad ogni w ∈ E ∗ , ||w|| ∈ ∗ A × B∗ è chiaramente un morfismo che può essere decomposto nei due morfismi α : E ∗ → A∗ e β : E ∗ → B∗ definiti da ||w|| = (α (w), β (w)). La parola w data dalla (7.6) è un cammino da s1 a s n se per ogni 1 ≤ i ≤ n − 1 si ha s i = si+1 . Per ogni s, s ∈ S denotiamo con Γ (s, s ) l’insieme di tutti i cammini da s a s . Se S1 , S2 ⊆ S si denoterà con Γ (S1 , S2 ) l’insieme: 

Γ (S1 , S2 ) =

Γ (s, s ).

s∈S1 , s ∈S2

Per ogni s,t ∈ S poniamo T (s,t) = {||w|| | w ∈ Γ (s,t)} e T (S1 , S2 ) = {||w|| | w ∈ Γ (S1 , S2 )}. Si dice che un cammino w ha successo se s1 ∈ I e s n ∈ S . L’insieme di tutti i cammini che hanno successo è dunque Γ (I, S ). Associamo ora ad ogni trasduttore T la relazione, che denoteremo con |T |, e che diremo essere realizzata da T definita da: per ogni u ∈ A∗ |T |(u) = {v ∈ B∗ | (u, v) ∈ Γ (I, S )}.

(7.7)

Pertanto v ∈ |T |(u) se e solo se esiste un cammino con successo in T con etichetta (u, v). Utilizzando i due morfismi α e β possiamo riscrivere la (7.7) nella forma seguente: |T |(u) = β (α −1 (u) ∩ Γ (I, S )). (7.8) Il seguente importante teorema mostra che la classe delle relazioni realizzate da trasduttori coincide con la classe delle relazioni razionali. Teorema 7.8. Una relazione τ da A∗ in B∗ è razionale se e solo se è realizzata da un trasduttore. Dimostrazione. Sia τ una relazione realizzata da un trasduttore T . Dal teorema di Nivat (cf. Teor. 7.6) si ha che τ è una relazione razionale se l’insieme Γ (I, S ) dei cammini in T che hanno successo è un linguaggio razionale. A tal fine, essendo I e S insiemi finiti, è sufficiente mostrare che per ogni s, s ∈ S l’insieme dei cammini Γ (s, s ) è un linguaggio razionale. In realtà possiamo far vedere che Γ (s, s ) è un linguaggio 2-strettamente locale di E ∗ . Infatti si può scrivere:

Γ (s, s ) = Ω ∪ (Us E ∗ ∩ E ∗Vs ) \ E ∗W E ∗ , dove gli insiemi Us ,Vs ,W e Ω sono definiti come segue: Us = {(s1 , u, v, s2 ) ∈ E | s1 = s},

Vs = {(s1 , u, v, s2 ) ∈ E | s2 = s },

7.3 Trasduttori

W = {(s1 , u, v, s 1 )(s2 , u , v , s 2 ) ∈ E 2 | s 1 = s2 },

259

Ω = Γ (s, s ) ∩ {ε }.

Poiché Ω è finito, gli insiemi Us , Vs ⊆ E, W ⊆ E 2 ed E è finito, si ha che Γ (s, s ) è un linguaggio 2-strettamente locale di E ∗ . Viceversa sia τ una relazione razionale da A∗ in B∗ . Dopo una eventuale copia possiamo sempre assumere che A ∩ B = 0. / Dalla Condizione v) del teorema di Nivat esiste un linguaggio razionale K ⊆ (A ∪ B)∗ tale che per ogni u ∈ A∗

τ (u) = πB (πA−1 (u) ∩ K), dove πA e πB sono i morfismi proiezione πA : (A ∪ B)∗ → A∗ e πB : (A ∪ B)∗ → B∗ . Sia A = (A ∪ B, S, λ , s0 , S ) un automa finito che riconosce il linguaggio razionale K. Definiamo il trasduttore T = (A, B, S, {s0 }, S , E) con E = {(s, πA (z), πB (z), λ (s, z)) | s ∈ S, z ∈ A ∪ B}. Si verifica facilmente che per ogni u ∈ A∗ , |T |(u) = τ (u), cosicché τ è realizzata da T .   Esempio 7.4. Come si è visto (vedi Lemma 7.3) un morfismo ϕ : A∗ → B∗ è una relazione razionale. In effetti, il morfismo ϕ è realizzato dal semplice trasduttore riportato in Fig. 7.1.  a/ ϕ (a) - 06  i b/ϕ (b)   6 Fig. 7.1. Trasduttore che realizza il morfismo ϕ

Sia A = {x}, B = {a, b} e ρ la funzione definita da ρ (xn ) = an se n è pari, ρ (xn ) = bn se n è dispari. La funzione ρ è razionale poiché il grafo di ρ è dato da (x2 , a2 )∗ ∪ (x, b)(x2 , b2 )∗ . In effetti la funzione ρ è realizzata dal trasduttore riportato in Fig. 7.2. Nella Fig. 7.3 è riportato il grafo di un trasduttore avente 4 stati che realizza la funzione σ : A∗ → A∗ detta traslazione circolare destra che ad ogni parola w = a1 a2 · · · an associa σ (w) = an a1 · · · an−1 .   6



x/b

 x2 /b2 1j

- 0j @

ε /ε@

  @ 6 R 2j @  x2 /a2

Fig. 7.2. Trasduttore che realizza la funzione ρ

260

7 Relazioni razionali b/a

    - 6 a/a  b/b 0j 1j   6    a/b b/a

    6b/b - j j a/a  2 3   6    a/b

Fig. 7.3. Trasduttore che realizza la traslazione circolare destra σ

7.4 Trasduttori e funzioni sequenziali Una funzione parziale f : A∗ → B∗ che sia una relazione razionale è detta funzione razionale. In questa sezione siamo interessati a funzioni che non solo siano razionali, ma che possano essere calcolate in modo sequenziale. Tale scopo è ottenuto mediante l’introduzione di un particolare automa dotato non solo di una funzione di transizione, ma anche di una funzione di uscita. Un tale automa è detto trasduttore sequenziale o anche macchina sequenziale generalizzata (in Inglese generalized sequential machine (gsm)). Definizione 7.3. Un trasduttore sequenziale è una sestupla T = (A, B, S, λ , δ , s0 ), dove A e B sono due alfabeti detti di ingresso e di uscita, S è l’insieme finito degli stati, s0 è uno stato detto stato iniziale, e λ e δ sono due funzioni parziali

λ : S × A → S, δ : S × A → B∗ , dette rispettivamente funzione di transizione e funzione di uscita, tali che Dom λ = Dom δ . Un trasduttore sequenziale T la cui funzione di uscita δ è tale che per ogni (s, a) ∈ Dom δ , δ (s, a) ∈ B si dice macchina o automa di Mealy. Un automa di Mealy la cui funzione di uscita dipende solo dallo stato e non dall’input è detto automa di Moore. Sia T un trasduttore sequenziale. Per ogni (s, a) ∈ Dom λ = Dom δ si denoterà λ (s, a) con sa e δ (s, a) con s ∗ a. Le funzioni di transizione e di uscita possono essere estese a S × A∗ nelle due funzioni parziali λ¯ : S × A∗ → S e δ¯ : S × A∗ → B∗ che andremo a definire. Anzitutto se (s, w) ∈ Dom λ¯ si denoterà λ¯ (s, w) con sw e δ¯ (s, w) con s ∗ w. Le funzioni λ¯ e δ¯ sono allora definite induttivamente come segue: per u ∈ A∗ ,

7.4 Trasduttori e funzioni sequenziali

261

a ∈ A ed s ∈ S tali che (s, u) ∈ Dom λ¯ e (su, a) ∈ Dom λ , sε = s, s(ua) = (su)a, s ∗ ε = ε , s ∗ (ua) = (s ∗ u)((su) ∗ a). Si verifica allora facilmente che per ogni u, v ∈ A∗ e s ∈ S tali che (s, u), (su, v) ∈ Dom λ¯ si ha: s(uv) = (su)v, s ∗ (uv) = (s ∗ u)((su) ∗ v). A T è possibile associare la funzione parziale |T | : A∗ → B∗ definita da: per ogni u ∈ A∗ |T |(u) = s0 ∗ u. Una funzione parziale f : A∗ → B∗ si dirà funzione sequenziale se f = |T | per qualche trasduttore sequenziale T . Proposizione 7.6. Ogni funzione sequenziale è razionale. Dimostrazione. Sia f : A∗ → B∗ una funzione parziale realizzata dal trasduttore sequenziale T = (A, B, S, λ , δ , s0 ). A T si può associare in modo naturale il trasduttore T ∗ = (A, B, S, {s0 }, S , E), dove S = S ed E è dato da: E = {(s, a, s ∗ a, sa) | s ∈ S, a ∈ A, (s, a) ∈ Dom λ }. Si verifica facilmente che |T ∗ | = |T | = f .

 

Si noti che le funzioni sequenziali sono funzioni razionali molto particolari. In effetti se f = |T |, w ∈ Dom f e w = uv, si ha: f (w) = s0 ∗ (uv) = (s0 ∗ u)((s0 u) ∗ v) = f (u)((s0 u) ∗ v) ∈ f (u)B∗ , cosicché una funzione sequenziale preserva i prefissi, cioè se u è prefisso di w allora f (u) è prefisso di f (w). L’esempio classico di funzione sequenziale è un morfismo ϕ : A∗ → B∗ che può realizzarsi mediante un semplicissimo trasduttore sequenziale ottenuto dal trasduttore di Fig. 7.1 in cui l’unico stato è lo stato iniziale del trasduttore sequenziale. Il trasduttore sequenziale riportato nel diagramma seguente realizza la funzione sequenziale τ : {a, b}∗ → a∗ definita per ogni w ∈ {a, b}∗ come: τ (w) = an dove n è il numero di occorrenze di aba in w.

262

7 Relazioni razionali

'

b/ε 

$

a/ε  ? - 0k  a/ε - 1k b/ε - 2k 6

 " ! b/ε a/a

Esistono funzioni razionali che non sono sequenziali, ad esempio funzioni razionali che non preservano i prefissi quali ad esempio le funzioni ρ e σ realizzate dai trasduttori di Fig. 7.2 e Fig. 7.3 rispettivamente.

7.5 Teorema di Elgot e Mezei Una conseguenza importante del Teorema di Nivat riguarda l’operazione di composizione o prodotto di relazioni razionali (cf. Cap. 1, Sez. 1.2). Siano A, B e C tre alfabeti e siano τ ⊆ A∗ × B∗ e σ ⊆ B∗ ×C∗ relazioni da A∗ in B∗ e da B∗ in C∗ rispettivamente. Ricordiamo che la composizione di τ e σ è la relazione τσ ⊆ A∗ ×C∗ definita come: per ogni u ∈ A∗ , v ∈ C∗ , u τσ v se esiste w ∈ B∗ tale che u τ w e w σ v. Un importante teorema dovuto a C. C. Elgot e G. Mezei mostra che la proprietà di razionalità delle relazioni è preservata dall’operazione di composizione (vedi Teor. 7.9). Conviene esplicitamente osservare che la composizione di due relazioni razionali non va confusa con il loro prodotto insiemistico che è sempre banalmente una relazione razionale. Premettiamo il seguente utile lemma. Lemma 7.4. Siano X,Y e Z alfabeti a due a due disgiunti. Si ponga X = X ∪ Y , Z = Y ∪ Z e T = X ∪Y ∪ Z. Siano

α : X ∗ −→ Y ∗ , β : Z ∗ −→ Y ∗ , α : T ∗ −→ X ∗ , β : T ∗ −→ Z ∗ , le proiezioni di X ∗ su Y ∗ , di Z ∗ su Y ∗ , di T ∗ su X ∗ e di T ∗ su Z ∗ rispettivamente. Allora si ha −1 αβ −1 = α β .

7.5 Teorema di Elgot e Mezei

263

T ∗ = (X ∪Y ∪ Z)∗

@

@ β @ @ R @ - (Y ∪ Z)∗ = Z ∗

α



X ∗ = (X ∪Y )∗

@

@ α

@ @ R @

β Y∗



Il diagramma sopra riportato serve ad illustrare il lemma precedente. Dimostrazione. Innanzitutto, osserviamo che le relazioni αβ −1 e α −1 β sono morfismi del monoide libero X ∗ nel semigruppo moltiplicativo P(Z ∗ ) delle parti di Z ∗ . Verifichiamo, anzitutto, che, per ogni w1 , w2 ∈ X ∗ , si ha: (αβ −1 )(w1 )(αβ −1 )(w2 ) = (αβ −1 )(w1 w2 ). In effetti, u

∈ (αβ −1 )(w

1

)(αβ −1 )(w

2)

(7.9)

se e solo se u = u1 u2 con

u1 ∈ (αβ −1 )(w1 ),

u2 ∈ (αβ −1 )(w2 ).

Poiché la condizione precedente è equivalente a dire che

β (u1 ) = α (w1 ) e β (u2 ) = α (w2 ), si ha

β (u) = β (u1 )β (u2 ) = α (w1 )α (w2 ) = α (w1 w2 ), e dunque

u ∈ (αβ −1 )(w1 w2 ),

da cui segue la (7.9). In modo del tutto analogo, si procede nel caso della relazione α −1 β . Poiché αβ −1 e α −1 β sono morfismi del monoide libero X ∗ nel semigruppo moltiplicativo P(Z ∗ ), per dimostrare l’asserto, è sufficiente provare l’eguaglianza dei due morfismi sull’insieme X ∪ {ε }. Prima di tutto, come si verifica facilmente, si ha: −1 (αβ −1 )(ε ) = β −1 (ε ) = Z ∗ , (α β )(ε ) = β (Z ∗ ) = Z ∗ , mentre, per ogni x ∈ X (αβ −1 )(x) = β −1 (ε ) = Z ∗ ,



−1



−1

β )(x) = β (Z ∗ xZ ∗ ) = Z ∗ .

Infine, per ogni y ∈ Y si ha: (αβ −1 )(y) = β −1 (y) = Z ∗ yZ ∗ , il che dimostra l’asserto.

β )(y) = β (Z ∗ yZ ∗ ) = Z ∗ yZ ∗ ,  

264

7 Relazioni razionali

Siamo ora in grado di dimostrare il risultato annunciato. Teorema 7.9 (Elgot e Mezei). Siano X,Y e Z tre alfabeti e siano τ ⊆ X ∗ × Y ∗ e τ ⊆ Y ∗ × Z ∗ relazioni razionali. Allora la relazione ττ ⊆ X ∗ × Z ∗ è razionale. Dimostrazione. Supporremo prima che X,Y e Z siano alfabeti a due a due disgiunti. Si ponga X = X ∪Y e Z = Y ∪ Z. Per il Teorema 7.6 (vedi Condizione v)), esiste un linguaggio razionale K di X ∗ tale che

τ = {(π ( f ), α ( f )) | f ∈ K},

(7.10)

dove π : X ∗ −→ X ∗ e α : X ∗ −→ Y ∗ sono le proiezioni di X ∗ su X ∗ e su Y ∗ rispettivamente. Sempre per il Teorema 7.6 (vedi Condizione v)), esiste un linguaggio razionale M di Z ∗ tale che τ = {(β (g), ω (g)) | g ∈ M}, (7.11) dove β : Z ∗ −→ Y ∗ e ω : Z ∗ −→ Z ∗ sono le proiezioni di Z ∗ su Y ∗ e su Z ∗ rispettivamente. Poniamo ora T = X ∪ Y ∪ Z e denotiamo α : T ∗ −→ X ∗ e β : T ∗ −→ Z ∗ le proiezioni di T ∗ su X ∗ e su Z ∗ rispettivamente. Per il Lemma 7.4, si ha:

αβ −1 = α

−1

β.

(7.12)

Sia τ = ττ . Se u ∈ X ∗ e v ∈ Z ∗ , (u, v) ∈ τ se e solo se esiste w ∈ Y ∗ tale che (u, w) ∈ τ e (w, v) ∈ τ . Per le (7.10) e (7.11), si ha: ∃ f ∈ K, g ∈ M tali che u = π ( f ), w = α ( f ) = β (g), v = ω (g). Dalla condizione precedente si ha g ∈ β −1 (w) = β −1 (α ( f )) = (αβ −1 )( f ) e pertanto u = π ( f ), v = ω (g), f ∈ K, g ∈ (αβ −1 )( f ) ∩ M.

(7.13)

D’altra parte, se u e v soddisfano la (7.13), si verifica facilmente che (u, v) ∈ τ e dunque si ottiene

τ = {(π ( f ), ω (g)) | f ∈ K, g ∈ (αβ −1 )( f ) ∩ M}. Per la (7.12) si ha inoltre:

τ = {(π ( f ), ω (g)) | f ∈ K, g ∈ (α −1 β )( f ) ∩ M}.

(7.14)

Consideriamo i seguenti due morfismi:

ϕ = α π : T ∗ −→ X ∗ ,

ψ = β ω : T ∗ −→ Z ∗ .

Sia K = α −1 (K) e M = β −1 (M). Poiché K ∈ Rat(X ∗ ) e M ∈ Rat(Z ∗ ) e la proprietà di razionalità si preserva per morfismi inversi di monoidi liberi finitamente generati (Cap. 4, Proposizione 4.16), si ha K , M ∈ Rat(T ∗ ). Ponendo ora N = K ∩ M , si ha N ∈ Rat(T ∗ ). Utilizzando i morfismi ϕ e ψ ed il linguaggio N, è possibile riscrivere la (7.14) come: {(ϕ (z), ψ (z)) | z ∈ N}. (7.15)

7.5 Teorema di Elgot e Mezei

265

In effetti, indichiamo con τ la relazione definita dalla (7.15) e proviamo che coincide con τ . Sia (u, v) ∈ τ . Per la (7.14) si ha u = π ( f ),

v = ω (g)

dove f ∈ K e g ∈ (α −1 β )( f ) ∩ M. Di conseguenza, esiste z ∈ α −1 ( f ) tale che g = β (z). Pertanto si ha:

ψ (z) = (β ω )(z) = ω (β (z)) = ω (g) = v, e

ϕ (z) = (α π )(z) = π (α (z)) = π ( f ) = u. Mostriamo ora che z ∈ N. Poiché f ∈ K e K = α −1 (K), si ha z ∈ K . D’altra parte, poiché g = β (z) e g ∈ M ne segue subito che z ∈ β −1 (M) = M . Da ciò si ottiene z ∈ K ∩ M = N. Pertanto si ha (u, v) ∈ τ e quindi τ ⊆ τ . In modo del tutto analogo si dimostra che τ ⊆ τ . Di conseguenza, τ può scriversi come in (7.15) e per il Teorema 7.6 (vedi Condizione ii)) segue che τ ∈ Rat(X ∗ × Z ∗ ). La dimostrazione è pertanto conclusa nel caso in cui gli alfabeti X,Y e Z siano a due a due disgiunti. Nel caso in cui gli alfabeti X,Y e Z non siano disgiunti, ci si può sempre ricondurre al caso precedente, considerando copie disgiunte degli alfabeti suddetti. In effetti, siano A, B e C alfabeti a due a due disgiunti ed equipotenti ad X,Y e Z rispettivamente. Siano cA : X ∗ −→ A∗ , cB : Y ∗ −→ B∗ , cC : Z ∗ −→ C∗ tre morfismi copia generati da una biiezione da X su A, da Y su B e da Z su C rispettivamente. Siano inoltre c1 : X ∗ ×Y ∗ −→ A∗ × B∗ ,

c2 : Y ∗ × Z ∗ −→ B∗ ×C∗ ,

isomorfismi tale che, per ogni (u, v) ∈ X ∗ ×Y ∗ , c1 (u, v) = (cA (u), cB (v)) e, per ogni (u, v) ∈ Y ∗ × Z ∗ , c2 (u, v) = (cB (u), cC (v)). Siano τ ⊆ X ∗ × Y ∗ e τ ⊆ Y ∗ × Z ∗ relazioni razionali. Allora c1 (τ ) ⊆ A∗ × B∗ e c2 (τ ) ⊆ B∗ ×C∗ sono anch’esse relazioni razionali poiché la proprietà di razionalità si preserva per morfismi diretti. Poiché gli alfabeti A, B e C sono a due a due disgiunti, per l’argomento discusso in precedenza, si ha che c1 (τ )c2 (τ ) ⊆ A∗ ×C∗ è una relazione razionale. Per il Teorema 7.6 (vedi Condizione ii)), esistono un alfabeto D ed un linguaggio razionale K di D∗ tale che c1 (τ )c2 (τ ) = {(π ( f ), α ( f )) | f ∈ K},

(7.16)

dove π : D∗ −→ A∗ e α : D∗ −→ C∗ sono morfismi di D∗ in A∗ e di D∗ in C∗ rispettivamente. Consideriamo ora i seguenti due morfismi: ∗ ∗ ϕ = π c−1 A : D −→ X ,

ψ = α cC−1 : D∗ −→ Z ∗ .

266

7 Relazioni razionali

Sia τ ⊆ X ∗ × Z ∗ la relazione definita come {(ϕ ( f ), ψ ( f )) | f ∈ K}.

(7.17)

Dalla (7.17) e sempre per il Teorema 7.6 (vedi Condizione ii)) segue che τ ∈ Rat(X ∗ × Z ∗ ). Per concludere la dimostrazione, proviamo che τ = ττ . Sia (u, v) ∈ ττ . Allora esiste w ∈ Y ∗ tale che (u, w) ∈ τ e (w, v) ∈ τ . Da ciò segue che c1 (u, w) = (cA (u), cB (w)) ∈ c1 (τ ),

c2 (w, v) = (cB (w), cC (v)) ∈ c2 (τ )

e pertanto (cA (u), cC (v)) ∈ c1 (τ )c2 (τ ). Per la (7.16), esiste f ∈ K tale che cA (u) = π ( f ), cC (v) = α ( f ) da cui si ottiene u = c−1 A (π ( f )) = ϕ ( f ),

v = cC−1 (α ( f )) = ψ ( f ).

Pertanto (u, v) ∈ τ e dunque ττ ⊆ τ . In modo analogo si verifica l’inclusione opposta. Sia (u, v) ∈ τ . Dalla (7.17), segue che esiste f ∈ K tale che cA (u) = π ( f ), cC (v) = α ( f ). Per la condizione precedente, dalla (7.16) si ha (cA (u), cC (v)) ∈ c1 (τ )c2 (τ ). Esiste allora w ∈ B∗ tale che (cA (u), w) ∈ c1 (τ ), e pertanto

(u, c−1 B (w)) ∈ τ ,

(w, cC (v)) ∈ c2 (τ ), (c−1 B (w), v) ∈ τ .

Da ciò segue che (u, v) ∈ ττ e dunque τ ⊆ ττ . Pertanto τ = ττ e la dimostrazione è conclusa.   Sia α : A∗ −→ B∗ un morfismo di A∗ in B∗ . Ricordiamo che la congruenza naturalmente indotta da α (Cap. 1, Proposizione 1.9) è la relazione da A∗ in A∗ definita come: per ogni u, v ∈ A∗ , u ϑα v se e solo se α (u) = α (v). Vale il seguente corollario. Corollario 7.2. Sia α : A∗ −→ B∗ un morfismo di A∗ in B∗ . Allora

ϑα ∈ Rat(A∗ × A∗ ). Dimostrazione. Per il Lemma 7.3, α è una relazione razionale da A∗ in B∗ . Per il Lemma 7.2, α −1 è allora una relazione razionale da B∗ in A∗ . Poiché ϑα = αα −1 , l’asserto segue applicando il teorema di Elgot e Mezei.  

7.6 Il teorema di cross-section

267

7.6 Il teorema di cross-section Sia f : U −→ V un’applicazione di un insieme U in un insieme V e sia X un sottoinsieme di U. Un sottoinsieme Y di X si dice che è una cross-section di f su X se la restrizione di f ad Y è una biiezione da Y su f (X). Banalmente, ogni X ⊆ U ammette sempre una cross-section. Basta prendere per Y un insieme di rappresentativi in ciascuna delle classi della equivalenza f f −1 . In questa sezione, proveremo un teorema importante dimostrato da Eilenberg, relativo ai linguaggi razionali, noto come teorema di cross-section. Esso afferma che, se α è un morfismo del monoide libero A∗ nel monoide libero B∗ , ogni linguaggio razionale su A ammette sempre una cross-section razionale. Più precisamente: Teorema 7.10 (Eilenberg). Sia α : A∗ −→ B∗ un morfismo del monoide libero A∗ nel monoide libero B∗ . Per ogni linguaggio razionale X ⊆ A∗ , esiste un linguaggio razionale Y ⊆ X tale che la restrizione di α ad Y è una biiezione da Y su α (X). Si noti che il precedente teorema vale banalmente nel caso di morfismi iniettivi α : A∗ → B∗ oppure, più generalmente, nel caso di morfismi di A∗ in B∗ la cui restrizione a X sia iniettiva su X. In tal caso basta assumere Y = X. Premettiamo alla dimostrazione del Teorema 7.10 i lemmi seguenti. Lemma 7.5. Siano α : A∗ −→ B∗ e β : B∗ −→ C∗ morfismi di monoidi liberi. Se il teorema di cross-section vale per α e β , allora vale per il morfismo αβ : A∗ −→ C∗ . Dimostrazione. Siano X un sottoinsieme razionale di A∗ e Y la cross-section razionale di α su X. Poniamo Z = α (X) = α (Y ). Poiché la razionalità si preserva per morfismi diretti di monoidi liberi si ha Z ∈ Rat(B∗ ). Sia inoltre T ⊆ Z ⊆ B∗ una cross-section razionale di β su Z, cosicché β (T ) = β (Z). Poniamo U = Y ∩ α −1 (T ) ed osserviamo che Y e T sono linguaggi razionali di A∗ e di B∗ rispettivamente cosicché α −1 (T ) ∈ Rat(A∗ ) e quindi U è razionale in A∗ . Inoltre α (U) = α (Y ) ∩ T = T ed α è iniettiva su U essendo U ⊆ Y . Poiché β è iniettiva su T , ne segue che αβ è iniettiva su U. Inoltre si ha: (αβ )(U) = β (T ) = β (Z) = (αβ )(X), e dunque U è una cross-section razionale di αβ su X. Si è pertanto dimostrata la predetta asserzione.   Lemma 7.6. Se il teorema di cross-section vale per i morfismi strettamente alfabetici β : A∗ → C∗ con C ⊂ A allora vale per tutti i morfismi α : A∗ → B∗ strettamente alfabetici. Dimostrazione. Cominciamo con il dimostrare che nell’ipotesi fatta il teorema di cross-section vale per tutti i morfismi α : A∗ → B∗ strettamente alfabetici tali che B ⊆ A. Se α è iniettivo il risultato è banale. Sia dunque α : A∗ → B∗ un morfismo strettamente alfabetico non iniettivo tale che B ⊆ A. Ciò comporta α (A) ⊆ B ⊆ A. Il morfismo α si può decomporre come: α = β ιC∗ A∗ → C∗ → B∗ ,

268

7 Relazioni razionali

dove C = α (A), β : A∗ → C∗ è un morfismo strettamente alfabetico e ιC∗ è l’immersione di C∗ in B∗ . Poiché α non è iniettivo deve essere α (A) ⊂ A. Infatti se risultasse α (A) = A allora α sarebbe, essendo A finito, suriettivo e quindi iniettivo. Ciò comporterebbe che α è iniettivo una contraddizione. Pertanto β è un morfismo strettamente alfabetico con C ⊂ A. Essendo ιC∗ iniettivo, la prima parte della dimostrazione è provata come conseguenza del Lemma 7.5. Mostriamo ora che se il teorema di cross-section vale per tutti i morfismi α : A∗ → ∗ B strettamente alfabetici tali che B ⊆ A allora vale per tutti i morfismi strettamente alfabetici. Sia γ : A∗ → B∗ un morfismo strettamente alfabetico. Possiamo decomporre γ in ιA∗ α , A∗ → (A ∪ B)∗ → B∗ , dove ιA∗ : A∗ → (A ∪ B)∗ è l’immersione di A∗ in (A ∪ B)∗ e α : (A ∪ B)∗ → B∗ è il morfismo definito da: per ogni c ∈ A ∪ B, γ (c) if c ∈ A α (c) = c if c ∈ B \ A Il morfismo α è strettamente alfabetico poiché α (A ∪ B) ⊆ α (A) ∪ α (B) ⊆ γ (A) ∪ γ (B) ⊆ B. Inoltre B ⊆ A ∪ B. Essendo iA∗ iniettivo e poiché il teorema di cross-section vale per α in base a quanto si è prima dimostrato, segue che esso vale per γ . Di qui segue l’asserto.   Lemma 7.7. Sia α una proiezione di A∗ su B∗ , con B ⊂ A. Allora α si fattorizza nel prodotto di morfismi proiezione πi : A∗i −→ A∗i−1 con Ai = {a1 , . . . , ai } ⊆ A e i ≥ 1. Dimostrazione. Poiché B ⊂ A, possiamo supporre che, a meno di riordinare le lettere dell’alfabeto A, A = {a1 , . . . , an } e B = {a1 , . . . , a }, con 1 ≤  < n. Per ogni i = 2, . . . , n, sia πi : A∗i −→ A∗i−1 la proiezione di A∗i su A∗i−1 , dove Ai = {a1 , . . . , ai }, 1 ≤ i ≤ n. Si ha quindi ∀ j = 1, . . . , i − 1,

πi (a j ) = a j ,

πi (ai ) = ε .

(7.18)

Pertanto, come si verifica facilmente, per ogni u ∈ A∗

α (u) = (πn · · · π+1 )(u), ovvero

α = πn · · · π+1 .

 

Lemma 7.8. Sia α un morfismo strettamente alfabetico di A∗ in B∗ con B ⊂ A. Allora α si fattorizza nel prodotto ιγ dove ι : A∗ −→ A∗ è un morfismo iniettivo e γ : A∗ −→ B∗ è un prodotto di morfismi γi : A∗i −→ A∗i−1 , dove Ai è un insieme del tipo Ai = {x1 , . . . , xi } ⊆ A, i ≥ 1, e per ogni i ≥ 2, γi è definito da ∀ j = 1, . . . , i − 1, γi (x j ) = x j

e γi (xi ) = xi−1 .

(7.19)

7.6 Il teorema di cross-section

269

Dimostrazione. Possiamo porre A = {a1 , . . . , an } e B = {b1 , . . . , b }, con 1 ≤  ≤ n − 1 con B ⊂ A poiché α è un morfismo strettamente alfabetico non iniettivo. Inoltre, a meno di riordinare le lettere di A, possiamo sempre supporre che α (a1 ) = b1 , α (a2 ) = b2 , . . . , α (a ) = b . Sia ι : A∗ −→ A∗ il morfismo definito da

ι (a j ) = α (a j ) = b j , j = 1, . . . , , ι (a j ) = a j , j =  + 1, . . . , n. Il morfismo ι è banalmente iniettivo. Sia ora An l’alfabeto An = {b1 , . . . , b , b+1 , . . . , bn } dove b j = a j , con  < j ≤ n. Per ogni intero i con  < i ≤ n, esiste un unico intero ki , dipendente da i, tale che 1 ≤ ki ≤  e α (aki ) = bki = α (ai ). Se α (an ) = bkn , noi riordiniamo An in modo tale che bn−1 = bkn . Consideriamo allora il morfismo γn : A∗n −→ A∗n−1 con An = {b1 , . . . , bn } e An−1 = {b1 , . . . , bn−1 } definito da

γn (bi ) = bi ,

i = 1, . . . , n − 1,

γn (bn ) = bn−1 ,

cosicché γn (bn−1 ) = bn−1 = γn (bn ). Se  = n − 1, si ha che, per ogni u ∈ A∗ ,

α (u) = (ιγn )(u), cosicché α = ιγn . Se  < n − 1, allora, come si verifica facilmente,

α = ιγn γn−1 · · · γ+1 .

 

Siamo ora in grado di dimostrare il Teorema 7.10. Dimostrazione. Siano α : A∗ −→ B∗ un morfismo ed X ∈ Rat(A∗ ). Come si è già osservato se α è iniettivo su X, l’asserto del teorema segue immediatamente ponendo Y = X. Supponiamo ora che α non sia iniettivo. Per il Lemma 3.6, α : A∗ −→ B∗ si fattorizza nel prodotto α = γβ , dove γ : A∗ −→ C∗ è un morfismo iniettivo e β : C∗ −→ B∗ è un morfismo alfabetico. Per il Lemma 7.5, basterà dunque dimostrare l’asserto per i morfismi alfabetici. Ricordiamo ora che, per il Lemma 3.7, ogni morfismo alfabetico si può fattorizzare nel prodotto di una proiezione e di un morfismo strettamente alfabetico. Sempre per il Lemma 7.5 e il Lemma 7.6 ne segue allora che è sufficiente dimostrare il teorema di cross-section nel caso in cui α sia una proiezione oppure un morfismo strettamente alfabetico con B ⊂ A. Si noti che se α è una proiezione si può sempre supporre B ⊂ A. In effetti se B = A allora α si riduce al morfismo identità che è un morfismo iniettivo. Sia dunque α : A∗ −→ B∗ , con B ⊂ A, un morfismo di uno dei tipi predetti. Per il Lemma 7.7, se α è una proiezione di A∗ su B∗ allora α si fattorizza nel prodotto di morfismi del tipo γ : A∗ −→ B∗ tali che A = {a1 , . . . , an }, B = {a1 , . . . , an−1 } ed

270

7 Relazioni razionali

inoltre si ha: ∀ i = 1, . . . , n − 1, γ (ai ) = ai ,

γ (an ) = ε .

(7.20)

Analogamente, per il Lemma 7.8, se α è un morfismo strettamente alfabetico non iniettivo, allora α si fattorizza nel prodotto ιβ dove ι : A∗ −→ A∗ è un morfismo iniettivo e β è prodotto di morfismi del tipo γ : Z ∗ −→ Z ∗ tali che Z = {z1 , . . . , zn } ⊆ A, Z = {z1 , . . . , zn−1 } ed inoltre si ha: ∀ i = 1, . . . , n − 1, γ (zi ) = zi ,

γ (zn ) = zn−1 .

(7.21)

Sempre in virtù del Lemma 7.5, si può dunque supporre che α sia un morfismo del tipo (7.20) oppure del tipo (7.21). Sia < la relazione di ordine totale in A definita come: per ogni i, j tali che 1 ≤ i < j ≤ n, si ha che ai < a j . Sia j allora ai ∈ M. Infatti in tal caso i = j + sp con s > 0, cosicché ai = a j (a p )s ⊆ MM s ⊆ M. Pertanto se rh < ∞ si ha arh (a p )∗ ⊆ M. Sia ora F l’insieme finito F = {arh | h ∈ Z p e rh < ∞}. Si ha allora F(a p )∗ ⊆ M. Viceversa sia an ∈ M. Esiste un intero j ∈ Z p tale che n ≡ j mod p. Per la minimalità di r j si ha n ≥ r j ed n ≡ r j mod p. Pertanto an ∈ F(a p )∗ . Si ha allora M = F(a p )∗ ed M ∈ Rat({a}∗ ). 4.6 Poiché M1 riconosce L1 esiste un morfismo ϕ1 : A∗ → M1 e t1 ⊆ M1 tale che L1 = t1 ϕ1−1 . In modo simile poiché M2 riconosce L2 esiste un morfismo ϕ2 : A∗ → M2 e t2 ⊆ M2 tale che L2 = t2 ϕ2−1 . Sia ϕ : A∗ → M1 ×M2 il morfismo definito per ogni a ∈ A da ϕ (a) = (ϕ1 (a), ϕ2 (a)) cosicché per ogni w ∈ A∗ , ϕ (w) = (ϕ1 (w), ϕ2 (w)). Se prendiamo t = t1 ×t2 ⊆ M1 × M2 si ha ϕ (w) ∈ t ⇔ w ∈ t1 ϕ1−1 e w ∈ t2 ϕ2−1 ⇔ w ∈ L1 ∩ L2 . In modo simile assumendo t = (t1 × M2 ) ∪ (M1 × t2 ), si ha ϕ (w) ∈ t ⇔ w ∈ L1 ∪ L2 . 4.7 Il monoide M riconosce il linguaggio L su A. Esistono dunque un morfismo ϕ : A∗ → M e t ⊆ M tali che L = t ϕ −1 . Se t = M \ t si ha allora t ϕ −1 = A∗ \ L = Lc , cosicché M riconosce il complemento di L. Sia K un linguaggio su A e consideriamo il sottoinsieme tˆ di M definito come: tˆ = {m ∈ M | ∃ u ∈ K : (uϕ )m ∈ t}. Si ha allora: tˆϕ −1 = {v ∈ A∗ | vϕ ∈ tˆ} = {v ∈ A∗ | ∃ u ∈ K : (uϕ )(vϕ ) = (uv)ϕ ∈ t} = {v ∈ A∗ | ∃ u ∈ K : uv ∈ t ϕ −1 = L} = K −1 L. Pertanto M riconosce K −1 L. In modo simmetrico si dimostra che M riconosce LK −1 . 4.8 Supponiamo che L contiene una parola w di lunghezza n ≤ |w| < 2n. Dalla proprietà di iterazione (cf. Teor. 4.4) esistono u, v, z ∈ A∗ con 0 < |v| ≤ n tali che w = uvz e per ogni p ≥ 0, uv p z ∈ L, cosicché L è infinito. Viceversa supponiamo che L sia infinito e che non esista una parola w ∈ L tale che n ≤ |w| < 2n. Sia allora w una parola di L di minima lunghezza tale che |w| ≥ 2n. Sempre per la proprietà di iterazione potremo scrivere w = uvz e per ogni p ≥ 0, uv p z ∈ L. Per p = 0 si ha uz ∈ L. Poiché |w| ≥ 2n e |v| ≤ n si ha |uz| ≥ n. Essendo |uz| < |w|, dalla condizione di minimalità sulla lunghezza di w ne segue che n ≤ |uz| < 2n il che è assurdo. 4.9 Sia L un linguaggio accettato da un automa finito A avente n stati. In base al risultato dell’esercizio precedente, basta dare in ingresso ad A in successione tutte le parole su A di lunghezza n, n + 1, . . . fino alla lunghezza 2n − 1. Se A accetta una di queste parole allora L è infinito, altrimenti L è finito. Poiché ad un tale risultato si

296

Esercizi svolti

perviene dopo un numero finito di passi ne segue che il problema se L è finito o meno è decidibile. 4.12 Denotiamo i sottoinsiemi di S = {1, 2} rispettivamente con 1 = {1}, 2 = {1, 2}, 3 = {2}, 4 = 0. / L’automa deterministico D(A ) equivalente ad A è dato da D(A ) = (A, T, μ ,t0 , T ), dove A = {a, b}, T = {1, 2, 3, 4}, t0 = 1, T = {2, 3} e la funzione di transizione μ è data da:

μ (1, a) = μ (2, a) = 2, μ (3, a) = μ (1, b) = μ (2, b) = 3, μ (3, b) = μ (4, a) = μ (4, b) = 4. Si verifica immediatamente che L(A ) = L(D(A )) = aa∗ ∪ a∗ ba∗ . 4.13 Una sostituzione razionale in quanto morfismo dal monoide A∗ in P(B∗ ), preserva le operazioni razionali ed inoltre per ogni a ∈ A, si ha σ (a) ∈ Rat(B∗ ). Un linguaggio razionale L su A può sempre esprimersi mediante una espressione razionale a partire dai singleton {a} con a ∈ A (cf. Eser. 1.18). Poiché σ ({a}) = σ (a) ∈ Rat(B∗ ) ne segue che σ (L) si rappresenta mediante una espressione nella quale intervengono i linguaggi razionali σ (a), a ∈ A, e le operazioni razionali in B∗ . Pertanto σ (L) ∈ Rat(B∗ ).

Capitolo 5 5.1 Siano A = (A, S, λ , s0 , S ) e A /∼ = (A, S/∼, λˆ , ∼ (s0 ), S /∼) l’automa quoziente di A su ∼, dove ∼ è la relazione di equivalenza di stati dell’automa A . Per ogni s ∈ S poniamo qs = ∼ (s) e denotiamo con ϑ la relazione di equivalenza di stati di A /∼. Per s,t ∈ S si ha: qs ϑ qt ⇔ ∀w ∈ A∗ (qs w = qsw ∈ S /∼ ⇐⇒ qt w = qtw ∈ S /∼) Poiché per ogni s ∈ S e w ∈ A∗ , qsw ∈ S /∼ ⇔ sw ∈ S , si ottiene, qs ϑ qt ⇔ s ∼ t ⇔ qs = qt . 5.2 Sia A = (A, S, λ1 , s0 , S ) un automa dove A = {a, b}, S = {1, 2}, s0 = 1, S = {1} e λ1 è definita come: λ1 (1, a) = 1, λ1 (1, b) = λ1 (2, a) = λ1 (2, b) = 2. Si ha evidentemente L(A ) = a∗ . Sia B = (A, T, λ2 ,t0 , T ) l’automa con T = S ∪ {3}, t0 = s0 = 1, T = S = {1} e λ2 è l’estensione di λ1 a T definita come segue: per ogni s ∈ S ed x ∈ A, λ2 (s, x) = λ1 (s, x) e per t = 3 ed ogni x ∈ A, λ2 (3, x) = 3. Come si verifica immediatamente B non è connesso. Si ha A ≤ B; infatti anzitutto L(B) = a∗ = L(A ). Inoltre se ψ è l’applicazione da S in T definita da ψ (1) = 1, ψ (2) = 2, si ha per ogni s ∈ S, χsA = χψB(s) . Mostriamo ora che B ≤ A . Infatti se consideriamo l’applicazione

ϕ da T ad S definita da ϕ (1) = 1 e ϕ (2) = ϕ (3) = 2 si ha per ogni t ∈ T , χtB = χϕA(t) . Pertanto la relazione di ricoprimento non è antisimmetrica. Consideriamo ora gli automi A e B che differiscono rispettivamente da A e B solo per la scelta degli insiemi S e T degli stati terminali. Precisamente S = T = {1, 2}.

Esercizi svolti

297

In tal caso L(A ) = L(B ) = a∗ ∪ a∗ bA∗ . Si ha ancora A ≤ B . Tuttavia B non è ricoperto da A . Infatti, come si verifica immediatamente, per ogni s ∈ S, χ3B = χsA . Ciò mostra che la relazione di ricoprimento non soddisfa la proprietà simmetrica. 5.3 Per ogni h ≥ 0, denotiamo S/∼h con Ph . Si ha: P0 = {{3}, {1, 2, 4, 5, 6, 7, 8}}, P1 = {{3}, {1, 5, 7}, {2, 8}, {4, 6}}, P2 = {{3}, {1, 5}, {7}, {2, 8}, {4, 6}}. L’insieme P3 coincide con l’insieme P2 come facilmente si verifica. Si ha che S/∼2 = S/∼ e l’automa A /∼2 è ridotto. Denotando con s1 , s2 , s3 , s4 , s5 gli stati {3}, {1, 5}, {7}, {2, 8}, {4, 6} si ha che la tavola delle trasformazioni elementari dell’automa A /∼2 è: S s1 s2 s3 s4 s5 λa s2 s4 s3 s3 s1 λb s1 s5 s2 s1 s3 Lo stato iniziale di A /∼2 è ∼2 (1) = s2 e S /∼2 = {s1 }. Poiché A /∼2 è connesso, esso è minimale. 5.5 Sia AL = (A∗ /NL , A, λ , NL (ε ), L/NL ) l’automa di Nerode del linguaggio razionale L. Se ∼ è la relazione di equivalenza di stati, si ha per ogni NL (u), NL (v) ∈ A∗ /NL , NL (u) ∼ NL (v) se e solo se ∀ξ ∈ A∗ (λ (NL (u), ξ ) = NL (uξ ) ∈ L/NL ⇐⇒ λ (NL (v), ξ ) = NL (vξ ) ∈ L/NL ). Poiché per ogni w ∈ A∗ , NL (wξ ) ∈ L/NL ⇔ wξ ∈ L, ne segue che NL (u) ∼ NL (v) se e solo se ∀ξ ∈ A∗ (uξ ∈ L ⇔ vξ ∈ L) se e solo se u NL v. 5.6 Sia L un linguaggio riconoscibile. Mostriamo che l’applicazione ϕL : A∗ /NL → QL determina un isomorfismo dell’automa di Nerode AL nell’automa dei resti RL . Come si verifica immediatamente l’applicazione ϕL è ben definita ed inoltre è una biiezione. Inoltre ϕL è un isomorfismo degli automi AL e RL . Mostriamo anzitutto che ϕL è un morfismo dei semiautomi di AL e RL . Infatti, denotando la funzione di transizione di AL (risp. RL ) mediante l’ operazione di prodotto esterno ◦ (risp. •), si ha per ogni u ∈ A∗ ed a ∈ A: (NL (u) ◦ a)ϕL = NL (ua)ϕL = (ua)−1 L = a−1 (u−1 L) = (u−1 L) • a. Inoltre NL (ε )ϕL = L e (L/NL )ϕL = {NL (u) | u ∈ L}ϕL = {u−1 L | u ∈ L} = FL . Di qui segue immediatamente che FL ϕL−1 = L/NL . 5.7 Formula 1) Si ha w ∈ u−1 (L1 ∪ L2 ) ⇔ uw ∈ (L1 ∪ L2 ) ⇔ uw ∈ L1 oppure uw ∈ L2 ⇔ w ∈ u−1 L1 oppure w ∈ u−1 L2 ⇔ w ∈ (u−1 L1 ∪ u−1 L2 ). In modo simile si dimostra che u−1 (L1 ∩ L2 ) = u−1 L1 ∩ u−1 L2 .

298

Esercizi svolti

Formula 2) w ∈ u−1 (L1 \ L2 ) ⇔ uw ∈ L1 e uw ∈ L2 ⇔ w ∈ u−1 L1 e w ∈ u−1 L2 ⇔ w ∈ (u−1 L1 \ u−1 L2 ). Formula 5) w ∈ v−1 (u−1 L) ⇔ vw ∈ u−1 L ⇔ (uv)w ∈ L ⇔ w ∈ (uv)−1 L. Formula 3) w ∈ a−1 (L1 L2 ) ⇔ aw ∈ L1 L2 ⇔ aw = uv con u ∈ L1 e v ∈ L2 . Se u = ε si può scrivere u = au con u ∈ a−1 L1 cosicché w ∈ (a−1 L1 )L2 . Se u = ε allora aw = v e w ∈ a−1 L2 . Quindi se ε ∈ L1 l’equazione aw = uv è equivalente a w ∈ (a−1 L1 )L2 . Se invece ε ∈ L1 , la predetta equazione è equivalente a w ∈ (a−1 L1 )L2 ∪ a−1 L2 . Formula 4) Se ε ∈ L, essendo L∗ = {ε } ∪ LL∗ e a−1 {ε } = 0/ dalla Formula 3) segue che a−1 L∗ = a−1 (LL∗ ) = (a−1 L)L∗ . Se ε ∈ L allora si può scrivere L∗ = {ε } ∪ (L \ {ε })∗ e quindi, utilizzando nuovamente la Formula 3), a−1 L∗ = a−1 (L \ {ε })∗ = (a−1 (L \ {ε }))(L \ {ε })∗ . Poiché (L \ {ε })∗ = L∗ e a−1 (L \ {ε }) = a−1 L il risultato segue. 5.8 Il monoide sintattico M(L) del linguaggio L = A∗ abaA∗ , con A = {a, b}, è isomorfo al monoide delle transizioni dell’automa della Fig. 5.1 che ha 4 stati e le cui trasformazioni elementari λa e λb , denotate semplicemente con a e b, sono date dalla tavola (vedi Eser. 4.10): 1 2 3 4 a 2 2 4 4 . b 1 3 1 4 Si verifica che il monoide delle transizioni ha 12 elementi, è generato da {a, b} e . . . . . soddisfa le identità: a2 = a, b3 = b2 , aba = a e bbabb = b2 . Inoltre abba = 0 dove 0 è l’elemento 0 del monoide delle transizioni. 5.9 1) Sia L = aab∗ ab. Utilizzando il metodo dei resti, si ha che l’automa minimale ha 6 stati: s0 = L, s1 = ab∗ ab, s2 = 0, / s3 = b∗ ab, s4 = {b} e s5 = {ε }. Lo stato iniziale è s0 e vi è un solo stato terminale che è s5 . Denotando gli stati semplicemente con 0, 1, 2, 3, 4 e 5, λ è data mediante la tavola delle trasformazioni elementari: S λa λb

0 1 2

1 3 2

2 2 2

3 4 3

4 2 5

5 2 . 2

Il monoide delle transizioni ha 16 elementi ed in esso valgono le relazioni seguenti: . . . . . . . . bba = ba, bbb = bb, baa = aaaa = baba = babb = aaabb = 0, aaba = aaa. 2) Sia L = a∗ b∗ a∗ . Utilizzando il metodo dei resti, si ha che l’automa minimale ha 4 stati: s0 = L, s1 = b∗ a∗ , s2 = a∗ , s3 = 0. / Lo stato iniziale è s0 e gli stati terminal sono s0 , s1 e s2 . Denotando gli stati semplicemente con 0, 1, 2 e 3, λ è data mediante la tavola delle trasformazioni elementari: S λa λb

0 0 1

1 2 1

2 2 3

3 3 . 3

Il monoide delle transizioni ha 7 elementi ed in esso valgono le relazioni seguenti: . . . a = aa, b = bb, bab = 0.

Esercizi svolti

299

3) Sia L = (ab ∪ ba)∗ . Utilizzando il metodo dei resti si ha che l’automa minimale ha 4 stati: s0 = L, s1 = b(ab ∪ ba)∗ , s2 = a(ab ∪ ba)∗ , s3 = 0. / Lo stato iniziale e l’unico stato terminale è s0 . Denotando gli stati semplicemente con 0, 1, 2 e 3, λ è data dalla tavola delle trasformazioni elementari: S λa λb

0 1 2

1 3 0

2 0 3

3 3 . 3

Il monoide delle transizioni ha 15 elementi ed in esso valgono le relazioni seguenti: . . . . . a = aba, bab = b, aaa = bbb = 0 e baab = abba.

Capitolo 6 6.1 Denotiamo con E ed F rispettivamente le valutazioni delle espressioni razionali e ed f . C12) Osserviamo che: (EF)∗ = {ε } ∪ EF ∪ E(FE)F ∪ E(FE)2 F ∪ · · · = {ε } ∪ E(FE)∗ F; da ciò segue: (e f )∗ = 1 + e( f e)∗ f . C13) È una conseguenza immediata del fatto che: (E ∗ )∗ = E ∗ , cosicché (e∗ )∗ = e∗ . C14.n) Si osservi che ogni intero h può scriversi in base alla divisione Euclidea in un unico modo come h = jn + k con 0 ≤ k < n, cosicché E h = E n j E k = (E n ) j E k . Pertanto si ha: E ∗ = (E n )∗

n−1 

E i,

i=0

e la C14.n è provata. C11) Si osservi anzitutto che (E ∗ F)∗ E ∗ ⊆ (E ∪ F)∗ . Viceversa possiamo scrivere il generico termine di (E ∪ F)∗ , isolando le occorrenze di F, come segue: E h1 FF k1 E h2 FF k2 · · · E hr FF kr E hr+1 , con r ≥ 0 e h1 , . . . , hr+1 , k1 , k2 , . . . , kr ≥ 0. Poiché per j = 1, . . . r, E h j F ⊆ E ∗ F e F k j = (E 0 F)k j ⊆ (E ∗ F)∗ e E hr+1 ⊆ E ∗ segue che (E ∪F)∗ ⊆ (E ∗ F)∗ E ∗ . Pertanto (e+ f )∗ = (e∗ f )∗ e∗ . 6.2 D1) Basta sostituire in C12 l’espressione f con 1 per ottenere (e1)∗ = 1+e(1e)∗ 1. Utilizzando la C6 e la C7 si ha e∗ = 1 + ee∗ ; D2.n) Mediante un uso ripetuto della D1 si ha di seguito e∗ = 1 + e(1 + ee∗ ) = 1 + e + e2 e∗ = 1 + e + e2 (1 + ee∗ ) = · · · = 1+e+· · · +en−1 +en e∗ ; D3) Dalla C12 si ha ( f e)∗ = 1+ f (e f )∗ e, cosicché e( f e)∗ = e + (e f )(e f )∗ e. Usando la D1 si ha (e f )∗ e = (1 + (e f )(e f )∗ )e = e + (e f )(e f )∗ e. Pertanto e( f e)∗ = (e f )∗ e; D4.n) Per n = 1 l’identità D4.1 cioè e∗ e = ee∗ segue dalla D3 ponendo f = 1 e tenendo conto che dalle C6 e C7, e1 = 1e = e. Sia n > 1. Sostituendo nella D3 l’espressione f con en−1 , si ha (en )∗ e = e(en )∗ ; D5) Sostituendo nella D1 l’espressione e con 0 si ha 0∗ = 1 + 00∗ . Utilizzando la C5 e la C1, si ha 0∗ = 1; D6) Sostituendo nella C13 l’espressione e con 0 si ha (0∗ )∗ = 0∗ . Dalla D5 si ha 0∗ = 1

300

Esercizi svolti

cosicché 1∗ = 1; D7) Sostituendo in D1 l’espressione e con 1 si ha 1∗ = 1 + 11∗ . Dalla D6, 1∗ = 1, cosicché si ha 1 = 1 + 11 ed utilizzando la C6 segue 1 = 1 + 1; D8) Si ottiene dalla D7 moltiplicando ambo i membri per e. Utilizzando la C8 e la C6 segue e = e + e; D9) Rimpiazzando nella C11, e con 1 ed f con e si ottiene (1 + e)∗ = (1∗ e)∗ 1∗ . Utilizzando la D6 e le C7 e C6 si ottiene (1 + e)∗ = e∗ ; D10) Sostituendo nella C11, f con 1 si ottiene (e + 1)∗ = (e∗ 1)∗ e∗ . In base alla C2 e alla D9 si ha (e + 1)∗ = (1 + e)∗ = e∗ . Utilizzando la C6 e la C13 si ha (e∗ 1)∗ e∗ = e∗ e∗ . Pertanto ne segue che e∗ = e∗ e∗ . 6.3 Da E = FE ∪ G, sostituendo nel membro di destra della precedente equazione E con FE ∪ G, si ha E = F(FE ∪ G) ∪ G = F 2 E ∪ FG ∪ G. Iterando la precedente procedura di sostituzione k volte, con k arbitrario, si ha: E = F k+1 E ∪ (F k ∪ F k−1 ∪ · · · ∪ F ∪ {ε })G. Poiché ε ∈ F le parole di F k+1 E hanno lunghezza maggiore o uguale a k + 1. Sia w ∈ E e prendiamo k = |w|. Ne segue che w ∈ F k+1 E e quindi w ∈ F ∗ G. Viceversa sia w ∈ F ∗ G. Esisterà un i ≥ 0 tale che w ∈ F i G. Poiché E = F i+1 E ∪ (F i ∪ F i−1 ∪ · · · ∪ F ∪ {ε })G ⊇ F i G, ne segue w ∈ E. 6.2 1) È un caso particolare dell’identità C11 della star della somma. 2) Poniamo A = {a, b} e mostriamo che: A∗ abA∗ = b∗ a∗ abA∗ . Poiché b∗ a∗ ⊆ A∗ l’inclusione A∗ abA∗ ⊇ b∗ a∗ abA∗ è banale. Mostriamo l’inclusione inversa. Sia w ∈ A∗ abA∗ ed isoliamo la prima occorrenza di ab in w. Potremo scrivere w ∈ uabA∗ dove u è una parola di A∗ nella quale non vi è alcuna occorrenza di ab, cioè u ∈ b∗ a∗ . Pertanto w ∈ b∗ a∗ abA∗ e l’inclusione inversa è dimostrata. 3) Dimostriamo che (ab∗ c)∗ = {ε } ∪ a(b ∪ ca)∗ c. Iniziamo mostrando l’inclusione ⊆. Se w ∈ (ab∗ c)∗ allora w = ε oppure w ∈ (ab∗ c)+ cosicché esistono interi r > 0, h1 , · · · , hr ≥ 0 tali che w = abh1 cabh2 c · · · abhr c. Pertanto w ∈ a(b ∪ ca)∗ c. Mostriamo ora l’inclusione inversa ⊇. Se w = ε allora certamente w ∈ (ab∗ c)∗ . Sia w = ε cosicché w ∈ a(b ∪ ca)∗ c. Possiamo allora scrivere w = abh1 (ca)k1 abh2 (ca)k2 · · · abhr (ca)kr c, con h1 , kr ≥ 0 e k1 , h2 , . . . , kr−1 , hr > 0. Poiché per k > 0, (ca)k = c(ac)k−1 a si ha: w = (abh1 c)(ac)k1 −1 (abh2 c)(ac)k2 −1 · · · . Pertanto w ∈ (ab∗ c)∗ . 4) Dimostriamo che: (A∗ b ∩ a∗ b∗ )∗ a∗ A = A∗ A. È sufficiente far vedere che (A∗ b∩a∗ b∗ )∗ a∗ = A∗ . L’inclusione (A∗ b∩a∗ b∗ )∗ a∗ ⊆ A∗ è banale. Per dimostrare l’inclusione inversa facciamo vedere che se w ∈ A∗ allora w ∈ (A∗ b ∩ a∗ b∗ )∗ a∗ . Il risultato è banale se w ∈ a∗ . Sia allora w ∈ A∗ bA∗ . Possiamo scrivere w in un unico modo come: w = ah1 bk1 ah2 bk2 · · · ahr bkr ahr+1 ,

Esercizi svolti

301

con r > 0, h1 , hr+1 ≥ 0 e hi > 0, i = 2, . . . r, ki > 0, i = 1, . . . , r. Ora ogni parola ah bk con h ≥ 0 e k > 0 appartiene all’insieme a∗ b∗ ∩ A∗ b, cosicché w ∈ (A∗ b ∩ a∗ b∗ )∗ a∗ . 6.4 A tal fine mostriamo che ∼k è invariante a destra (un argomento simmetrico permette di dimostrare l’invarianza a sinistra). Siano u, v ∈ A∗ tali che u ∼k v e mostriamo che per ogni ξ ∈ A∗ , uξ ∼k vξ . Il risultato è banale se |u|, |v| < k. Supponiamo dunque che u, v ∈ Ak A∗ e mostriamo che τk (uξ ) = τk (vξ ). Infatti pk (uξ ) = pk (u) = pk (v) = pk (vξ ). Inoltre sk (uξ ) = sk (vξ ). Tale risultato è banale se |ξ | ≥ k. Se |ξ | < k possiamo scrivere sk (uξ ) = u ξ e sk (vξ ) = v ξ , con u e v suffissi di lunghezza k − |ξ | di u e v rispettivamente. Poiché sk (u) = sk (v) ne segue che u = v . Mostriamo infine che Ik (uξ ) = Ik (vξ ). Sia f ∈ Ik (uξ ). Se f ∈ Ik (u) oppure f ∈ Ik (ξ ) allora banalmente f ∈ Ik (vξ ). Supponiamo allora che f = u ξ con u suffisso di u e ξ prefisso di ξ . Sia v il suffisso di v tale che |v | = |u | < k. Poiché u ∼k v si ha u = v e quindi f ∈ Ik (vξ ).

Capitolo 7 7.1 Siano A = {a, b} e A⊗ il monoide commutativo libero su A (cf. Cap. 3, Sez. 3.5). Gli elementi di A⊗ possono essere identificati con le classi di congruenza della relazione di equivalenza commutativa. Si può assumere quale rappresentativo di ogni classe una parola del tipo a p bq con p, q ≥ 0. Noi dimostreremo che per ogni coppia (p, q) il singleton w = {[a p bq ]} costituito dalla classe di congruenza di a p bq è una parte riconoscibile di A⊗ . L’asserto seguirà utilizzando la chiusura della proprietà di riconoscibilità rispetto alle operazioni Booleane. Mostreremo che l’equivalenza di Nerode Nw è di indice finito. Per ogni r, s, h, k ≥ 0 si ha: [ar bs ] Nw [ah bk ] se e solo se ∀i, j ≥ 0, [ar bs ] ∗ [ai b j ] = [a p bq ] ⇔ [ah bk ] ∗ [ai b j ] = [a p bq ]. Ora [ar bs ] è un fattore sinistro di [a p bq ] se e solo se 0 ≤ r ≤ p ed 0 ≤ s ≤ q. Pertanto tutti gli elementi che non sono fattori sinistri di [a p bq ] si trovano in una stessa classe di Nerode. Se [ar bs ] e [ah bk ] sono fattori sinistri di [a p bq ] dalla precedente equazione si ricava [ar+i bs+ j ] = [a p b p ] = [ah+i bk+ j ]. Pertanto r +i = h+i = p ed s+ j = k + j = q. Ciò comporta r = h e s = k e quindi [ar bs ] = [ah bk ]. Esistono quindi tante classi di Nerode, ognuna contenente un solo elemento, quanti sono i fattori sinistri distinti di [a p bq ]. Poiché questi ultimi sono in numero di (p + 1)(q + 1) ne segue che il numero delle classi di Nerode è 1 + (p + 1)(q + 1) e quindi l’indice di Nw è finito. 7.2 Siano L ∈ Rat(A∗ ) ed M ∈ Rat(B∗ ). Possiamo considerare il morfismo ζ : A∗ → A∗ × B∗ definito da: per ogni a ∈ A, ζ (a) = (a, 1), cosicché per ogni u ∈ A∗ , si ha ζ (u) = (u, 1). Poiché L ∈ Rat(A∗ ) e la razionalità si preserva per morfismi diretti, si ha che ζ (L) = L × {1} ∈ Rat(A∗ × B∗ ). In modo simmetrico, considerando il morfismo ζ : B∗ → A∗ × B∗ definito per ogni b ∈ B, da ζ (b) = (1, b), si ha ζ (M) = {1}×M ∈ Rat(A∗ ×B∗ ). Ora L×M = (L×{1})({1}×M). Poiché il prodotto di parti razionali di A∗ ×B∗ è una parte razionale di A∗ ×B∗ , segue che L ×M ∈ Rat(A∗ ×B∗ ).

302

Esercizi svolti

7.3 La funzione identità in quanto relazione da A∗ in A∗ si esprime come {(u, u) | u ∈ A∗ }. Poiché  {(u, u) | u ∈ A∗ } = ( (a, a))∗ , a∈A

tale relazione è una parte razionale di

A∗ × A∗

7.4 Sia σ una sostituzione razionale di

A∗

e quindi è razionale.

in B∗ ; σ è la relazione:

σ = {(w, v) ∈ A∗ × B∗ | v ∈ σ (w)} = Poiché σ è un morfismo da A∗ in P(B∗ ) si ha:

σ =(



 w∈A∗

w × σ (w).

{a} × σ (a))∗ .

a∈A

Poiché per ogni a ∈ A, σ (a) ∈ Rat(B∗ ) si ha {a} × σ (a) ∈ Rat(A∗ × B∗ ) (vedi Eser. 7.2), cosicché σ si esprime mediante una espressione razionale su parti razionali di A∗ × B∗ . Ne segue che σ è una relazione razionale. 7.6 La relazione τ può esprimersi mediante la seguente parte razionale di A∗ × A∗ : ({(a, a) | a ∈ A}{(1, a) | a ∈ A})∗ . Infatti, una coppia (u, v) di parole di A∗ appartiene al precedente insieme se e solo se esiste un intero n ≥ 0 tale che (u, v) ∈ ({(a, a) | a ∈ A}{(1, a) | a ∈ A})n , cioè (u, v) = (a1 , a1 )(1, b1 )(a2 , a2 )(1, b2 ) · · · (an , an )(1, bn ) con ai , bi ∈ A, 1 ≤ i ≤ n. Si ha quindi u = a1 · · · an e v = a1 b1 a2 b2 · · · an bn . 7.7 Consideriamo il trasduttore sequenziale T = (A, B, S, λ , δ , s0 ) dove A = {a, b}, B = {x, y}, S = {1, 2, 3}, s0 = 1 e le funzioni di transizione λ e di uscita δ sono definite dal grafo seguente: a/x 

 a/x j 2 b/x

- 1j @ b/y@

  a/y @ Rj 3 b/y

Come si verifica la funzione sequenziale calcolata da T è la funzione f : A∗ → B∗ definita da: per ogni w ∈ A∗ , f (w) = x|w| se w ∈ aA∗ e f (w) = y|w| altrimenti. 7.8 Dimostriamo che se A è un alfabeto finito di cardinalità maggiore di 1 la relazione ρ = {( f , f ∼ ) | f ∈ A∗ } non è una relazione razionale. Supponiamo per assurdo che ρ ∈ Rat(A∗ × A∗ ). Poiché A∗ × A∗ è un monoide finitamente generato possiamo considerare un insieme Z di cardinalità uguale a quella dell’insieme dei generatori di A∗ × A∗ e un epimorfismo γ : Z ∗ → A∗ × A∗ . Dalla Proposizione 1.17 del Capitolo 1 esiste K ∈ Rat(Z ∗ ) tale che γ (K) = ρ . Per il teorema di Kleene K ∈ Ric(Z ∗ ) cosicché

Esercizi svolti

303

la congruenza sintattica ≡K di K in Z ∗ è di indice s finito. Poiché Card(A) > 1 esisterà un intero positivo r tale che p = Card(Ar ) > s. Sia f1 , f2 , . . . , f p una enumerazione di tutte le parole di Ar e siano k1 , . . . , k p ∈ K tali che:

γ (ki ) = ( fi , fi∼ ) per i = 1, . . . , p. Poiché per ogni 1 ≤ i, j ≤ p se i = j, ki = k j , esisteranno due interi i, j con i < j tali che ki ≡K k j . Ciò comporta: ki2 ≡K k j ki . Denotiamo semplicemente γ (ki ) = ( f , f ∼ ) e γ (k j ) = (g, g∼ ). Si ha allora γ (ki2 ) = ( f , f ∼ )( f , f ∼ ) = ( f 2 , ( f 2 )∼ ) ∈ ρ . Pertanto ki2 ∈ K. Dalla precedente relazione deve anche aversi k j ki ∈ K. Tuttavia γ (k j ki ) = (g, g∼ )( f , f ∼ ) = (g f , g∼ f ∼ ) e (g f , g∼ f ∼ ) ∈ ρ se e solo se g∼ f ∼ = (g f )∼ = f ∼ g∼ . Poiché | f | = |g| ciò comporta f = g una contraddizione. 7.9 È sufficiente mostrare che in generale la famiglia delle parti razionali da A∗ in B∗ non è chiusa rispetto ad intersezione. Infatti, poiché la predetta famiglia è chiusa rispetto all’unione, ne segue che non vi è chiusura per complementazione. Sia A = {a}, B = {b, c} ed M = {a}∗ × {b, c}∗ . Introduciamo le relazioni:

ρ1 = {(an , bn ck ) | n, k ≥ 0}, ρ2 = {(an , bk cn ) | n, k ≥ 0}. Si ha che ρ1 , ρ2 ∈ Rat(M). Infatti possiamo scrivere:

ρ1 = (a, b)∗ (ε , c)∗ , ρ2 = (ε , b)∗ (a, c)∗ . L’intersezione delle due relazioni è data da:

ρ = ρ1 ∩ ρ2 = {(an , bn cn ) | n ≥ 0}. Sia π : M → {b, c}∗ l’applicazione definita da: per ogni u ∈ {a}∗ e v ∈ {b, c}∗ π ((u, v)) = v. Si verifica immediatamente che π è un morfismo. Inoltre π (ρ ) = {bn cn | n ≥ 0}. Il linguaggio π (ρ ) non è una parte razionale di {b, c}∗ (vedi Esempio 4.4). Poiché la razionalità si preserva per morfismi diretti di monoidi ne segue che ρ ∈ Rat(M). 7.10 Possiamo scrivere: {(u, v, uv) | u, v ∈ A∗ } = {(a, ε , a) | a ∈ A}∗ {(ε , b, b) | b ∈ A}∗ , cosicché il grafo di f è una parte razionale di A∗ × A∗ × A∗ . 7.11 Siano T1 = (P, S), T2 = (Q, T ), T1 = (P , S ) e T2 = (Q , T ) semigruppi di trasformazioni e T1 ◦ T2 = (P × Q, S ◦ T ) e T1 ◦ T2 = (P × Q , S ◦ T ) i prodotti in corona di T1 e T2 e di T1 e T2 . Poiché T1 ≺ T1 esiste una suriezione ϕ : P → P tale che per ogni s ∈ S esiste s ∈ S tale che per ogni p ∈ P si ha p ϕ s = p s ϕ .

(8.3)

304

Esercizi svolti

Similmente poiché T2 ≺ T2 esiste una suriezione ψ : Q → Q tale che per ogni t ∈ T esiste t ∈ T tale che per ogni q ∈ Q si ha q ψ t = q t ψ .

(8.4)

Sia η : P × Q → P × Q la suriezione definita come segue: per ogni (p , q ) ∈

P × Q ,

(p , q )η = (p ϕ , q ψ ).

Sia f ∈ SQ . Per ogni q ∈ Q , (q ψ ) f ∈ S cosicché per la (8.3) esiste un elemento s ∈ S tale che per ogni p ∈ P , p ϕ ((q ψ ) f ) = p s ϕ .

Esiste allora certamente una funzione f ∈ S Q tale che per ogni q ∈ Q , q f è un elemento s ∈ S che verifica la precedente equazione. Si ha allora p ϕ ((q ψ ) f ) = p q f ϕ per ogni p ∈ P .

(8.5)

Q

Mostriamo ora che ( f ,t ) ∈ S × T è tale che per ogni (p , q ) ∈ P × Q , si ha = (p , q )( f ,t )η . Si ha infatti:

(p , q )η ( f ,t)

(p , q )η ( f ,t) = (p ϕ , q ψ )( f ,t) = (p ϕ (q ψ ) f , q ψ t). Dalle (8.4) e (8.5) si ha: (p ϕ (q ψ ) f , q ψ t) = (p (q f )ϕ , q t ψ ) = (p (q f ), q t )η = (p , q )( f ,t )η , cosicché T1 ◦ T2 ≺ T1 ◦ T2 .

Riferimenti bibliografici

1. S.I. Adjan, The Burnside Problem and Identities in Groups, Springer-Verlag, Berlin (1979) 2. V. Amar, G. Putzolu, Generalizations of regular events, Inform. and Control 8, 56–63 (1965) 3. A.V. Anisimov, Group languages, Kibernetika 4, 18–24 (1971) 4. A.V. Anisimov, F.D. Seifert, Zur algebraischen Charakteristik der durch Kontext-freie Sprachen definierten Gruppen, Elektron. Inform. Verarb. u. Kybern. 11, 695–702 (1975) 5. M. Arbib, Theories of Abstract Automata, Prentice-Hall, Inc., Englewood Cliffs, N.J. (1969) 6. R. Ash, Information Theory, J. Wiley and Sons, New York (1967) 7. J.-M. Autebert, L. Boasson, Transductions rationnelles. Application aux langages algébriques, Masson, Paris (1988) 8. M.-P. Béal, D. Perrin, A quadratic upper bound on the size of a synchronizing word in one-cluster automata, in: V. Diekert, D. Nowotka (ed.s), Developments in Language Theory, Lecture Notes in Computer Science, vol. 5583, pp. 81–90, Springer, Berlin (2009) 9. G. Berry, R. Sethi, From regular expressions to deterministic automata, Theoret. Comput. Sci. 48, 117–126 (1986) 10. J. Berstel, Transductions and Context-free Languages, Teubner, Stuttgart (1979) 11. J. Berstel, O. Carton, On the complexity of Hopcroft’s state minimization algorithm, in: M. Domaratzki, A. Okhotin, K. Salomaa and S. Yu (ed.s), Implementation and Application of Automata, Lecture Notes in Computer Science, vol. 3317, pp. 35–44, Springer, Berlin (2004) 12. J. Berstel, D. Perrin, Theory of Codes, Academic Press, New York (1985) 13. J. Berstel, D. Perrin, C. Reutenauer, Codes and Automata, Encyclopedia of Mathematics and its Applications No. 129, Cambridge University Press, Cambridge (2009) 14. J. Berstel, C. Reutenauer, Noncommutative Rational Series with Applications, Cambridge University Press, Cambridge (2011) 15. G. Birkhoff, Lattice Theory, American Mathematical Society, Colloquium Publications, vol. XXV, third edition, Providence R.I. (1967) 16. P. Braffort, D. Hirschberg (ed.s) Computer Programming and Formal Systems, North-Holland, Amsterdam (1967) 17. J. Brzozowski, Derivatives of regular expressions, J. ACM 11, 481–494 (1964) A. de Luca, F. D’Alessandro: Teoria degli Automi Finiti, UNITEXT – La Matematica per il 3+2 68, DOI 10.1007/978-88-470-5474-5, © Springer-Verlag Italia 2013

306

Riferimenti bibliografici

18. J. Brzozowski, Open problems about regular languages, in R.V. Book (ed.), Formal Language Theory, Perspectives and Open Problems, pp. 23–45, Academic Press, London (1980) 19. J. Brzozowski, I. Simon, Characterizations of locally testable events, Discrete Math. 4, 243–271 (1973) 20. E.R. Caianiello (ed.), Automata Theory, Academic Press, New York (1966) 21. A. Carpi, On synchronizing unambiguous automata, Theoret. Comput. Sci. 60, 285–296 (1988) ˇ 22. A. Carpi, F. D’Alessandro, Strongly transitive automata and the Cerný conjecture, Acta Inf. 46, 591–607 (2009) 23. A. Carpi, F. D’Alessandro, The synchronization problem for locally strongly transitive automata, in: R. Královiˇc, D. Niwi´nski (ed.s), Mathematical Foundations of Computer Science, Lecture Notes in Computer Science, vol. 5734, pp. 211–222, Springer, Berlin (2009) 24. A. Carpi, F. D’Alessandro, Independent sets of words and the synchronization problem, Advances in Applied Math. 50, 339–355 (2013) 25. A. Carpi, A. de Luca, S. Varricchio, Special factors and uniqueness conditions in rational trees, Theory Comput. Syst. 34, 375–395 (2001) 26. G. Castiglione, A. Restivo, M. Sciortino, On extremal cases of Hopcroft’s algorithm, Theoret. Comput. Sci. 411, 3414–3422 (2010) ˇ 27. J. Cerný, Poznámka k. homogénnym experimenton s koneˇcnými automatmi, Mat. fyz. cas SAV 14, 208–215 (1964) 28. N. Chomsky, Three models for the description of language, I.R.E. Trans. PGIT 2, 113–124 (1956) 29. N. Chomsky, G.A. Miller, Finite state languages, Inform. and Control 1, 91–112 (1958) 30. N. Chomsky, M.P. Schützenberger, The algebraic theory of context-free languages, in: P. Braffort and D. Hirschberg (ed.s), Computer programming and formal systems, pp. 118–161, North-Holland Pub. Co., Amsterdam (1967) 31. A.H. Clifford, G.B. Preston, The Algebraic Theory of Semigroups, Math. Surveys of the American Math. Soc. 7, Providence, R.I., vol. I (1961), vol. II (1967) 32. P.M. Cohn, On subsemigroups of free semigroups, Proc.s of the American Math. Society 13, 347–351 (1962) 33. P.M. Cohn, Universal Algebra, Harper and Row, New York (1965) 34. J.H. Conway, Regular algebra and finite machines, Chapman and Hall, London (1971) 35. T.H. Cormen, C.E. Leiserson, R.L. Rivest, Introduzione agli algoritmi e strutture dati, McGraw-Hill, Milano (2005) 36. M. Davis, Computability and Unsolvability, McGraw-Hill, New York (1958); seconda edizione, Dover Publ., New York (1982) 37. F. Dejean, M.P. Schützenberger, On a question of Eggan, Inform. and Control 9, 23–25 (1966) 38. A. de Luca, A note on variable length codes, Inform. and Control 32, 263–271 (1976) 39. A. de Luca, A. Restivo, A characterization of strictly locally testable languages and its application to subsemigroups of a free semigroup, Inform. and Control 44, 300–319 (1980) 40. A. de Luca, S. Varricchio, Finiteness and iteration conditions for semigroups, Theoret. Comput. Sci. 87, 315–327 (1991) 41. A. de Luca, S. Varricchio, On non counting regular classes, Theoret. Comput. Sci. 100 (1992) 67–102, vedi anche Lecture Notes in Computer Science, vol. 443, pp. 74–87, Springer-Verlag, Berlin (1990)

Riferimenti bibliografici

307

42. A. de Luca, S. Varricchio, On finitely recognizable semigroups, Acta Inf. 29, 483–498 (1992) 43. A. de Luca, S. Varricchio, Finiteness and Regularity in Semigroups and Formal Languages, Springer–Verlag, Berlin (1999) 44. A.P. do Lago, On the Burnside semigroups xn = xn+m , Internat. J. Algebra Comput. 6, 179–227 (1996) ˇ 45. L. Dubuc, Sur les automates circulaires et la conjecture de Cerný, RAIRO Inform. Théor. Appl. 32, 21–34 (1998) 46. L.C. Eggan, Transition graphs and the star height of regular events, Michigan Math. J. 10, 385–397 (1963) 47. A. Ehrenfeucht, R. Parikh, G. Rozenberg, Pumping lemmas for regular sets, SIAM J. Comput. 10, 536–541 (1981) 48. S. Eilenberg, J. Wright, Automata in General Algebras, Inform. and Control 11, 452–470 (1967) 49. S. Eilenberg, Automata, Languages and Machines, Academic Press, New York, Vol. A (1974), Vol. B (1976) 50. C.C. Elgot, G. Mezei, On relations defined by generalized finite automata, IBM Journal of Research and development 9, 47–65 (1965) 51. Z. Ésik, A proof of the Krohn-Rhodes decomposition theorem, Theoret. Comput. Sci. 234, 287–300 (2000) 52. S. Ginsburg, The Mathematical Theory of Context-Free Languages, McGraw-Hill, New York (1966) 53. S. Ginsburg, S.A. Greibach, Abstract families of languages, in Studies in abstract families of languages, Memoirs of the American Mathematical Society 87, 1–32 (1969) 54. A. Ginzburg, Algebraic Theory of Automata, Academic Press, New York (1968) 55. J.A. Green, On the structure of semigroups, Annals of Math. 54, 163–172 (1951) 56. V. Guba, The word problem for the relatively free semigroups satisfying T m = T m+n with m ≥ 3, Internat. J. Algebra Comput. 3, 335–348 (1993) 57. M.A. Harrison, Introduction to Formal Language Theory, Addison-Wesley Publishing Co., Reading, Mass. (1978) 58. K. Hashiguchi, Regular languages of star-height one, Inform. and Control 53, 199–210 (1982) 59. K. Hashiguchi, Representation theorems of regular languages, J. Comput. Syst. Sci. 27, 101–115 (1983) 60. K. Hashiguchi, Algorithms for determining relative star height and star height, Inform. and Computation 78, 124–169 (1988) 61. W.H. Henneman, Algebraic theory of automata, Ph. D. Dissertation, M.I.T., Cambridge, Mass. (1971) 62. J.E. Hopcroft, An nlog(n) algorithm for minimizing states in a finite automaton in: Z. Kohavi and A. Paz, (ed.s): Theory of machines and computations, pp. 189–196, Academic Press, New York (1971) 63. J.E. Hopcroft, J.D. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison-Wesley Publishing Co., Reading, Mass. (1979) 64. J.M. Howie, An Introduction to Semigroup Theory, Academic Press, New York (1976) 65. J. Kari, Synchronizing finite automata on Eulerian digraphs, Theoret. Comput. Sci. 295, 223–232 (2003) 66. B. Khoussainov, A. Nerode, Automata Theory and its Applications, Birkhäuser, Berlin (2001)

308

Riferimenti bibliografici

67. D. Kirsten, Distance desert automata and the star height problem, RAIRO Inform. Théor. Appl. 39, 455–509 (2005) 68. S.C. Kleene, Representation of events in nerve nets and finite automata, in: C.E. Shannon and J. McCarthy (ed.s), Automata Studies, pp. 3–41, Princeton University Press, Princeton N.J. (1956) 69. O. Klíma, Piecewise testable languages via Combinatorics on Words, Discrete Math. 311, 2124–2127 (2011) 70. L.G. Kraft, A device for quantizing, grouping and coding amplitude modulated pulses, M.S. Thesis Electrical Engineering Dept., M.I.T., Cambridge, Mass. (1949) 71. K. Krohn, J.L. Rhodes, Algebraic theory of machines. I. Prime decomposition theorem for finite semigroups and machines, Trans. Amer. Math. Soc. 116, 450–464 (1965) 72. A.G. Kurosh, The Theory of Groups, Chelsea Publishing Company, New York (1960) 73. G. Lallement, Semigroups and Combinatorial Applications, John Wiley and Sons, New York (1979) 74. F.W. Levi, On semigroups, Bull. Calcutta Math. Soc. 36, 141–146 (1944) 75. M. Lothaire, Combinatorics on Words, Addison-Wesley Publishing Co., Reading, Mass., 1983; seconda edizione, Cambridge University Press, Cambridge (1997) 76. M. Lothaire, Algebraic Combinatorics on Words, Cambridge University Press, Cambridge (2002) 77. M. Lothaire, Applied Combinatorics on Words, Cambridge University Press, Cambridge (2005) 78. A. Lindenmayer, Mathematical models for cellular interaction in development I and II, J. Theoret. Biol. 18, 280–315 (1968) 79. R.C. Lyndon, M. P. Schützenberger, The equation am = bn c p in a free group, Michigan Math. J. 9, 289–298 (1962) 80. A. Machì, Groups, An Introduction to Ideas and Methods of the Theory of Groups, Springer-Verlag Italia, Milano (2012) 81. W. McCulloch, W. Pitts, A logical calculus of the ideas immanent in nervous activity, Bull. Math. Biophysics 5, 115–133 (1943) 82. J.D. McKnight Jr., Kleene quotient theorems, Pacific J. of Math. 14, 1343–1352 (1964) 83. B. McMillan, Two inequalities implied by the unique decipherability, IRE Trans. Inform. Theory IT-2, 115–116 (1956) 84. R. McNaughton, H. Yamada, Regular expressions and state graphs for automata, Trans. of the I.R.E. Professional Group on Electronic Computers, Vol. EC-9, N. 1, pp. 39–47 (March 1960), ristampato in: E.F. Moore (ed.), Sequential Machines, Addison-Wesley, Reading, Mass. (1964) 85. R. McNaughton, Algebraic decision procedures for local testability, Math. Systems Theory 8, 60–76 (1974) 86. R. McNaughton, S. Papert, Counter-Free Automata, MIT Press, Cambridge, Mass. (1971) 87. Yu.T. Medvedev, On the class of events representable in a finite automaton (in russo) in Avtomaty, pp. 385–401, 1956, ristampato in: E.F. Moore (ed.), Sequential Machines, Addison-Wesley, Reading, Mass. (1964) 88. A.R. Meyer, A note on star-free events, J. Assoc. Comput. Mach. 16, 220–225 (1969) 89. A.R. Meyer, C. Thompson, Remarks on algebraic decomposition of automata, Math. Systems Theory 3, 110–118 (1969) 90. D.D. Miller, A.H. Clifford, Regular D-classes in semigroups, Trans. Amer. Math. Soc. 82, 270–280 (1956) 91. M.L. Minsky, Computation: Finite and Infinite Machines, Prentice-Hall, Inc., Englewood Cliffs, N.J. (1967)

Riferimenti bibliografici

309

92. E.F. Moore, Gedanken-Experiments on sequential machines, in: C.E. Shannon and J. McCarthy (eds.), Automata Studies, Study 34, pp. 129–153, Princeton University Press, Princeton, N.J. (1956) 93. E.F. Moore (ed.), Sequential Machines, Addison-Wesley, Reading, Mass. (1964) 94. M. Morse, G. Hedlund, Unending chess, symbolic dynamics and a problem in semigroups, Duke Math. J. 11, 1–7 (1944) 95. J. Myhill, Finite Automata and the representation of events, WADD TR-57–624, 112–137, Wright Patterson AFB, Ohio (1957) 96. A. Nerode, Linear automaton transformations, Proc. Amer. Math. Soc. 9, 541–544 (1958) 97. M. Nivat, Transductions des langages de Chomsky, Ann. de l’Inst. Fourier 18, 339–456 (1968) 98. A. Paz, Introduction to probabilistic automata, Academic Press, New York (1971) 99. D. Perrin, Finite Automata, in: J. van Leeuwen (ed.), Handbook of Theoretical Computer Science, vol. B, Chapter 1, pp. 1–57, Elsevier, Amsterdam (1990) ˇ 100. J.-E. Pin, Le problème de la synchronization et la conjecture de Cerný, Thèse de 3ème cycle, Université de Paris 6, Paris (1978) 101. J.-E. Pin, On two combinatorial problems arising from automata theory, Ann. Discrete Math. 17, 535–548 (1983) 102. J.E. Pin, H. Straubing, D. Thérien, Some results on the generalized star-height problem, Information and Computation 101, 219–250 (1992) 103. M.O. Rabin, Two-Way Finite Automata, Proc. Summer Institute of Symbolic Logic, at Cornell, pp. 366–369, Cornell University, Cornell (1957) 104. M.O. Rabin, Probabilistic Automata, Inform. and Control 6, 230–245 (1963) 105. M.O. Rabin, D. Scott, Finite Automata and their decision problems, IBM Journal of Research and development 3, 114–125 (1959), ristampato in: E.F. Moore (ed.), Sequential Machines, Addison-Wesley, Reading, Mass. (1964) 106. V.N. Redko, On defining relations for the algebra of regular events (in Russo), Ukrain. Mat. Z. 16, 120–126 (1964) 107. J. Rhodes, B. Steinberg, The q-theory of finite semigroups, Springer-Verlag, New York (2009) 108. H. Rogers jr, Theory of Recursive Functions and Effective Computability, McGraw-Hill Book Co, New York (1967) 109. G. Rozenberg, A. Salomaa (ed.s) Handbook of Formal Languages, vol. 1, 2, 3, Springer-Verlag, Berlin (1997) 110. J. Sakarovitch, Elements of Automata Theory, Cambridge University Press, Cambridge (2009) 111. A. Salomaa, Two complete axiom systems for the algebra of regular events, J. ACM 13, 158–169 (1966) 112. A. Salomaa, Theory of Automata, Pergamon, Oxford (1969) 113. A. Salomaa, Formal Languages, Academic Press, New York (1973) 114. A. Salomaa, M. Soittola, Automata-Theoretic Aspects of Formal Power series, Springer-Verlag, Berlin (1978) 115. A. Salomaa, Jewels of formal language theory, Pitman, London (1981) 116. A.A. Sardinas, C.W. Patterson, A necessary and sufficient condition for the unique decomposition of coded messages, IRE Internat. Conv. Rec. 8, 104–108 (1953) 117. M.P. Schützenberger, Une théorie algébrique du codage, in Séminaire Dubreil-Pisot (algèbre et théorie des nombres), 1955/1956, exposéO ˝ n. 15, pagina 24 118. M.P. Schützenberger, Sur certains sous-demi-groups qui interviennent dans un problème de mathématiques appliquées, Publ. Sci. Univ. d’Alger Ser. A 6, 85–90 (1959)

310

Riferimenti bibliografici

119. M.P. Schützenberger, R.S. Marcus, Full decodable code-words sets, IRE Trans. Inf. Theory IT-5, 12–15 (1959) 120. M.P. Schützenberger, On finite monoids having only trivial subgroups, Inform. and Control 8, 190–194 (1965) 121. M.P. Schützenberger, Codes à longueur variable, preprint di un seminario tenuto a Royan 1965; ristampato in (D. Perrin ed.) Théorie des Codes, Actes 7-École de Printemps d’Informatique théorique, pp. 247–271, Jougne (1979) 122. M.P. Schützenberger, Sur certaines opérations de fermeture dans les langages rationnels, Symposia Mathematica XV, 245–253 (1975) 123. M.P. Schützenberger, A property of finitely generated submonoids of free monoids, in (G. Pollak ed.) Algebraic theory of semigroups, Colloq. Math. Soc. János Bolyai„ vol. 20, pp. 545–576, North Holland, Amsterdam (1979) 124. C.E. Shannon, A mathematical theory of communication, Bell System Tech. J., 27, 379– 423, 623–656 (1948). Ristampa in: C.E. Shannon, W. Weaver, The Mathematical Theory of Communication, University of Illinois Press, Urbana and Chicago (1949) 125. C.E. Shannon, J. McCarthy (ed.s), Automata Studies, Annals of Mathematical Studies, N. 34, Princeton University Press, Princeton, N.J. (1956) 126. J.C. Shepherdson, The reduction of two-way automata to one-way automata, IBM Journal of Research and development 3, 198–200 (1959) 127. I. Simon, Piecewise testable events, Lecture Notes in Computer Science, vol. 33, pp. 214–222, Springer-Verlag, Berlin (1975) ˇ 128. B. Steinberg, The Cerný conjecture for one-cluster automata with prime length cycle, Theoret. Comput. Sci. 412, 5487–5491 (2011) 129. A. Suschkewitsch, Über die endlichen Gruppen ohne das Gesetz der eindeutigen Umkehrberkeit, Math. Ann. 99, 30–50 (1928) 130. B.A. Trakhtenbrot, Ya.M. Barzdin, Finite Automata, Behaviour and Synthesis, Nauka, Moscow (1970) (traduzione Inglese: North-Holland, Amsterdam (1973)) 131. S. Varricchio, A pumping condition for regular sets, SIAM J. Comput. 26, 764–771 (1997) 132. M.V. Volkov, Synchronizing automata and the Cerny conjecture, in: C. Martín-Vide, F. Otto, H. Fernau (ed.s), Language and Automata Theory and Applications, LATA, Lecture Notes in Computer Science, vol. 5196, pp. 11–27, Springer, Berlin (2008) 133. Y. Zalcstein, Locally testable semigroups, Semigroup Forum 5, 216–227 (1973) 134. H.P. Zeiger, Cascade synthesis of finite state machines, Inform. and Control 10, 419–433 (1967)

Indice analitico

Alfabeto, 4, 67 Algebra – libera, 37 – quoziente, 36 – supporto di una, 34 – tipo di una, 34 – universale, 34 Anello, 23 Antiautomorfismo, 12 Antimorfismo, 12 Automa, 121 – 1-cluster, 165 – a due vie, 167 – accessibile, 121 – accettore, 121 – circolare, 165 – coaccessibile, 121 – completo, 138 – connesso, 121 – dei resti, 195 – deterministico, 138 – di Mealy, 260 – di Moore, 260 – di Nerode, 125 – Euleriano, 165 – fortemente connesso, 121 – grafo di un, 121 – in forma normale, 143 – incompleto, 123, 139 – localmente fortemente transitivo, 165 – minimale, 126 – non ambiguo, 140 – non deterministico, 123, 140

– probabilistico, 123 – ridotto, 182 – sincronizzante, 160 – transitivo, 121 Automorfismo, 11, 35 Base, 38, 66 Cammino – che ha successo, 121 – in un automa, 121 – in un semiautoma, 119 – in un trasduttore, 258 – lunghezza di un, 119 – stato di arrivo, 119 – stato di partenza, 119 – valutazione di un, 119 – vuoto, 119 Codice, 75 – biprefisso, 77 – completo, 85, 156 – completo a destra, 89, 158 – massimale, 84, 156 – non denso, 85, 156 – prefisso, 76 – prefisso massimale, 89, 158 – razionale, 155 – sincronizzante, 90, 159 – suffisso, 77 – uniforme, 77 Composizione – a cascata, 279 – di codici, 93

A. de Luca, F. D’Alessandro: Teoria degli Automi Finiti, UNITEXT – La Matematica per il 3+2 68, DOI 10.1007/978-88-470-5474-5, © Springer-Verlag Italia 2013

312

Indice analitico

– di funzioni, 5 – di relazioni, 5 – in serie, 280 – serie di, 282 Concatenazione, 4 Congruenza – di Rees, 16 – generata da una relazione, 32 – naturalmente indotta da un morfismo, 14, 36 – relazione di, 13 – sintattica, 16, 125 Coppia sincronizzante, 28, 90 Costante, 27, 91, 159, 161, 235 Cross-section, 267 D- classe, 45 – regolare, 54 Decomposizione – di gruppi, 282 – di monoidi, 272, 278 – di monoidi aperiodici, 283 – di semiautomi, 279 – di semigruppi, 272, 278 Descrizione istantanea, 167 Distribuzione di Bernoulli, 80 Elemento – idempotente, 3 – identità, 3 – inverso, 3 – inverso generalizzato, 54 – invertibile di un monoide, 3 – regolare di un semigruppo, 54 – zero, 3 Endomorfismo, 11, 35 Epimorfismo, 11, 35 – canonico, 14, 37 Equivalenza – di automi, 126, 187 – di Nerode, 17 – di stati, 181 – generata da una relazione, 30 – principale destra, 17 – principale sinistra, 19, 175 – relazione di, 13, 29 Espressione – razionale, 202 – razionale generalizzata, 206

Famiglia – di linguaggi, 107 – di Moore, 7, 29, 32, 73 Fattore – destro, 3, 75 – proprio, 3, 75 – sinistro, 3, 75 Funzione – biiettiva, 6 – di struttura, 84 – di transizione, 118 – di uscita, 122 – estensione di una, 6 – identità, 6 – iniettiva, 5 – parziale, 5 – razionale, 260 – restrizione di una, 6 – ridotta, 6 – suriettiva, 6 Gerarchia di Chomsky, 111 Grafo – di un automa, 121 – di un semiautoma, 119 – di un trasduttore, 257 – di una relazione, 6 Grammatica, 111 – dipendente dal contesto, 111 – libera dal contesto, 111 – lineare a destra, 112, 152 – lineare a sinistra, 112, 152 – linguaggio generato da una, 111 – regolare, 112, 152 Gruppo, 3 – ciclico, 9 – delle permutazioni, 7 – fattore, 282 – quoziente, 15 – semplice, 15 Gruppoide, 2 H - classe, 45 Ideale, 16 – 0-minimale, 62 – bilatere, 25 – destro, 25 – destro minimale, 58 – generato da una parte, 25

Indice analitico – minimale, 57 – principale, 25 – sinistro, 25 – sinistro minimale, 58 Idempotente, 3 Identità – elemento, 3 – funzione, 6 – razionale, 204 Immersione, 94 Indice – di un linguaggio aperiodico, 222 – di un monoide aperiodico, 222 – di una equivalenza, 18 Insieme dei resti destri, 77 Interpretazione – biiettiva, 106 – di una espressione razionale, 203, 207 – rovesciata, 106 – standard, 106 Isomorfismo, 11, 35 Iterazione – a blocchi, 132 – lemma di, 131 – proprietà di, 131 J - classe, 45 L - classe, 45 Linguaggio – accettato da un automa, 121, 139, 140 – aperiodico, 221 – locale, 232 – razionale, 149 – riconoscibile, 125 – strettamente locale, 148, 231, 255, 258 – testabile a pezzi, 238 Monoide, 3 – aperiodico, 222 – aperiodico di trasformazioni, 277 – biciclico, 97 – commutativo libero, 97, 247, 284 – complessità di un, 283 – delle funzioni su un insieme, 7 – delle relazioni binarie su un insieme, 6 – delle transizioni, 136 – delle trasformazioni, 273 – delle traslazioni interne destre, 12

– di Kleene, 246 – di reset, 277 – libero, 4, 66 – locale, 223 – semplificabile, 223 – sintattico, 18 – sintattico di un linguaggio, 125 Monomorfismo, 11, 35 Morfismo, 10 – alfabetico, 93 – biiettivo, 11 – copia, 93 – di algebre, 35 – di automi, 186 – di monoidi, 11 – di semiautomi, 185 – di semigruppi, 11 – iniettivo, 11 – proiezione, 94 – strettamente alfabetico, 93, 267 – suriettivo, 11 Operazione – Booleana, 20, 106, 126, 206, 232 – di rovesciamento, 13, 107, 128 – di shuffle, 107, 145 – quoziente, 20, 107, 128 – razionale, 21, 106, 202, 206 – unaria, 34 – zeraria, 34 Ordine – di divisione, 103 – di un elemento, 10 – di un semigruppo, 4 – fattoriale, 102 – lessicografico, 104 – militare, 105 – parziale, 29, 102 – prefissiale, 102 – suffissiale, 102 Parola, 4 – accettata, 121 – coniugata, 100 – fattore di una, 75 – lunghezza di una, 69 – palindroma, 99, 129 – prefisso di una, 75 – primaria, 86

313

314

Indice analitico

– primitiva, 101, 130 – rovesciata, 99 – sincronizzante, 160 – suffisso di una, 75 – vuota, 4 Parte – razionale, 21 – riconoscibile, 18 Pompa, 131 – positiva, 135 Prefisso – codice, 76 Presentazione – di monoidi, 96 – di semigruppi, 96 Prodotto – di parole, 4 – diretto, 4 – in corona, 276 – non ambiguo, 80 Produzione, 110 Proprietà – di iterazione, 131 – di sostituzione, 13 Pumping lemma, 131 R- classe, 45 Rappresentazione degli interi, 105 Razionale – identità, 204 – linguaggio, 149 – operazione, 21 – parte, 21 – relazione, 252 Relazione – binaria, 6 – chiusura riflessiva di una, 30 – chiusura simmetrica di una, 30 – chiusura transitiva di una, 30 – codominio di una, 5 – compatibile con il prodotto, 13 – di congruenza, 13 – di coniugazione, 100 – di derivazione, 110 – di equivalenza, 29 – di ordine parziale, 29 – di quasi-ordine, 29, 187, 273 – dominio di una, 5 – identità, 6

– inversa, 5 – razionale, 252 – regolare generata da una, 32 Relazioni, 5 – composizione di, 5, 262 – di Green, 44 – prodotto di, 5, 262 Reticolo, 8 – delle congruenze, 31 – delle equivalenze, 31 Riconoscibile – linguaggio, 125 – parte, 18 – relazione, 248 Ricoprimento – di automi, 187 – di semiautomi, 280 Semi-sistema di Thue, 110 Semianello, 23 – Booleano, 23 – tropicale, 23 Semiautoma – congruenza di un, 180 – di permutazione, 279 – di reset, 279 – grafo di un, 119 – quoziente di un, 180 Semigruppo, 2 – abeliano, 3 – cancellativo, 3 – commutativo, 3 – dei fattori, 27 – delle azioni, 274 – delle parti, 4 – di torsione, 10 – di trasformazioni, 273 – divisore di un, 273 – finitamente generato, 8 – finitamente presentato, 95 – finitamente riconoscibile, 249 – inversivo, 62 – libero, 4, 66 – monogenico, 9, 281 – periodico, 10 – presentazione di un, 96 – primo, 62 – quoziente, 14 – regolare, 54

Indice analitico – residualmente finito, 18, 249 – semigruppo quoziente di Rees, 16 – semplice, 26, 45 – semplice a destra, 26, 45, 281 – semplice a sinistra, 26, 45 – sintattico, 16 – stabile, 47 Serie – di composizione, 282 – formale, 24 – normale, 282 Singleton, 4, 40, 249 Sintattico – monoide, 18, 125 – morfismo, 16 – semigruppo, 16 Sistema – combinatorio, 108 – D0L, 112 – di generatori, 8 – di riscrittura, 110 – di Thue, 114 – logico, 110 Sottoalgebra, 34 – generata, 35 Sottogruppo – massimale, 48 – normale, 15 Sottomonoide, 8 – biunitario, 75 – di un monoide libero, 71 – liberabile, 74, 113 – libero, 72 – molto puro, 113

315

– unitario a destra, 74 – unitario a sinistra, 75 Sottoparola, 99, 238 Sottosemigruppo, 7 Star-height – di un linguaggio razionale, 210 – di una espressione razionale, 209 – di una espressione razionale estesa, 220 – generalizzata di un linguaggio razionale, 220 Stato – accessibile, 121 – coaccessibile, 121 – di reset, 160 – finale, 121 – iniziale, 121 – pozzo, 121 – stabilizzatore di uno, 158 – terminale, 121 Subset construction, 142 Suffisso – codice, 77 Tavola di transizione, 118 Trasduttore, 257 – sequenziale, 260 Trasduzione, 6, 257 Trasformazione, 7 – elementare, 118 Traslazione – interna destra, 11 – interna sinistra, 11 Zero in un semigruppo, 3

Collana Unitext – La Matematica per il 3+2 A cura di: A. Quarteroni (Editor-in-Chief) L. Ambrosio P. Biscari C. Ciliberto G. van der Geer G. Rinaldi W.J. Runggaldier Editor in Springer: F. Bonadei [email protected] Volumi pubblicati. A partire dal 2004, i volumi della serie sono contrassegnati da un numero di identificazione. I volumi indicati in grigio si riferiscono a edizioni non pi`u in commercio. A. Bernasconi, B. Codenotti Introduzione alla complessit`a computazionale 1998, X+260 pp, ISBN 88-470-0020-3 A. Bernasconi, B. Codenotti, G. Resta Metodi matematici in complessit`a computazionale 1999, X+364 pp, ISBN 88-470-0060-2 E. Salinelli, F. Tomarelli Modelli dinamici discreti 2002, XII+354 pp, ISBN 88-470-0187-0 S. Bosch Algebra 2003, VIII+380 pp, ISBN 88-470-0221-4 S. Graffi, M. Degli Esposti Fisica matematica discreta 2003, X+248 pp, ISBN 88-470-0212-5

S. Margarita, E. Salinelli MultiMath – Matematica Multimediale per l’Universit`a 2004, XX+270 pp, ISBN 88-470-0228-1 A. Quarteroni, R. Sacco, F.Saleri Matematica numerica (2a Ed.) 2000, XIV+448 pp, ISBN 88-470-0077-7 2002, 2004 ristampa riveduta e corretta (1a edizione 1998, ISBN 88-470-0010-6) 13. A. Quarteroni, F. Saleri Introduzione al Calcolo Scientifico (2a Ed.) 2004, X+262 pp, ISBN 88-470-0256-7 (1a edizione 2002, ISBN 88-470-0149-8) 14. S. Salsa Equazioni a derivate parziali - Metodi, modelli e applicazioni 2004, XII+426 pp, ISBN 88-470-0259-1 15. G. Riccardi Calcolo differenziale ed integrale 2004, XII+314 pp, ISBN 88-470-0285-0 16. M. Impedovo Matematica generale con il calcolatore 2005, X+526 pp, ISBN 88-470-0258-3 17. L. Formaggia, F. Saleri, A. Veneziani Applicazioni ed esercizi di modellistica numerica per problemi differenziali 2005, VIII+396 pp, ISBN 88-470-0257-5 18. S. Salsa, G. Verzini Equazioni a derivate parziali – Complementi ed esercizi 2005, VIII+406 pp, ISBN 88-470-0260-5 2007, ristampa con modifiche 19. C. Canuto, A. Tabacco Analisi Matematica I (2a Ed.) 2005, XII+448 pp, ISBN 88-470-0337-7 (1a edizione, 2003, XII+376 pp, ISBN 88-470-0220-6)

20. F. Biagini, M. Campanino Elementi di Probabilit`a e Statistica 2006, XII+236 pp, ISBN 88-470-0330-X 21. S. Leonesi, C. Toffalori Numeri e Crittografia 2006, VIII+178 pp, ISBN 88-470-0331-8 22. A. Quarteroni, F. Saleri Introduzione al Calcolo Scientifico (3a Ed.) 2006, X+306 pp, ISBN 88-470-0480-2 23. S. Leonesi, C. Toffalori Un invito all’Algebra 2006, XVII+432 pp, ISBN 88-470-0313-X 24. W.M. Baldoni, C. Ciliberto, G.M. Piacentini Cattaneo Aritmetica, Crittografia e Codici 2006, XVI+518 pp, ISBN 88-470-0455-1 25. A. Quarteroni Modellistica numerica per problemi differenziali (3a Ed.) 2006, XIV+452 pp, ISBN 88-470-0493-4 (1a edizione 2000, ISBN 88-470-0108-0) (2a edizione 2003, ISBN 88-470-0203-6) 26. M. Abate, F. Tovena Curve e superfici 2006, XIV+394 pp, ISBN 88-470-0535-3 27. L. Giuzzi Codici correttori 2006, XVI+402 pp, ISBN 88-470-0539-6 28. L. Robbiano Algebra lineare 2007, XVI+210 pp, ISBN 88-470-0446-2 29. E. Rosazza Gianin, C. Sgarra Esercizi di finanza matematica 2007, X+184 pp,ISBN 978-88-470-0610-2

30. A. Machì Gruppi – Una introduzione a idee e metodi della Teoria dei Gruppi 2007, XII+350 pp, ISBN 978-88-470-0622-5 2010, ristampa con modifiche 31 Y. Biollay, A. Chaabouni, J. Stubbe Matematica si parte! A cura di A. Quarteroni 2007, XII+196 pp, ISBN 978-88-470-0675-1 32. M. Manetti Topologia 2008, XII+298 pp, ISBN 978-88-470-0756-7 33. A. Pascucci Calcolo stocastico per la finanza 2008, XVI+518 pp, ISBN 978-88-470-0600-3 34. A. Quarteroni, R. Sacco, F. Saleri Matematica numerica (3a Ed.) 2008, XVI+510 pp, ISBN 978-88-470-0782-6 35. P. Cannarsa, T. D’Aprile Introduzione alla teoria della misura e all’analisi funzionale 2008, XII+268 pp, ISBN 978-88-470-0701-7 36. A. Quarteroni, F. Saleri Calcolo scientifico (4a Ed.) 2008, XIV+358 pp, ISBN 978-88-470-0837-3 37. C. Canuto, A. Tabacco Analisi Matematica I (3a Ed.) 2008, XIV+452 pp, ISBN 978-88-470-0871-3 38. S. Gabelli Teoria delle Equazioni e Teoria di Galois 2008, XVI+410 pp, ISBN 978-88-470-0618-8 39. A. Quarteroni Modellistica numerica per problemi differenziali (4a Ed.) 2008, XVI+560 pp, ISBN 978-88-470-0841-0 40. C. Canuto, A. Tabacco Analisi Matematica II 2008, XVI+536 pp, ISBN 978-88-470-0873-1 2010, ristampa con modifiche

41. E. Salinelli, F. Tomarelli Modelli Dinamici Discreti (2a Ed.) 2009, XIV+382 pp, ISBN 978-88-470-1075-8 42. S. Salsa, F.M.G. Vegni, A. Zaretti, P. Zunino Invito alle equazioni a derivate parziali 2009, XIV+440 pp, ISBN 978-88-470-1179-3 43. S. Dulli, S. Furini, E. Peron Data mining 2009, XIV+178 pp, ISBN 978-88-470-1162-5 44. A. Pascucci, W.J. Runggaldier Finanza Matematica 2009, X+264 pp, ISBN 978-88-470-1441-1 45. S. Salsa Equazioni a derivate parziali – Metodi, modelli e applicazioni (2a Ed.) 2010, XVI+614 pp, ISBN 978-88-470-1645-3 46. C. D’Angelo, A. Quarteroni Matematica Numerica – Esercizi, Laboratori e Progetti 2010, VIII+374 pp, ISBN 978-88-470-1639-2 47. V. Moretti Teoria Spettrale e Meccanica Quantistica – Operatori in spazi di Hilbert 2010, XVI+704 pp, ISBN 978-88-470-1610-1 48. C. Parenti, A. Parmeggiani Algebra lineare ed equazioni differenziali ordinarie 2010, VIII+208 pp, ISBN 978-88-470-1787-0 49. B. Korte, J. Vygen Ottimizzazione Combinatoria. Teoria e Algoritmi 2010, XVI+662 pp, ISBN 978-88-470-1522-7 50. D. Mundici Logica: Metodo Breve 2011, XII+126 pp, ISBN 978-88-470-1883-9 51. E. Fortuna, R. Frigerio, R. Pardini Geometria proiettiva. Problemi risolti e richiami di teoria 2011, VIII+274 pp, ISBN 978-88-470-1746-7

52. C. Presilla Elementi di Analisi Complessa. Funzioni di una variabile 2011, XII+324 pp, ISBN 978-88-470-1829-7 53. L. Grippo, M. Sciandrone Metodi di ottimizzazione non vincolata 2011, XIV+614 pp, ISBN 978-88-470-1793-1 54. M. Abate, F. Tovena Geometria Differenziale 2011, XIV+466 pp, ISBN 978-88-470-1919-5 55. M. Abate, F. Tovena Curves and Surfaces 2011, XIV+390 pp, ISBN 978-88-470-1940-9 56. A. Ambrosetti Appunti sulle equazioni differenziali ordinarie 2011, X+114 pp, ISBN 978-88-470-2393-2 57. L. Formaggia, F. Saleri, A. Veneziani Solving Numerical PDEs: Problems, Applications, Exercises 2011, X+434 pp, ISBN 978-88-470-2411-3 58. A. Machì Groups. An Introduction to Ideas and Methods of the Theory of Groups 2011, XIV+372 pp, ISBN 978-88-470-2420-5 59. A. Pascucci, W.J. Runggaldier Financial Mathematics. Theory and Problems for Multi-period Models 2011, X+288 pp, ISBN 978-88-470-2537-0 60. D. Mundici Logic: a Brief Course 2012, XII+124 pp, ISBN 978-88-470-2360-4 61. A. Machì Algebra for Symbolic Computation 2012, VIII+174 pp, ISBN 978-88-470-2396-3 62. A. Quarteroni, F. Saleri, P. Gervasio Calcolo Scientifico (5a ed.) 2012, XVIII+450 pp, ISBN 978-88-470-2744-2

63. A. Quarteroni Modellistica Numerica per Problemi Differenziali (5a ed.) 2012, XVIII+628 pp, ISBN 978-88-470-2747-3 64. V. Moretti Spectral Theory and Quantum Mechanics With an Introduction to the Algebraic Formulation 2013, XVI+728 pp, ISBN 978-88-470-2834-0 65. S. Salsa, F.M.G. Vegni, A. Zaretti, P. Zunino A Primer on PDEs. Models, Methods, Simulations 2013, XIV+482 pp, ISBN 978-88-470-2861-6 66. V.I. Arnold Real Algebraic Geometry 2013, X+110 pp, ISBN 978-3-642–36242-2 67. F. Caravenna, P. Dai Pra Probabilit`a. Un’introduzione attraverso modelli e applicazioni 2013, X+396 pp, ISBN 978-88-470-2594-3 68. A. de Luca, F. D’Alessandro Teoria degli Automi Finiti 2013, XII+316 pp, ISBN 978-88-470-5473-8 La versione online dei libri pubblicati nella serie e` disponibile su SpringerLink. Per ulteriori informazioni, visitare il sito: http://www.springer.com/series/5418