190 likes | 311 Views
Specifiche Algebriche Modello Iniziale Versione 1.0. Gianna Reggio reggio@disi.unige.it. Modelli Rappresentativi (1).
E N D
Specifiche AlgebricheModello InizialeVersione 1.0 Gianna Reggio reggio@disi.unige.it
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 |= j implica A |= j per ogni A Mod(SP)e per ogni formula j
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.
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 G t = 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.
} I GMod(Sp) Modello Iniziale • Un’algebra I è iniziale per una specifica Sp se e solo se • I è un modello di Sp • I è term-generated • I soddisfa la proprietà del minimo vero e della minima definitezza, cioè I |= a implica A |= a per ogni A Mod(Sp) ed ogni a PAtom(S) dove PAtom(S) = { t =e t’ | t,t’TS} { p(t1,…,tn)| ti TS} • Ma un tale I esiste sempre? • In generale no. Vedremo dei casi particolari in cui esiste e si può calcolare
Spec SP1 = Sort tipo Opns A, B: tipo Axioms 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 tipo Opns A, B, C: tipo Axioms 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 Esempi di esistenza modello iniziale
Spec SP3 = Sort tipo Opns A, B: tipo Axioms 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 ilmodello iniziale, poichè A non è definito o indefinito in tutti i modelli Spec SP4 = Sort tipo Opns A, B, C: tipo Axioms 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 ilmodello iniziale, poichè A = B [A≠B] non vale in tutti i modelli Esempi di non esistenza modello iniziale
Congruenze Visto 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 = (S,F,P) una segnatura • ~ = ({~s}sS, {~p}pP), dove per ogni s ~s TS(X)s TS(X)s e per ogni p ~p TS(X)s, è una congruenza sulla famiglia TS(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
Quozienti • Data una congruenza su TS(X) si definisce l’algebra TS(X)/~ come segue [TS(X)/~ indicata da Q in questa slide] • per ogni s S, sQ = { [t] TS(X)s/~s | t ~s t } • per ogni f F,fQ([t1],…,[tn]) = [f(t1,…,tn)] se f(t1,…,tn)~sf(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.
Costruzione del modello iniziale (1) • Data una specifica Sp = (S,Ax) si definisce ~Spcome segue [~Spindicata da in questa slide] =( {s TSs TSs | s S }, { p TSs1 … TSsn | 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].
Costruzione del modello iniziale (2) Prop. Sia I(Sp) = TS/~Sp 1) I(Sp) è ben definita 2) Se I(Sp) Mod(Sp) allora è il modello iniziale di Sp Prova 1) è banale 2) si basa sul lemma seguente • Data una valutazione V: X I(Sp), I(Sp) |=Vj se e solo se I(Sp) |=Vj[tx/x | x X] dove tx V(x) • Esercizio 42:Completare la prova con tutti i dettagli.
Spec SP3 = Sort tipo Opns A, B : tipo Axioms 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 tipo Opns A, B, C : tipo Axioms 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 L’algebra I(Sp) può non essere un modello
Esercizio 43 • Dire se esiste il modello iniziale delle seguenti specifiche. Spec SP5 = Sort tipo Opns A, B : tipo Axioms Def(A) Def(B) Spec SP7 = Sort tipo Opns A, B, C : tipo Preds p: Tipo Axioms p(x) Spec SP6 = Sort tipo Opns A, B, C : tipo Axioms Def(A) A = B Spec SP8 = Sort tipo Opns A, B, C : tipo Preds p, q: Tipo Axioms p(x) q(x)
Esistenza modello iniziale Teorema: Se Sp = (S,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 aPCond(S), dove PCond(S) = { i=1,…,nai an+1| ai PAtom(S), i =1,…,n+1} • 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~Spt’).
___ F Ax F t2 = t1 t1 = t2t2 = t3 _____ __________ ____ t1 = t2 t1 = t3 t = t t1 = t’1…tn = t’n ____________________ f(t1,…,tn) = f(t’1, …, t’n) p(t1,…,tn) t1 = t’1 …tn = t’n ______________________ p(t’1, …,t’n) F _______ q sostituzione, F LS(X) F[q] Sistema di Birkhoff • Il sistema di Birkhoff è un sistema deduttivo per la logica equazionale, omogenea e totale. • Sia Sp = (S,Ax) • Assiomi propri • Simmetria • Transitività • Riflesività • Congruenza • Istanziazione
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
a1 … anaai _________________________ a1… ai-1 ai+1… ana t2 =e t1 t =e t’ t1 =e t2 t2 =e t3 _____ _____ ____________ t1 =e t2 t = t’ t1 =e t3 t =e tt = t’ t =e tt = t’ ________ ________ t’ =e t’ t =e t’ f(t1,…,tn) = e f(t1, …,tn) _________________ p(t1,…,tn) t1 =e t1 …tn =e tn F t =e t ______________ _______ _______ t1 =e t1 …tn =e tn F[t/x] x = e x Sistema di Birkhoff generalizzato (2) • Modus Ponens Uguaglianza esistenziale (no riflessività) • Simmetria • Transitività • Relazioni tra uguaglianza forte ed esistenziale • Strettezza • Istanziazione • Definitezza delle variabili
_________ A =e xx =e B A =e B noi 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 S = Sort tipo Opns A,B: tipo Quest’instanziazione della regola della transitività non è sound Infatti le premessse valgono in tutte le S-algebre in cui o A o B è indefinito, ma la conseguenza non vale certamente in tali algebre Il 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
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 a con a un atomo positivo. • Per ottenere un sistema completa rispetto a formule del tipo x1 =ex1 … xn =exn a c on a 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.