Preprint su logica modale e mu-calcolo

Transcript

Preprint su logica modale e mu-calcolo
Introduzione alla logica modale e al µ-calcolo
modale
Giacomo Lenzi
Assegnista di ricerca, Università di Pisa
Questo testo contiene gli appunti di un ciclo di tre seminari sulla logica modale e il µ-calcolo modale, tenuti dall’autore presso il Dipartimento
di Matematica dell’Università di Pisa nei mesi di Novembre e Dicembre
2002. Ringrazio il prof. Alessandro Berarducci per avermi proposto di
tenere questo ciclo di seminari.
1
Primo seminario, 8 Novembre 2002
La logica modale
La logica modale risale ad Aristotele, che la utilizzò per studiare i concetti di
necessità e possibilità. Con la notazione moderna, se P è una proposizione,
[ ]P
significa intuitivamente che P è necessariamente vera, e
h iP
significa che P è possibilmente vera.
Il simbolo [ ] si chiama box perché ricorda le forma di una scatola, e il
simbolo h i si chiama diamond perché ricorda la forma di un diamante.
Se aggiungiamo alla logica proposizionale le due modalità di cui sopra,
otteniamo la logica modale proposizionale. Quindi, nella sintassi avremo
proposizioni “atomiche” senza struttura, P, Q, . . ., e per ottenere formule
più complesse avremo a disposizione la negazione di una formula, ¬φ, la
congiunzione di due formule φ ∧ φ0 , la disgiunzione di due formule, φ ∨ φ0 , e
le modalità h iφ e [ ]φ.
1
Ad esempio, formule della logica modale saranno
P ∧ (Q ∨ [ ]R),
[ ]h iP
ecc.
Talvolta nella sintassi, anziché avere una sola coppia di modalità [ ], h i,
si hanno più coppie [i], hii, ove i varia in qualche insieme I di indici. Si parla
in questo caso di logica polimodale.
Adesso per completare la definizione della logica modale potremmo dare
assiomi e regole di deduzione che consentono di ragionare nella logica; tuttavia osserviamo che, nella sua lunga storia, la logica modale è stata interpretata in molti modi, e gli assiomi e regole più appropriati dipendono dalla
scelta dell’interpretazione. Facciamo qualche esempio di interpretazione.
Abbiamo anzitutto l’interpretazione più antica, basata sui “mondi possibili”; cioè, si ha una pluralità di mondi, o situazioni, possibili, e [ ]P vuol
dire che P è vera in tutti i mondi possibili, mentre h iP significa che P è
vera in qualche mondo possibile.
Un‘altra interpretazione è quella conoscitiva. In questo caso affermare
[ ]P significa affermare di conoscere P , mentre affermare h iP significa affermare di non poter escludere P .
Un’interpretazione nata in ambito matematico è quella aritmetica. In
questo caso si considerano formule del linguaggio dell’aritmetica del primo
ordine, i cui simboli sono 0, 1, la somma e il prodotto. Se φ è una tale
formula, [ ]φ significa che φ è dimostrabile nell’Aritmetica di Peano. La
nozione di dimostrabilità, di per sé, è metateorica, ma tale nozione può
essere codificata con una formula aritmetica tramite il procedimento noto
come gödelizzazione della sintassi. Quindi, [ ]φ sarà anch’essa una formula
aritmetica, e possiamo iterare le modalità scrivendo [ ][ ]φ, ecc.
Al variare delle interpretazioni, gli assiomi che è ragionevole assumere
cambiano. Consideriamo ad esempio l’assioma
[ ]([ ]φ → φ).
In ambito conoscitivo, tale formula è ragionevole, in quanto ciò che si conosce
è vero (il che giustifica [ ]φ → φ) ed è ragionevole che un soggetto cosciente
sappia che ciò che egli conosce è vero (il che giustifica il box davanti).
D’altra parte, in ambito aritmetico, consideriamo una formula φ falsa
sui numeri interi, ad esempio 0 = 1. Allora [ ]φ significa che l’aritmetica di
2
Peano è inconsistente (dimostra una falsità), e [ ]φ → φ significa la negazione,
cioè l’aritmetica di Peano è consistente. Se ora mettiamo un box davanti,
otteniamo che l’aritmetica di Peano prova la sua consistenza; ma questo è
falso per il secondo teorema di incompletezza di Gödel.
Infine, un’interpretazione che unifica molte di quelle storicamente precedenti è l’interpretazione relazionale di Kripke. Qui la logica viene interpretata su grafi, cioè insiemi dotati di relazioni. In questo modo la logica modale
ci consente di ragionare sui grafi, e questa idea viene applicata soprattutto
in informatica.
Infatti, in informatica, i grafi forniscono un modello per molti tipi di
sistemi: hardware, software, ecc. L’idea è che un sistema è visto come un
oggetto che ha molti stati possibili, e che può passare da uno stato all’altro
mediante l’esecuzione di azioni. Il grafo che modella il sistema avrà quindi
gli stati come vertici, e le azioni come relazioni tra vertici.
Risulta che molte proprietà desiderabili di sistemi possono essere controllate mediante modellizzazione con un grafo. Facciamo qualche esempio.
Una prima categoria di proprietà è la safety: l’idea è che “qualcosa di
cattivo non accadrà mai”. Ad esempio, nel controllo di una stampante
condivisa da vari utenti, non si vuole che la stampante serva due utenti
contemporaneamente.
Una categoria duale alla precedente è la liveness: qualcosa di buono,
prima o poi, accadrà. Per esempio, sarebbe desiderabile che se un utente
chiede l’accesso alla stampante, prima o poi lo otterrà.
Un terzo tipo di proprietà, stavolta di tipo “infinitario”, è la fairness:
qualcosa di buono accadrà infinite volte. Ad esempio, è desiderabile che se
un sistema operativo serve due utenti, il controllo passi dall’uno all’altro
infinite volte, o in altri termini, non succeda mai che uno dei due utenti
monopolizzi il sistema indefinitamente: questo non sarebbe equo (fair).
Un altro tipo di proprietà sono quelle cicliche: qualcosa di buono avviene
ogni tot unità di tempo. Ovviamente queste proprietà sono fondamentali
per la costruzione di orologi, timer, ecc.
La logica modale e le sue estensioni permettono di formalizzare il problema di verificare la correttezza di un sistema come un problema di verità
di certe formule in certe strutture matematiche (i grafi).
Formalmente, un grafo è una coppia (V, R), ove V è un insieme di vertici e R è una relazione binaria su V . Poiché le formule da interpretare
sui grafi conterranno atomi, possiamo considerare anche strutture formate
da un grafo (V, R) più un sottoinsieme di V per ogni atomo che si vuole
interpretare.
3
Più in generale, un sistema di transizione è una struttura
S = (V, R1 , . . . , Rn , P1 , . . . , Pm ),
ove V è un insieme, R1 , . . . , Rn sono relazioni binarie su V , e P1 , . . . , Pm
sono sottoinsiemi di V , che interpretano gli atomi P1 , . . . , Pm rispettivamente.
La semantica di una formula della logica modale è formalizzata mediante
una relazione ternaria di soddisfazione
S, v |= φ
ove S è un sistema di transizione, v è un vertice di S e φ è una formula
modale.
La relazione è definita per induzione su φ:
• S, v |= Pi vale se e solo se v ∈ Pi ;
• S, v |= ¬φ vale se e solo se non è vero che S, v |= ¬φ;
• S, v |= φ1 ∧ φ2 vale se e solo se S, v |= φ1 e S, v |= φ2 ;
• S, v |= φ1 ∨ φ2 vale se e solo se S, v |= φ1 oppure S, v |= φ2 ;
• S, v |= h Ri iφ vale se e solo se esiste un punto w tale che vRi w e
S, w |= φ;
• S, v |= [ Ri ]φ vale se e solo se per ogni punto w tale che vRi w si ha
S, w |= φ.
Notiamo che le ultime due clausole, relative a box e diamond, prescrivono
in sostanza che la formula φ sia vera in qualche stato accessibile da quello
corrente (per il diamond), o che sia vera in tutti gli stati accessibili (per il
box).
La relazione di soddisfazione permette di associare a ogni formula modale
φ e a ogni sistema di transizione S un insieme di vertici di S, cioè
||φ|| = {v ∈ S | S, v |= φ}.
Passiamo a un paio di traduzioni tra la logica modale ed altre logiche.
Anzitutto, per ogni formula φ esiste una formula tφ (x) del primo ordine,
su un linguaggio di predicati unari e binari, tale che si ha sempre S, v |= φ
se e solo se S |= tφ (v). Infatti tφ è data da:
4
• tP (x) = P (x) per ogni atomo P ;
• t¬φ = ¬tφ ;
• tφ1 ∨φ2 = tφ1 ∨ tφ2 ;
• tφ1 ∧φ2 = tφ1 ∧ tφ2 ;
• thRiφ (x) = ∃y. xRy ∧ tφ (y);
• t[R]φ (x) = ∀y. xRy → tφ (y).
Risulta anzi che la traduzione può essere fatta nella logica del primo
ordine con due variabili (ove si permette di quantificare più volte la stessa
variabile) e poiché questo frammento della logica del prim’ordine è decidibile,
la traduzione implica la decidibilità della logica modale. Cioè, esiste un algoritmo per verificare se una formula modale è identicamente vera. Comunque,
dal punto di vista computazionale, la logica modale è meno complessa della
logica a due variabili: il suo problema di decidibilità è PSPACE completo,
vedi [12], mentre quello della logica a due variabili è NEXPTIME completo,
vedi [8].
Una seconda traduzione è quella della logica intuizionista nella logica
modale, proposta da Gödel negli anni ’30. Ricordiamo che la sintassi della
logica intuizionista proposizionale ha gli atomi e i connettivi ¬ (negazione),
∧ (congiunzione) e ∨ (disgiunzione), più l’implicazione φ1 → φ2 che, a differenza della logica classica, non è definibile a partire dagli altri connettivi.
La traduzione, che chiameremo M od, è data induttivamente:
• M od(P ) = [ ]P ;
• M od(φ1 ∨ φ2 ) = M od(φ1 ) ∨ M od(φ2 );
• M od(φ1 ∧ φ2 ) = M od(φ1 ) ∧ M od(φ2 );
• M od(¬φ) = [ ]¬M od(φ);
• M od(φ1 → φ2 ) = [ ](M od(φ1 ) → M od(φ2 )).
La traduzione consente di collegare la logica modale con la logica intuizionista proposizionale: si ha che una formula φ è intuizionisticamente valida se
e solo se M od(φ) è una formula modale vera in tutti i punti di tutti i sistemi
di transizione riflessivi e transitivi.
5
Tornando alle applicazioni informatiche, abbiamo detto che un sistema
è descritto dal grafo dei suoi stati. In realtà, però, la specifica di un sistema
non riguarda la struttura dettagliata del sistema, ma solo il suo comportamento. Quindi è interessante chiedersi cosa sia il comportamento di un
sistema, o almeno, quando due sistemi hanno lo stesso comportamento. La
risposta oggi comunemente accettata è la bisimulazione, dovuta a Park, vedi
[16]. La definizione è la seguente.
Siano S, T due sistemi a n relazioni, v un punto di S e w un punto di
T . Diciamo che S, v è bisimile a T, w se esiste una relazione B ⊆ S × T tale
che:
• B vale tra v e w;
• B rispetta gli atomi, cioè se xBy, allora x e y verificano le stesse
proposizioni atomiche;
• B completa i quadrati nel senso seguente: se xBy e xRi x0 , allora esiste
un y 0 tale che yRi y 0 e x0 By 0 ;
• lo stesso avviene dall’altra parte: se xBy e yRi y 0 , allora esiste un x0
tale che xRi x0 e x0 By 0 .
Osserviamo che ogni relazione di “va e vieni” tra sistemi di transizione,
nel senso della teoria dei modelli, è una bisimulazione, ma non viceversa: ad
esempio, sono bisimili N con la relazione di successore (x succ y se y = x+1)
nel punto 0, e Z con la relazione di successore nel punto 0.
Inoltre, la logica modale è invariante per bisimulazione; cioè, se S, v è
bisimile a T, w, allora S, v e T, w verificano le stesse formule modali. Questo
è un esercizio, mentre il viceversa è un teorema; precisamente si ha:
Teorema (Van Benthem, [20]). Sia φ una formula del primo ordine
su un linguaggio di predicati unari e binari, invariante per bisimulazione.
Allora φ equivale a una formula modale.
Quindi, la logica modale corrisponde al frammento invariante per bisimulazione della logica del primo ordine.
Una variante “finitaria” di questo teorema è la seguente:
Teorema (Rosen, [19]) Sia φ una formula del primo ordine su un linguaggio di predicati unari e binari, invariante per bisimulazione sui grafi
finiti. Allora φ equivale a una formula modale sui grafi finiti.
Il limite della logica modale è la sua scarsa espressività, puramente “locale”. Infatti, la verità di una formula modale di lunghezza n in un modello dipende solo dai punti a distanza al più n dal punto di riferimento.
6
In particolare, la logica modale è troppo debole per esprimere le proprietà
desiderabili di sistemi informatici di cui sopra.
Per ottenere la possibilità di esprimere proprietà globali, sono necessarie
logiche più potenti che introdurremo nei prossimi seminari.
2
Secondo seminario, 29 Novembre 2002
La logica temporale
Abbiamo visto che la logica modale non è abbastanza espressiva per formalizzare le più importanti proprietà di correttezza dei sistemi informatici.
Vedremo, nel terzo e ultimo seminario, che questo problema si può risolvere
introducendo il µ-calcolo modale.
Questo secondo seminario riguarda la logica temporale, la cui espressività
si colloca a mezza strada tra la logica modale e il µ-calcolo.
La logica temporale si occupa di concetti come “sempre”, “mai”, “qualche
volta”, ecc. Essa è una branca della logica di origine antica, ma solo negli
anni ’50 è stata studiata matematicamente, a cominciare dal lavoro di Prior,
vedi [18].
Negli anni ’70 è stata applicata alla verifica di correttezza dei sistemi
informatici, a cominciare dal lavoro di Pnueli, vedi [17].
Per applicare la logica temporale bisogna fissare un modello matematico
del tempo. Ci sono vari possibili modelli di tempo. Il tempo può essere assunto discreto o continuo, finito o infinito, lineare o ramificato, unidirezionale
o bidirezionale, ecc. Le logiche temporali di cui ci occuperemo, e che sono
specializzate per la verifica di sistemi, assumono le seguenti proprietà del
tempo:
• il tempo è discreto: tra un istante e l’altro, si hanno solo un numero
finito di istanti intermedi;
• il tempo è infinito nel futuro e finito nel passato: c’è un primo istante
ma non un ultimo;
• il tempo fluisce dal passato al futuro e siamo interessati a cosa accadrà
nel futuro: questa scelta è dettata dalle applicazioni, in cui lo scopo è
fare previsioni sul comportamento di un sistema.
Invece, l’alternativa tra tempo lineare e ramificato dà luogo a due possibilità
egualmente interessanti. Il tempo si dice lineare se in ogni istante, il sistema
può evolvere in un solo modo nell’istante successivo, cosicché l’evoluzione del
7
sistema ha la forma di una linea. Invece, il tempo si dice ramificato se in ogni
istante, il sistema può evolvere in molti modi; in questo caso l’evoluzione del
sistema a partire da un istante iniziale ha la forma di un albero.
Cominciamo a descrivere una logica temporale lineare, in seguito passeremo alle logiche ramificate (branching in inglese).
La logica temporale lineare, LT L, si ottiene aggiungendo alla logica
proposizionale quattro operatori temporali
F, G, O, U
con il seguente significato.
Sia P una proposizione. La formula F P significa che P è vera in qualche
istante futuro. La formula GP significa che P è vera in ogni istante futuro,
ed è quindi la formula duale di F P . Inoltre, la formula OP significa che
P è vera nel prossimo istante. Infine, U è un operatore binario: se P, Q
sono proprietà, la formula P U Q significa che la formula P vale fino al primo
istante in cui vale Q (U viene dall’inglese “until”, finché).
Per precisare meglio il significato degli operatori temporali, possiamo
introdurre quelle che chiameremo le “strutture lineari”. Una struttura lineare è data da S = (N, P1 , . . . , Pn ), ove N è l’insieme dei numeri naturali
0, 1, 2, 3 . . . e P1 , . . . , Pn sono sottoinsiemi di N, che interpretano le proposizioni atomiche P1 , . . . , Pn .
Abbiamo una relazione binaria di soddisfazione S |= φ, ove S è una
struttura lineare e φ è una formula di LT L, definita induttivamente.
Per poter scrivere la clausole della definizione, data una struttura lineare
S e un numero i, denotiamo S i (lo i-esimo shift di S) come la struttura
lineare ove Pj è interpretato dall’insieme
{x − i | x ≥ i, x ∈ Pj }.
Intuitivamente, S i |= φ significa che φ è vera all’istante i ∈ N.
Abbiamo ora le clausole:
• S |= Pj se 0 ∈ Pj ;
• S |= ¬φ se non è vero che S |= φ;
• S |= φ1 ∧ φ2 se S |= φ1 e S |= φ2 ;
• S |= φ1 ∨ φ2 se S |= φ1 oppure S |= φ2 ;
• S |= Oφ se S 1 |= φ;
8
• S |= F φ se S i |= φ per qualche i;
• S |= Gφ se S i |= φ per ogni i;
• S |= φ1 U φ2 se esiste i per cui S i |= φ2 , e per ogni j con j < i, si ha
S j |= φ1 .
Facciamo qualche esempio di formula LT L che mostra che, a differenza
della logica modale, la logica temporale è abbastanza potente da esprimere
molte proprietà desiderabili globali dei sistemi.
Se P è una proprietà del sistema che si vuole evitare, allora G¬P dice
che P non accadrà mai: questo è un esempio di proprietà di safety.
Se P, Q sono proprietà, P → F Q dice che, se in un punto ho P , allora
in qualche punto successivo ho Q; per esempio, se un utente chiede l’accesso
a una stampante, prima o poi lo otterrà; questo è un esempio di proprietà
di liveness. Una proprietà di liveness più forte è P → OQ; nel caso della
stampante, dice che una richiesta di accesso alla stampante è soddisfatta
immediatamente.
Combinando gli operatori temporali possiamo esprimere anche proprietà
di fairness; per esempio, la formula GF P significa che P è vera infinite volte;
infine la formula duale F GP significa che P è vera in tutti i punti salvo un
numero finito.
La logica temporale lineare LT L che abbiamo esposto è quella più usata.
Nel caso delle logiche branching c’è più varietà. Noi esporremo qui le logiche
CT L (Computation Tree Logic) e la sua estensione CT L∗ . In entrambi i casi
l’idea è di estendere la logica temporale lineare con i quantificatori sui cammini, denotati A ed E. Quindi se φ è una formula, Eφ significa che φ è vera
in qualche cammino, e Aφ significa che φ è vera in ogni cammino. In CT L il
modo in cui appaiono i quantificatori è soggetto ad alcune restrizioni, mentre
in CT L∗ non c’è nessuna restrizione. Quindi per semplicità cominceremo
ad esporre la semantica di CT L∗ e poi passeremo a CT L.
Le formule di CT L∗ sono ottenute dalle formule atomiche mediante gli
operatori booleani, gli operatori lineari F, G, O, U , e i quantificatori sui cammini A, E. Per definire la semantica di CT L∗ usiamo “strutture branching”,
cioè strutture del tipo
S = (V, R, P1 , . . . , Pn ),
ove V è un insieme non vuoto, R è una relazione binaria su V e P1 , . . . , Pn
sono sottoinsiemi di V , che interpretano gli atomi P1 , . . . , Pn .
9
I cammini che ci interessano saranno sequenze infinite
v0 , v1 , . . . , vn , . . .
di elementi di V , tali che vi Rvi+1 per ogni numero i ∈ N.
Per semplicità assumiamo che:
• la relazione R sia totale su V , nel senso che per ogni v ∈ V esiste
w ∈ V tale che vRw. Questo implica che da ogni punto parte almeno
un cammino infinito;
• la struttura sia un albero; cioè, esista un punto r, detto radice, tale
che per ogni punto v esista un solo cammino finito da r a v, cioè una
sola sequenza finita v0 , . . . , vn tale che v0 = r, vn = v e vi Rvi+1 per
ogni i < n.
Avremo una relazione ternaria di soddisfazione S, π |= φ, ove S è una
struttura branching, π è un cammino e φ è una formula di CT L∗ . La
relazione è definita induttivamente in φ; diamo qui le clausole relative agli
operatori lineari e ai quantificatori. Anche sui cammini abbiamo gli operatori
di shift: se π è un cammino,
π = v0 , v1 , . . . , vn , . . .
e i ∈ N, π i è l’i-esimo suffisso di π:
π i = vi , vi+1 , vi+2 , . . .
Abbiamo le clausole:
• S, π |= Pj se il primo vertice di π sta in Pj ;
• S, π |= Oφ se S, π 1 |= φ;
• S, π |= F φ se S, π i |= φ per qualche i;
• S, π |= Gφ se S, π i |= φ per ogni i;
• S, π |= φU ψ se per qualche i si ha S, π i |= ψ e S, π j |= φ per ogni j < i;
• S, π |= Eφ se S, ρ |= φ per qualche cammino ρ che ha lo stesso primo
vertice di π;
• S, π |= Aφ se S, ρ |= φ per ogni cammino ρ che ha lo stesso primo
vertice di π.
10
In alcuni casi la verità di una formula su un cammino dipende solo dal
primo vertice del cammino. Questo succede in particolare per le cosiddette
“formule di stato” (ricordiamo che i vertici di un grafo corrispondono agli
stati di un sistema), definite come gli elementi del più piccolo insieme di
formule F S tali che:
• gli atomi stanno in F S;
• F S è chiuso per operatori booleani;
• se φ è una formula qualunque di CT L∗ , Eφ e Aφ stanno in F S.
Quindi, se φ è una formula di stato e v è un vertice di una struttura branching, possiamo porre S, v |= φ se S, π |= φ per un qualunque cammino π che
parte da v.
In particolare, tra le formule di stato ci sono le formule della sottologica
di CT L∗ nota come CT L. Definiamo CT L come l’insieme delle formule di
CT L∗ ove:
• ogni quantificatore A, E appare immediatamente prima di un operatore lineare F, G, O, U ;
• ogni operatore lineare appare immediatamente dopo un quantificatore.
Facciamo qualche esempio di formule CT L e CT L∗ . Siano P, Q due
proposizioni.
Anzitutto, in CT L abbiamo la formula EOP , che equivale a dire che
esiste un successore in cui vale P , proprio come l’operatore diamond della
logica modale.
Analogamente abbiamo la formula AOP , che equivale a dire che in ogni
successore vale P . Quindi questa formula corrisponde alla modalità box
della logica modale, e quindi CT L include la logica modale.
Un altro esempio di CT L è AGP , che significa che P accadrà sempre,
nel senso che accadrà in ogni punto di ogni cammino che parte dal punto in
cui la formula è valutata. Questa è una proprietà di tipo safety.
Notiamo che non è detto che tutti i punti della struttura siano raggiungibili dal punto in cui si valuta la formula; la formula non dice nulla sui punti
irraggiungibili.
Analogamente, in CT L abbiamo EF P , cioè, P vale in qualche punto di
qualche cammino che parte dal punto in cui la formula è valutata. Questa
è una proprietà di tipo liveness.
11
Un’altra liveness più complicata esprimibile in CT L è AF P : in ogni
cammino esiste un punto che verifica P . Tale proprietà si chiama talvolta
“inevitabilità”.
Usando l’Until possiamo poi, sempre in CT L, scrivere E(P U Q), che
dice che in qualche cammino, P vale fino alla prima volta in cui vale Q;
analogamente, A(P U Q) dice che ciò vale in ogni cammino.
Combinando gli operatori lineari abbiamo in CT L formule come AGEF P ,
che significa: in ogni futuro c’è un futuro successivo in cui vale P .
Passando a formule CT L∗ che non sono (sintatticamente) in CT L, possiamo segnalare l’importante formula di fairness EGF P , che significa che
esiste un cammino in cui P vale infinite volte. In realtà EGF P non è
neanche equivalente ad alcuna formula di CT L; questo segue dai risultati di
[5].
La formula duale sarà AF GP , che dice che in ogni cammino, P vale
ovunque salvo un numero finito di punti.
La definizione della semantica di LT L e CT L∗ suggerisce traduzioni di
queste logiche in formalismi più standard, come la logica del primo ordine o
del secondo ordine. Infatti, LT L si traduce nella logica del primo ordine su N
arricchito con l’ordine e un sottoinsieme per ogni atomo; chiamiamo F O(≤)
questa logica. Per ogni formula φ ∈ LT L esiste una formula tφ (x) ∈ F O(≤)
tale che, per ogni struttura lineare S per ogni i ∈ N,
S i |= φ se e solo se S |= tφ (i).
Si ha anche una traduzione inversa:
Teorema (Kamp, [10]) Ogni formula di F O(≤) equivale a una formula
di LT L. Quindi le due logiche sono equivalenti.
Per dimostrare il teorema è necessario includere in LT L l’operatore Until;
questo motiva l’introduzione di tale operatore in LT L.
Una seconda traduzione è quella di CT L∗ in una logica del secondo ordine, che chiameremo “path logic”; cioè, si tratta della logica del primo
ordine sulla relazione R, a cui si aggiungono quantificatori ristretti a cammini: “per qualche cammino si ha...” oppure “per ogni cammino si ha...”.
Per ogni formula φ di CT L∗ si ha una formula φpath (X) della path logic
(con una variabile del secondo ordine libera) tale che, per ogni struttura
branching S, si ha
S, π |= φ se e solo se S |= φpath (π).
12
Inoltre, si verifica che tutte le formule di CT L∗ sono invarianti per bisimulazione. Nella direzione inversa si ha:
Teorema (Moller-Rabinovitch, [14]) Ogni formula della path logic invariante per bisimulazione equivale a una formula di CT L∗ .
Quindi, CT L∗ equivale al frammento della path logic invariante per
bisimulazione.
Il teorema sopra ci dice che CT L∗ è molto potente, infatti è chiamata
talvolta la “logica branching piena”. Tuttavia ci sono proprietà desiderabili
che CT L∗ non può esprimere. Consideriamo una proposizione P , e denotiamo con Even(P ) il fatto che in qualche cammino, P vale in tutti i punti
pari. Notiamo che Even(P ) è invariante per bisimulazione.
Teorema (Wolper, [22]) Even(P ) non è esprimibile in CT L∗ .
I limiti del potere espressivo di CT L∗ motivano l’introduzione di logiche
più potenti come il µ-calcolo modale, che sarà l’oggetto del prossimo seminario.
3
Terzo e ultimo seminario, 13 Dicembre 2002
Il µ-calcolo modale
L’idea è di partire dalla logica modale e aggiungere due operatori µ e ν
che rappresentano i minimi e massimi punti fissi degli operatori insiemistici.
Consideriamo l’insieme potenza di un insieme A, cioè l’insieme di tutti i
sottinsiemi di A, che denoteremo P (A). Consideriamo una funzione f da
P (A) in P (A). Assumiamo che f sia monotona rispetto all’inclusione, cioè
X ⊆ Y ⊆ A implichi f (X) ⊆ f (Y ). Chiamiamo punto fisso di f un insieme
E tale che E = f (E). Allora, per un teorema di Tarski, f ha un minimo
punto fisso, denotato
µX.f (X)
e un massimo punto fisso, denotato
νX.f (X).
L’utilità degli operatori µ e ν segue dal fatto che molti concetti della logica temporale possono essere descritti come punti fissi di certe funzioni insiemistiche.
La sintassi del µ-calcolo modale si ottiene aggiungendo alla logica modale
delle variabili di punto fisso X, Y, . . . e gli operatori µX.φ(X) e νX.φ(X),
13
ove φ(X) è una qualunque formula sintatticamente positiva in X; cioè, ogni
occorrenza di X deve comparire entro un numero pari di negazioni. La clausola di positività garantisce la monotonia, ed è necessaria perché le formule
non positive possono dare luogo a operatori senza punti fissi: ad esempio,
la funzione F definita da F (X) = ¬X (la negazione) non ha punti fissi
nell’insieme potenza di un qualunque insieme non vuoto.
Come la logica modale, il µ-calcolo modale si interpreta su strutture
S = (V, R, P1 , . . . , Pn ),
e la semantica di una formula del µ-calcolo è formalizzata mediante una
relazione ternaria di soddisfazione
S, v |= φ
ove S è una struttura come sopra, v è un vertice di S e φ è una formula del
µ-calcolo. Le clausole sono le stesse della logica modale, più le seguenti:
• S, v |= µX.φ(X) se v appartiene al più piccolo insieme E uguale a
||φ(E)||;
• S, v |= νX.φ(X) se v appartiene al più grande insieme E uguale a
||φ(E)||.
Ricordiamo che ||φ(E)|| denota l’insieme dei punti di S che verificano φ(E).
Vediamo qualche esempio di formula del µ-calcolo.
Un primo esempio banale è µX.X. Questa formula è identicamente falsa,
in quanto l’equazione banale X = X ha come soluzione tutti i sottoinsiemi
della struttura, e quindi la minima soluzione è l’insieme vuoto.
Altrettanto banalmente, νX.X è identicamente vera, perché la massima
soluzione di X = X è l’insieme di tutti i punti.
Anche µX.h iX è identicamente falsa, in quanto si verifica che l’equazione
X = h iX è vera sull’insieme vuoto, che è quindi la minima soluzione (notiamo che h iX è l’insieme dei punti che hanno qualche successore in X;
quindi si ha h i∅ = ∅).
Invece, µX.[ ]X identifica una proprietà non banale, cioè è l’insieme dei
punti “benfondati” dai quali non parte nessun cammino infinito. Questo si
può verificare considerando l’equazione X = [ ]X, ove [ ]X è l’insieme dei
punti che hanno tutti i successori in X. Chiamando BF l’insieme dei punti
benfondati, basta verificare che:
14
• BF verifica l’equazione, cioè BF = [ ]BF ;
• BF è la minima soluzione, cioè se X = [ ]X, allora BF ⊆ X.
Le formule del µ-calcolo possono diventare difficili da comprendere al crescere
della loro lunghezza; una euristica che può aiutare a comprenderne il significato è l’idea di vedere le formule dinamicamente, come ricerche di punti con
certe proprietà, svolte muovendosi lungo le frecce del grafo. Il µ dice che la
ricerca deve terminare, mentre il ν dice che la ricerca non deve necessariamente terminare.
Come esempio di applicazione di questa euristica, consideriamo la formula
µX. P ∨ h iX.
Questa formula dice che deve esistere un punto accessibile che gode della
proprietà P , cioè, corrisponde alla formula della logica temporale EF P . Infatti, partendo dal punto in cui la formula è valutata, iteriamo la seguente
verifica: se il punto corrente verifica P , abbiamo finito; se no, selezioniamo una direzione (infatti, il diamond modale significa che si sceglie una
direzione) e continuiamo la ricerca in quella direzione. Il µ all’inizio della
formula dice che la ricerca deve terminare, e l’unico modo per terminare la
ricerca è trovare un punto che gode di P .
Notiamo che la formula precedente esprime una proprietà di tipo liveness:
qualcosa di buono, prima o poi, accadrà.
Come secondo esempio, duale al precedente, consideriamo la formula
νX. P ∧ [ ]X.
Questa formula dice che tutti i punti accessibili godono della proprietà P ,
cioè corrisponde alla formula temporale AGP . Infatti, partendo dal punto in
cui la formula è valutata, iteriamo la seguente verifica: se il punto corrente
verifica ¬P , abbiamo un fallimento; altrimenti, continuiamo la ricerca in
tutte le direzioni (infatti il box modale significa prendere tutte le direzioni).
Notiamo che la formula precedente esprime una proprietà di tipo safety:
se la negazione ¬P di P è una proprietà cattiva, abbiamo che qualcosa di
cattivo non accadrà mai.
Combinando i minimi e i massimi punti fissi riusciamo anche a ottenere
proprietà di tipo fairness: ad esempio, la formula
νX. µY. (P ∧ h iX) ∨ h iY
15
significa che esiste un cammino infinito ove P occorre infinite volte, cioè
corrisponde alla formula temporale EGF P .
In generale, si dimostra che ogni formula della logica temporale CT L∗ ,
introdotta nel seminario precedente, è equivalente a una formula del µcalcolo.
Nel seminario precedente avevamo anche visto che ci sono proprietà utili
che la logica temporale non può esprimere: ad esempio, le proprietà cicliche,
che dicono che qualcosa di buono occorre ogni tot passi. Tuttavia queste
sono esprimibili nel mu calcolo: ad esempio la formula
νX. P ∧ h ih iX
dice che esiste un cammino in cui P occorre ogni due passi, e corrisponde
quindi alla formula Even(P ) introdotta nel seminario precedente.
Gli esempi mostrano che il µ-calcolo è molto espressivo. Possiamo chiederci
se la sua espressività possa essere caratterizzata in termini di logiche più familiari. Risulta che la logica giusta con cui confrontare il µ-calcolo è la logica
monadica del secondo ordine (l.m.s.o.), cioè, la logica ottenuta dalla logica
del primo ordine aggiungendo la quantificazione, esistenziale o universale,
sugli insiemi di punti.
In particolare, poiché il µ calcolo parla di grafi, considereremo la l.m.s.o.
sulla seguatura dei grafi, data da un simbolo di relazione binaria e un numero
arbitrario di simboli per predicati unari.
Notiamo anzitutto che la semantica stessa del µ-calcolo ci dà una traduzione
del µ -calcolo nella l.m.s.o., che estende la traduzione che abbiamo visto nel
primo seminario dalla logica modale nella logica del primo ordine. Data una
formula φ del µ-calcolo, la sua traduzione tφ sarà definita induttivamente
con le stesse clausole del caso modale, più le seguenti:
• caso base: tE (x) = x ∈ E;
• tµX.φ(X) (x) = ∀E. (∀y. y ∈ E ↔ tφ(E) (y)) → x ∈ E;
• tνX.φ(X) (x) = ∃E. (∀y. y ∈ E ↔ tφ(E) (y)) ∧ x ∈ E.
Notiamo che nelle clausole precedenti, la condizione
∀y. y ∈ E ↔ tφ(E) (y)
formalizza l’equazione E = φ(E).
Un’altra osservazione è che il µ-calcolo può essere immerso in una logica
modale con disgiunzioni e congiunzioni infinite, mediante la costruzione dei
16
minimi e massimi punti fissi per approssimazione transfinita; l’idea è di
definire la approssimazioni ordinali µα X.φ(X) e ν α X.φ(X) ponendo
• µ0 X.φ(X) = f alse;
• µα+1 X.φ(X) = φ(µα X.φ(X));
• µλ X.φ(X) =
W
α
α<λ µ X.φ(X)
per λ ordinale limite;
e analogamente
• ν 0 X.φ(X) = true;
• ν α+1 X.φ(X) = φ(ν α X.φ(X));
• ν λ X.φ(X) =
V
α<λ ν
α X.φ(X)
per λ ordinale limite;
risulta ora
µX.φ(X) =
_
νX.φ(X) =
^
µα X.φ(X)
α
ν α X.φ(X),
α
ove l’unione e l’intersezione sono fatte su tutti gli ordinali α.
In particolare, poiché la logica modale infinitaria è invariante per bisimulazione, anche il µ-calcolo è invariante per bisimulazione.
Nella direzione inversa, si ha il seguente risultato:
Teorema (Janin-Walukiewicz, [9]) Sia φ una formula della logica monadica del secondo ordine sulla segnatura dei grafi, invariante per bisimulazione.
Allora φ è equivalente a una formula del µ-calcolo.
Quindi, il µ-calcolo coincide col frammento invariante per bisimulazione
della l.m.s.o. sui grafi. Questo ci dà la caratterizzazione cercata del µ-calcolo
in termini di logiche tradizionali.
Il problema della soddisfacibilità del µ-calcolo è: data una formula φ,
decidere se φ è vera in qualche punto di qualche grafo. Questo problema
è decidibile, come nel caso della logica modale, ma la sua complessità è
maggiore, nel senso che il problema richiede un tempo esponenziale nella
lunghezza della formula, vedi [6]. Quindi, per dimostrare i teoremi del µcalcolo, è utile avere altri strumenti oltre alla procedura di decisione, ad
esempio un sistema di assiomi e regole completo per derivare le formule
identicamente vere, analoghi ai sistemi usati nella logica del primo ordine.
Per questo motivo è interessante il sistema assiomatico per il µ-calcolo
proposto da Kozen in [11], che consiste negli assiomi e regole seguenti:
17
• tutti gli assiomi e le regole della logica modale;
• l’assioma di punto fisso φ(µX.φ(X)) → µX.φ(X);
• la regola di induzione: dalla premessa φ(ψ) → ψ segue la conclusione
µX.φ(X) → ψ, purché X non sia libera in ψ.
Notiamo che gli assiomi e regole di cui sopra sono “corretti”; cioè, gli assiomi
sono identicamente veri, e se la premessa di una regola è identicamente vera,
lo è anche la conclusione. In particolare, la regola di induzione è sound
perché µX.φ(X) non è solo la minima soluzione di φ(X) = X, ma anche la
minima soluzione di φ(X) ⊆ X.
La completezza del sistema di Kozen, invece, non è banale da dimostrare
ed è stata dimostrata da Walukiewicz in [21]. Quindi, ogni formula del µcalcolo identicamente vera è dimostrabile nel sistema. La dimostrazione
della completezza usa, tra gli altri ingredienti, una classe di formule del µcalcolo chiamate formule disgiuntive. In queste formule, intuitivamente, la
disgiunzione può essere usata liberamente, mentre la congiunzione è ammessa
solo in una forma molto ristretta.
Prima di definire le formule disgiuntive, introduciamo alcuni operatori
modali derivati, di arietà n ≥ 0 qualunque; cioè, date n formule α1 , . . . , αn ,
poniamo
Cover(α1 , . . . , αn ) =
[ ](α1 ∨ . . . ∨ αn )
∧h iα1 ∧ . . . ∧ h iαn .
Cioè, Cover(α1 , . . . , αn ) dice che i figli del punto corrente sono coperti
da α1 , . . . , αn , e ciascun αi è presente in qualche figlio.
Notiamo che box e diamond sono definibili a partire dagli operatori cover:
h iα = Cover(α, true)
[ ]α = Cover(∅) ∨ Cover(α).
L’insieme D delle formule disgiuntive è il più piccolo insieme di formule
del µ-calcolo tale che:
• gli atomi e gli atomi negati appartengono a D;
• se α, β ∈ D allora α ∨ β ∈ D;
18
• sia σ una congiunzione di atomi, atomi negati, variabili e variabili
negate, e siano α1 , . . . , αn ∈ D. Allora la formula σ∧Cover(α1 , . . . , αn )
appartiene anch’essa a D;
• sia α(X) una formula di D in cui X compare sempre positivamente, e
mai in contesti del tipo X ∧ β. Allora µX.α(X) e νX.α(X) appartengono anch’esse a D.
Risulta che ogni formula del µ-calcolo è equivalente a una formula disgiuntiva. Inoltre le formule disgiuntive hanno una struttura più semplice di
una formula del µ-calcolo arbitraria: una formula disgiuntiva è soddisfacibile
se e solo se, rimpiazzando le variabili di tipo µ con f alse e quelle di tipo
ν con true, si ottiene una formula soddisfacibile. Questo dà un algoritmo
lineare per la soddisfacibilità delle formule disgiuntive.
Un difetto del µ-calcolo è la scarsa leggibilità delle sue formule, soprattutto quando contengono molti minimi e massimi punti fissi. Ci si può
chiedere se tanti punti fissi siano realmente necessari, o se basti un numero
limitato di punti fissi per esprimere tutte le formule del µ-calcolo. Il problema si può formalizzare in termini di classi di alternanza di punti fissi. Cioè
introduciamo una successione di classi di formule Nk , Mk , dovuta a Niwinski,
nel modo seguente:
• N0 e M0 coincidono con l’insieme delle formule senza punti fissi, cioè,
la logica modale;
• Nk+1 è la chiusura di Nk ∪Mk rispetto alla composizione e all’operatore
ν, ove comporre φ con ψ significa rimpiazzare un atomo fissato di φ
con ψ;
• analogamente, Mk+1 è la chiusura di Nk ∪ Mk rispetto alla composizione e all’operatore µ.
Ci si può chiedere se tutto il µ-calcolo equivalga a Nk per qualche k. Questo
è il cosiddetto problema della gerarchia del µ-calcolo, e in breve, la sua storia
è la seguente.
Già da [5] segue che il µ-calcolo non coincide con le composizioni di N1
e M1 ; un esempio è la formula che traduce la proprietà temporale EGF P .
Il fatto che EGF P non stia in M2 segue da [2].
In [15], Niwinski mostra che la gerarchia è infinita se ci si restringe
alle formule senza congiunzione. In [3], Bradfield mostra che la gerarchia è
infinita nel caso generale, ma senza esibire formule di data complessità k,
19
cioè, che stanno in un dato Nk ma non nei livelli inferiori. In [13], l’autore
esibisce una tale formula per k = 3, e una successione di formule φk che
hanno complessità k nel µ-calcolo positivo (per la precisione, la nozione
di alternanza usata dall’autore è quella di Emerson, che è leggermente più
debole di quella di Niwinski).
In [4], Bradfield ha poi semplificato la dimostrazione ed ha fornito esempi
espliciti di formule che stanno in Nk ma non nei livelli inferiori, per ogni k.
Segnaliamo anche il lavoro di Arnold in questo ambito, che in [1] ha dato
una elegante dimostrazione dell’infinità della gerarchia sugli alberi binari,
decorati con predicati unari. Vediamo l’idea della dimostrazione.
Gli alberi binari decorati con predicati unari formano uno spazio metrico
completo rispetto alla distanza d(A, B) = 2−h , ove h è la minima altezza di
un punto ove A e B differiscono. Si considera una successione di formule Wk ,
dovute a Walukiewicz, che esprimono l’esistenza di una strategia vincente
per uno dei due giocatori di un “gioco di parità” sul grafo.
Un gioco di parità si gioca su un grafo, i cui vertici sono etichettati con
un insieme finito di numeri. I due giocatori partono da un punto del grafo e
percorrono a turno una freccia. Se uno dei due giocatori non può muovere,
l’altro vince. Se no, si ha una successione infinita di punti, e vince il primo
giocatore se il minimo numero che occorre infinite volte è pari.
Risulta che Wk appartiene a Nk , e ogni formula del µ-calcolo di livello
Nk si riduce a Wk mediante contrazioni dello spazio metrico. Ora Wk non
può appartenere a Mk , altrimenti ¬Wk apparterrebbe a Nk e si avrebbe una
contrazione γ tale che, per ogni albero A, A ∈ ¬Wk se e solo se γ(A) ∈ Wk .
Ma γ è una contrazione, quindi (teorema di Banach-Caccioppoli) ha un
punto fisso, cioè un albero A0 tale che γ(A0 ) = A0 . Allora si ricava l’assurdo:
A0 ∈ ¬Wk se e solo se A0 ∈ Wk . Quindi Wk appartiene a Nk , ma non ai
livelli inferiori.
Il legame tra il µ-calcolo e i giochi di parità è molto stretto. Ad esempio
tali giochi sono connessi con il problema del model checking per il µ-calcolo,
cioè dato un grafo finito G, un punto v e una formula φ, decidere se G, v |= φ.
Il problema del model checking è polinomialmente equivalente al problema
di determinare il vincitore di un gioco di parità. Entrambi i problemi sono
nella classe di complessità N P e, per complementazione, anche in coN P ,
vedi [7]. Sarebbe molto desiderabile un algoritmo polinomiale.
20
References
[1] A. Arnold, The mu-calculus alternation-depth hierarchy is strict on
binary trees, RAIRO Informatique théorique et applications 33, 329339, 1999.
[2] A. Arnold and D. Niwinski, Fixed point characterization of Büchi automata on infinite trees, J. Inf. Process. Cybern. EIK 26, 453-461, 1990.
[3] J. Bradfield, The modal µ-calculus alternation hierarchy is strict, Proceedings of CONCUR ’96, Lecture Notes in Computer Science n. 1119,
233-246, 1996.
[4] J. Bradfield, Simplifying the modal µ-calculus alternation hierarchy,
Proceedings of STACS ’98, Lecture notes in Computer Science n. 1373,
39-49, 1998.
[5] A. Emerson and E. Clarke, Characterizing correctness properties of
parallel programs using fixpoints, in: Automata, Languages and Programming, 7th Colloquium, Lecture Notes in Computer Science n. 85,
169-181, 1980.
[6] A. Emerson, C. Jutla, The complexity of tree automata and logics of
programs, SIAM Journal of Computing 29, 132-158, 1999.
[7] A. Emerson, C. Jutla, P. Sistla, On model checking for fragments of
µ-calculus, Proceedings of 5th Int. Conference on Computer Aided Verification, Lecture Notes in Computer Science n. 697, 385-396, 1993.
[8] E. Grädel, P. Kolaitis and M. Vardi, On the decision problem for twovariable first-order logic, Bull. Symbolic Logic 3: 53-69, 1997.
[9] D. Janin, I. Walukiewicz, On the expressive completeness of the model
mu-calculus w.r.t. monadic second order logic, Proceedings of CONCUR ’96, Lecture Notes in Computer Science n. 1119, 263-277, 1996.
[10] H. Kamp, Tense logic and the theory of linear order, Ph. D. Dissertation, University of California at los Angeles, 1968.
[11] D. Kozen, Results on the propositional µ-calculus. Theoretical Computer Science 27, 333-354, 1983.
21
[12] R. Ladner, The computational complexity of provability in systems of
modal propositional logic. SIAM Journal of Computing 6 (3): 467-480,
1977.
[13] G. Lenzi, The µ-calculus and the hierarchy problem, Ph. D. Thesis,
Scuola Normale Superiore, Pisa, 1997.
[14] F. Moller, A. Rabinovich: On the expressive power of CT L∗ , Proceedings of LICS ’99, 360-369, 1999.
[15] D. Niwinski, On fixed point clones, 13th colloquium on Automata, Languages and Programming, Lecture Notes in Computer Science n. 226,
464-473, 1986.
[16] D. Park, Concurrency and automata on infinite sequences, Lecture
Notes in Computer Science n. 154, 561-572, 1981.
[17] A. Pnueli, The temporal logic of programs, Proceedings of the 18th
IEEE Symposium on Foundations of Computer Science, 46-57, 1977.
[18] A. Prior, Time and Modality, Oxford University Press, 1957.
[19] E. Rosen, Modal logic over finite structures, Technical Report, university of Amsterdam, 1995.
[20] J. Van Benthem, Modal Correspondence Theory, dissertation, Mathematical Institute, University of Amsterdam, 1976.
[21] I. Walukiewicz, Completeness of Kozen’s axiomatization of the propositional µ-calculus, Information and Computation 157, 142-182, 2000.
[22] P. Wolper, Temporal logic can be more expressive, Information and
Control 56, 72-99, 1983.
22