specifiche algebriche modello iniziale versione 1.1

19
Specifiche Algebriche Modello Iniziale Versione 1.1 Gianna Reggio [email protected]

Upload: kasimir-cross

Post on 02-Jan-2016

26 views

Category:

Documents


1 download

DESCRIPTION

Specifiche Algebriche Modello Iniziale Versione 1.1. Gianna Reggio [email protected]. Modelli Rappresentativi (1). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Specifiche Algebriche Modello Iniziale Versione 1.1

Specifiche AlgebricheModello Iniziale

Versione 1.1

Gianna Reggio

[email protected]

Page 2: Specifiche Algebriche Modello Iniziale Versione 1.1

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

Page 3: Specifiche Algebriche Modello Iniziale Versione 1.1

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.

Page 4: Specifiche Algebriche Modello Iniziale Versione 1.1

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.

Page 5: Specifiche Algebriche Modello Iniziale Versione 1.1

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

Page 6: Specifiche Algebriche Modello Iniziale Versione 1.1

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

Page 7: Specifiche Algebriche Modello Iniziale Versione 1.1

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

Page 8: Specifiche Algebriche Modello Iniziale Versione 1.1

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

Page 9: Specifiche Algebriche Modello Iniziale Versione 1.1

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.

Page 10: Specifiche Algebriche Modello Iniziale Versione 1.1

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].

Page 11: Specifiche Algebriche Modello Iniziale Versione 1.1

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.

Page 12: Specifiche Algebriche Modello Iniziale Versione 1.1

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

Page 13: Specifiche Algebriche Modello Iniziale Versione 1.1

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)

Page 14: Specifiche Algebriche Modello Iniziale Versione 1.1

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’).

Page 15: Specifiche Algebriche Modello Iniziale Versione 1.1

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)

Page 16: Specifiche Algebriche Modello Iniziale Versione 1.1

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

Page 17: Specifiche Algebriche Modello Iniziale Versione 1.1

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

Page 18: Specifiche Algebriche Modello Iniziale Versione 1.1

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

Page 19: Specifiche Algebriche Modello Iniziale Versione 1.1

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.