specifiche algebriche modello iniziale versione 1.1
DESCRIPTION
Specifiche Algebriche Modello Iniziale Versione 1.1. Gianna Reggio [email protected]. Modelli Rappresentativi (1). - PowerPoint PPT PresentationTRANSCRIPT
Versione 1.1
Modelli Rappresentativi (1)• Fra tutti i modelli di una specifica ci interessa
individuarne uno che rappresenti, per quanto possibile, tutta la classe dei modelli. Visto che siamo focalizzati sull’uso della logica, questo vuol dire un modello che ci dia informazioni sulla validità delle formule anche negli altri modelli.
• Se possibile, data una specifica SP ci piacerebbe avere un modello B Mod(SP) (B per Best) tale che
# B |= implica A |=
per ogni A Mod(SP) e per ogni formula
Versione 1.1
Modelli Rappresentativi (2)• Supponiamo che esista un tale modello B.
– Allora per ogni termine (senza variabili) t si avrebbe • B|= Def(t) implica A|= Def(t)
• B|= Def(t) implica A|= Def(t)
• sicuramente una delle due premesse è vera
– Quindi in tutti i modelli sarebbero definiti esattamente gli stessi termini.
– Se ripetiamo il ragionamento per l’uguaglianza e per le applicazioni di predicato, otteniamo che in tutti i modelli valgono le stesse identità e che i predicati sono interpretati allo stesso modo, cioè che tutti i modelli sono indistinguibili dal punto di vista della logica.
• Nomenclatura: una specifica i cui modelli sono tutti isomorfi fra loro si dice monomorfa
• Il problema nasce dal fatto che richiedere # per tutte le formule (incluse le negazioni) è troppo forte.
Versione 1.1
Modelli Rappresentativi (3)• Il problema che è emerso dal lucido precedente è
la negazione.• Escludere le formule che contengono un not non è
però sufficiente, perché problematiche analoghe nascono dai not “nascosti”, es.
F G F Gt = t’ t =e t’ (Def(t) Def(t’))
• Restringiamo drasticamente il tipo di formule ai soli atomi positivi, cioè applicazioni di predicati e uguaglianze esistenziali, che sono sufficienti per caratterizzare un’algebra.
Versione 1.1
Modello Iniziale• Un’algebra I è iniziale per una specifica Sp se
e solo se– I è un modello di Sp
– I è term-generated I GMod(Sp)}– I soddisfa la proprietà del minimo vero e della
minima definitezza, cioè
I |= implica A |=
per ogni A Mod(Sp) ed ogni PAtom()
dove PAtom() = { t =e t’ | t,t’ T } { p(t1,…,tn) | ti T }
• Ma un tale I esiste sempre?
• In generale no. Vedremo dei casi particolari in cui esiste e si può calcolare
Versione 1.1
Esempi di esistenza modello inizialeSpec SP1 =Sort tipoOpns A, B: tipoAxioms
Def(A)Def(B)A ≠ B
• Gmod(SP1) =/iso { M }• M definito da
– tipoM = { a, b}– AM = a, BM = b
• =/iso significa tutti i modelli sono isomorfi a M, cioè differiscono solo per quali elementi sono usati per rappresentare A e B
• M è il modello iniziale
Spec SP2 =Sort tipoOpns A, B, C: tipoAxioms
Def(A),Def(B),Def(C)A = B B = C
• Gmod(SP2) =/iso { M,N,P }• M definito da
– tipoM = { a, b, c }– AM = a, BM = b, CM = c
• N definito da – tipoN = { a }– AN = BN = CN = a
• P definito da – tipoP = { a, b }– AP = a, BP = CP = b
• M è il modello iniziale
Versione 1.1
Esempi di non esistenza modello inizialeSpec SP3 =Sort tipoOpns A, B: tipoAxioms
A ≠ B
• Gmod(SP3) =/iso { M, N, P }• M definito da
– tipoM = { a, b }– AM = a, BM = b
• N definito da – tipoN = { a }– AN = a, BN indefinito
• P definito da – tipoP = { a }– AP indefinito, BP = a
• Non esiste il modello iniziale, poichè A non è definito o indefinito in tutti i modelli
Spec SP4 =Sort tipoOpns A, B, C: tipoAxioms
Def(A), Def(B), Def(C)A ≠ B B = C
• Gmod(SP4) =/iso { N,P,M }• N definito da
– tipoN = { a }– AM = BM = CM = a
• P definito da – tipoP = { a, b }– AM = a, BM = CM = b
• M definito da – tipoM = { a, b }– AM = BM = a, CM = b
• Non esiste il modello iniziale, poichè A = B [A≠B] non vale in tutti i modelli
Versione 1.1
CongruenzeVisto che vogliamo costruire un modello term-generated cerchiamo di costruire i carrier come quozienti di termini. Siccome poi dobbiamo dotare i carrier di struttura algebrica per fare il quoziente non ci basta una qualsiasi relazione d’equivalenza, ed inoltre occorre “definire” la verità dei predicati.
• Sia = (S,F,P) una segnatura• ~ = ({~s}sS, {~p}pP), dove per ogni s ~s T(X)s T(X)s e per
ogni p ~p T(X)s, è una congruenza sulla famiglia T(X) se
– per ogni s S, ~s è simmetrica e transitiva (ma non necessariamente riflessiva)
– per ogni f F, ti ~si t’i per i =1,…,n e f(t1,…,tn) ~s f(t1,…,tn) implica f(t1,
…,tn) ~s f(t’1,…,t’n)
– per ogni p P, ti ~si t’i per i =1,…,n e (t1,…,tn) ~p implica
(t’1,…,t’n) ~p
• Questa definizione è un caso particolare di congruenza su un’algebra A
Versione 1.1
Quozienti• Data una congruenza su (X) si definisce l’algebra
(X)/~ come segue [(X)/~ indicata da Q in questa slide]
– per ogni s S, sQ = { [t] T(X)s/~s | t ~s t }
– per ogni f F, fQ([t1],…,[tn]) = [f(t1,…,tn)] se f(t1,…,tn)~s f(t1,…,tn), indefinita altrimenti
– per ogni p P, pQ= { ([t1],…,[tn]) | (t1,…,tn) ~p }
• Q è ben definita?
– Sì perché simmetria e transitività permettono di parlare di classi di equivalenza e la proprietà sulle funzioni e sui predicati garantisce la correttezza della definizione di fQ e pQ .
• Esercizio 40: Provare dettagliatamente che Q è ben definita.
Versione 1.1
Costruzione del modello iniziale (1)
• Data una specifica Sp = (,Ax) si definisce ~Sp come segue [~Sp indicata da in questa slide]
=( {s Ts Ts | s S },
{ p Ts1 … Tsn | p P })– t t’ se e solo se
per ogni A Mod(Sp) A|= t =e t’– (t1,…,tn) p se e solo se
per ogni A Mod(Sp) A|= p(t1,…,tn)
• ~Spè una congruenza • Esercizio 41: Verificarlo [consiglio: usare il
sistema deduttivo].
Versione 1.1
Costruzione del modello iniziale (2)
Prop. Sia I(Sp) = T /~Sp
1) I(Sp) è ben definita
2) Se I(Sp) Mod(Sp) allora è il modello iniziale di Sp
Prova1) è banale
2) si basa sul lemma seguente
– Data una valutazione V: X I(Sp), I(Sp) |=V se e solo se I(Sp) |=V [tx/x | x X] dove tx V(x)
• Esercizio 42: Completare la prova con tutti i dettagli.
Versione 1.1
L’algebra I(Sp) può non essere un modello
Spec SP3 =Sort tipoOpns A, B : tipoAxioms
A ≠ B
• I(SP3) definito da – tipoI(SP3) = – AI(SP3) indefinito – BI(SP3) indefinito
• Non è un modello, infatti I(SP3) |= A = B
Spec SP4 =Sort tipoOpns A, B, C : tipoAxioms
Def(A), Def(B), Def(C)A ≠ B B = C
• I(SP4) definito da – tipoI(SP4) = { a, b,c }– AI(SP4) = a – BI(SP4) = b – CI(SP4) = c
• Non è un modello, infatti I(SP4) |≠ A ≠ B B = C
Versione 1.1
Esercizio 43 • Dire se esiste il modello iniziale delle
seguenti specifiche.Spec SP5 =Sort tipoOpns A, B : tipoAxioms
Def(A) Def(B)
Spec SP6 =Sort tipoOpns A, B, C : tipoAxioms
Def(A) A = B
Spec SP7 =Sort tipoOpns A, B, C : tipoPreds p: TipoAxioms
p(x)
Spec SP8 =Sort tipoOpns A, B, C : tipoPreds p, q: TipoAxioms
p(x) q(x)
Versione 1.1
Esistenza modello iniziale
Teorema: Se Sp = (,AX) è una specifica positiva condizionale, allora ammette modello iniziale.
• Dove una specifica è positiva condizionale se e solo se è logicamente equivalente (cioè hanno gli stessi modelli) ad una i cui assiomi sono tutti positivi condizionali, cioè appartengono a PCond(), dove PCond() = {i=1,…,ni | i PAtom(), i =1,…,n, Atom()}
• Le specifiche p.c. sono particolarmente interessanti perché corrispondono metodologicamente a definizioni ricorsive (induttive) e soprattutto perché esiste un sistema automatico per costruire I(Sp) (è semidecidibile se t~Sp
t’).
Versione 1.1
Sistema di Birkhoff• Il sistema di Birkhoff è un sistema deduttivo per la logica equazionale,
omogenea e totale.
• Sia Sp = (,Ax)
F___ FAx• Assiomi propri
• Riflesività t = t ____ • Simmetria
t1 = t2
_____t2 = t1 • Transitività t1 = t3
__________t1 = t2t2 = t3
• Congruenza f(t1,…,tn) = f(t’1…t’n____________________t1 = t’1…tn = t’n
p(t’1, …,t’n______________________p(t1,…,tn) t1 = t’1 …tn = t’n
• Istanziazione F_______F
sostituzione, F L(X)
Versione 1.1
Sistema di Birkhoff generalizzato (1)
• Vogliamo estendere Birkhoff al caso parziale, eterogeneo e condizionale
• parziale e eterogeneo
già visto per il prim’ordine
• Condizionale = vogliamo che gli assiomi propri ed eventualmente I passi intermedi della computazione siano positivi condizionali
• Aggiungiamo le seguenti regole
Versione 1.1
Sistema di Birkhoff generalizzato (2)
• Modus Ponens
Uguaglianza esistenziale (no riflessività)
• Simmetria t1 =e t2
_____t2 =e t1 • Transitività t1 =e t3
____________t1 =e t2 t2 =e t3
• Relazioni tra uguaglianza forte ed esistenziale
t = t’_____t =e t’
t =e t’________t =e t t = t’
t’ =e t’________t =e t t = t’
• Strettezzat1 =e t1 …tn =e tn
_________________f(t1,…,tn) = e f(t1, …,tnt1 =e t1 …tn =e tn
______________p(t1,…,tn)
• Istanziazione F[t/x]
_______F t =e t • Definitezza delle variabili
x = e x_______
1 … i-1 i+1… n _________________________1 … ni
Versione 1.1
Soundness• Ma il sistema di Birkhoff generalizzato è sound e completo
rispetto agli atomi positivi ground (=senza variabili)? Se sì lo possiamo usare come “algoritmo” di calcolo per ~Sp. Nella forma data NON è sound.
• Controesempio: sia = Sort tipo Opns A,B: tipoQuest’instanziazione della regola della transitività non è sound
Infatti le premessse valgono in tutte le -algebre in cui o A o B è indefinito, ma la conseguenza non vale certamente in tali algebreIl problema è dovuto al fatto che le premesse sono da intendere x:tipo. A =e x e x:tipo. x =e B, da cui si dovrebbe dedurre correttamente x:tipo. A =e B, che vale anche nell’algebra vuota (poichè non ci sono valutazioni delle variabili)
• Le soluzioni possibili a questo problema sono:– 1 escludere i modelli con carrier vuoto– 2 quantificare universalmente le variabili in maniera esplicita– 3 modificare le regole in modo da non diminuire mai le variabili
tranne che con l’istanziazione
A =e B_________A =e x x =e B
noi
Versione 1.1
Completeness• Teorema: Il sistema di Birkhoff generalizzato è
completo rispetto agli atomi positivi ground (=senza
variabili).
• In realtà in una forma lievemente diversa è completo anche
per gli assiomi della forma
x1 =e x1 … xn =e xn con un atomo positivo.
• Per ottenere un sistema completa rispetto a formule del tipo
x1 =ex1 … xn =exn c on un atomo qualunque
invece bisogna lavorare un po’.
• Sistemi completi per altre classi di formule sono poco studiati nel contesto delle specifiche algebriche perché non hanno applicazioni pratiche.