Characterizing Bisimulations Categorie, processi, linguaggi: Algebra e logica al servizio dellinformatica Paolo Bottoni Anna Labella
Automi e stati Un automa è descritto da: Stati S Transizioni, cioè mosse elementari da un alfabeto A che sono accettate per passare da uno stato allaltro. Partiamo dagli automi
Un automa è un sottomonoide del monoide S S Per ogni a in A, f a : S S Un omomorfismo tra monoidi non corrisponde affatto ad un Omomorfismo tra automi Dato un monoide M, questo è il monoide associato ad un automa Si tratta di una somiglianza occasionale, non è naturale
Le categorie Sono di particolare importanza le strutture libere, cioè quelle che non godono di più proprietà di quelle loro richieste La struttura algebrica di categoria tiene conto dei morfismi, oltre che degli oggetti. Canonicità: si pone un problema e gli si dà una soluzione unica a meno di isomorfismi Naturalità: le buone costruzioni devono essere invarianti per trasformazioni
Torniamo agli automi Un automa è un insieme di stati arricchito sul monoide dei linguaggi P(A*). Un morfismo tra automi è indotto da un cambiamento di base tra i rispettivi monoidi di linguaggi. s s w w A*B* P(B*)P(A*) Aut B Aut A
Alcune proprietà Vale lassiomatizzazione per le espressioni regolari (Salomaa, Kozen), in particolare la distributività: a (b+c) = ab + ac Adesso tutto funziona perfettamente: le operazioni tra i linguaggi si sollevano ad operazioni tra automi In particolare somma e concatenazione
Il caso non deterministico [Milner] nel calcolo parallelo Non sappiamo più nulla sugli stati, ma possiamo fare esperimenti per scoprire il comportamento di un processo I processi come scatole nere a c b ?=?= aa cb
Osservatori ed esperimenti Gli osservatori sono processi noti il cui comportamento viene forzato a coincidere con quello di una scatola nera: a aa c b b || Urrah!
a aa c b b || Boh! Osservatori ed esperimenti Gli osservatori sono processi noti il cui comportamento viene forzato a coincidere con quello di una scatola nera:
Ciò non può succedere nellaltro caso a a c b b || Urrah! Quindi a (b+c) ab + ac Osservatori ed esperimenti
Gli alberi Si possono pensare alberi generalizzati ad altri tipi di semireticoli L (o anche strutture molto più generali) (Walters-Kasangian) Con morfismi le simulazioni a c bc b b a a bc
I morfismi tra alberi Le simulazioni possono essere non strette e quindi non rispettare il nondeterminismo Questo è un esempio di monomorfismo non stretto a c b a a bc
Proprietà universale Gli alberi finiti sul monoide libero sono la struttura libera come categoria con somma e con prodotto semidistributivo Se gli alberi regolari vengono considerati come espressioni regolari generalizzate, hanno unassiomatizzazione finita (DN-L) Generalizzazione dei linguaggi Caratterizzazione delle bisimulazioni (D. Gorla)
Alberi con simulazioni Proposizione 1 Gli alberi con le simulazioni formano una categoria coerente. Cioè possiamo definire nellinsieme parzialmente ordinato dei sottoggetti di un oggetto tutti gli operatori positivi: intersezione congiunzione unione disgiunzione immagine quantificatore esistenziale che soddisfano opportune condizioni di coerenza (unaltra forma della naturalità)
Alberi con simulazioni strette Proposition 2 Gli alberi con le simulazioni strette formano una categoria di Heyting (cioè. un logos [Freyd] ). Cioè possiamo definire nellinsieme parzialmente ordinato dei sottoggetti di un oggetto tutti gli operatori positivi e negativi: implicazione negazione quantificatore universale
Associare un linguaggio logico ad una categoria Possiamo definire operatori positivi e negativi per tutte le formule, I negativi si comporteranno bene soltanto sulle formule strette. Possiamo parlare di computazioni con questo linguaggio Oggetti Tipi Sottoggetti Formule Morfismi Termini Monomorfismi Deduzioni
Una serie di operatori che si trasformano in lettere funzionali e predicative del linguaggio Se L è generato da un alfabeto con un elemento speciale, possiamo: Cancellare tutte le sue occorrenze come etichetta mediante un operatore del, oppure Rimuovere tutti i cammini contenenti mediante un operatore res Tree ha un prodotto tensore
Una logica più che coerente 1. Una logica coerente [Johnstone 2002] è un linguaggio tipato con gli operatori positivi, luguaglianza ed il sistema deduttivo comprendente le regole ), ), ), ), ) e ) 2. Una logica intuizionista del primo ordine [Johnstone 2002] è un linguaggio tipato con tutti gli operatori, luguaglianza ed il sistema deduttivo comprendente le regole ), ), ), ), ), ) e ) (in questo caso le regole ) sono regole derivabili) 3. Una logica più che coerente è un linguaggio tipato con tutti gli operatori, luguaglianza ed il sistema deduttivo comprendente le regole della logica del primo ordine, eccetto la seconda parte delle regole ) e ).
Teorema Gli alberi sono un modello di una logica più che coerente perché contengono una sottostruttura che è una categoria di Heyting (modello di una logica intuizionista). Anzi contengono una sottostruttura che è un topos. (modello di una logica intuizionista di ordine superiore). In questi linguaggi possiamo usare gli operatori sopra menzionati, ma anche una famiglia di modalità X : è deterministicamente vero rispetto ad un tipo X Tutte le formule che comnciano per X si comporteranno bene nella logica intuizionista
Esempio di formula che non si comporta bene Questa significa che abbiamo una simulazione del processo X mediante il processo Y più deterministico, dove due computazioni di X sono simulate da altrettante in Y con la stesse successioni di mosse, magari dimenticandone qualcuna nella seconda
Un altro esempio con x di tipo X, y di tipo Y, supponiamola vera una volta interpretata nel contesto Y. Allora ci sarà un mono da Y alla sua interpretazione. Se togliamo la quantificazione universale, la nuova formula sarà ancora interpretata come sottoggetto di Y, ma, non corrispondendo ad un mono stretto, non ci sarà un mono da Y a questo sottoggetto. Questo fatto falsifica la seconda parte della regola ).
Possiamo parlare di: Cooperative computation through pictures Dato un alfabeto di immagini elementari V costruiamo un monoide-semireticolo I mediante loperazione di sovrapposizione
1 2 x 1 =4, x 2 =2 x 1 =5, x 2 =1x 1 =1, x 2 =5 x 1 =2, x 2 =4 x 1 =3, x 2 =3 x 1 =6, x 2 =0 x 1 =0, x 2 =6 x 1 =8, x 2 =6 Esempi di sovrapposizione lineare
1 2 0 t e 0 t e 0 t e 0 e 1 &1&1 2 0 t e 0 t 1 &2&2 2 Esempi di sovrapposizione bidimensionale 0 t e 0 t 1 &3&3 2
Un gioco basato sul problema dei 4-colori Ai giocatori (Proponente e Opponente) viene data una collezione di mappe Trovare una colorazione di una mappa usando al più quattro colori in modo che regioni adiacenti non siano colorate nello stesso modo,
? ? k1 k2 il Proponente vince se può proporre una regione che lOpponente non può colorare l Opponente vince se riesce a completare la colorazione. La vittoria dipende dallindovinare la mappa giusta. Il proponente sceglie una regione da una mappa (ignota allOpponente) e lo sfida a colorarla secondo le regole del gioco usando la sovrapposizione; una regione già colorata non può essere cambiata Dopo che lOpponente ha colorato, il Proponente sceglie una nuova regione (non necessariamente sulla stessa mappa) ed il gioco prosegue.
Possiamo filtrare alberi e linguaggi Usando formule contenenti i corrispondenti sintattici degli operatori,, res e del
Relazioni con la logica dei fuzzy sets [Novak, Perfilieva, Mockor 1999] Classificazione dellappartenenza Classificazione delluguaglianza ?
Bibliografia