La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Specifiche Algebriche ESERCIZI Versione 0.0 Gianna Reggio

Presentazioni simili


Presentazione sul tema: "Specifiche Algebriche ESERCIZI Versione 0.0 Gianna Reggio"— Transcript della presentazione:

1 Specifiche Algebriche ESERCIZI Versione 0.0 Gianna Reggio

2 Versione 0.0 Esercizio 1 Sig = Sort tipo, cosa Opns a, b: tipo c: tipo -> cosa d: cosa -> tipo Preds prop: cosa –Quali di questi assiomi su sono condizionali positivi? a = b c(Y) = d(X) def(a) def(b) a = b d(c(X)) = c(d(X)) def(a) X:cosa. d(X) = a prop(X) prop(a) prop(b) prop(a) –Dare esempi di assiomi positivi condizionali riguardanti la verità di prop. –Dare esempi di assiomi del primordine definenti il predicato prop. –Definire il predicato prop con assiomi del primordine in modo tale che sia vero solamente sugli elementi rappresentabili usando a e c.

3 Versione 0.0 Esercizio 2 Si considerino le seguenti specifiche, dove è la segnatura definita nel foglio precedente –SP1 = sig axiom def(a) def(b) a = b –SP2 = sig axiom X:tipo.d(c(X))=X –SP3 = sig axioms def(c(X)) def(d(Y)) d(c(X)) = X def(a) def(b) prop(b) prop(a) –SP4 = sig axioms def(c(X)) def(d(Y)) ( X:tipo. Y:cosa. d(c(X))= X) def(a) def(b) –Quali sono condizionali positive ? –Quali ammettono il modello iniziale ? –Per quelle soluzione del punto precedente caratterrizzare tale modello –Per i =1,…,4, dire quali delle seguenti affermazioni sono vere Mod( SPi ) |= prop(a) def(a) Mod( SPi ) |= d(c(a)) = a Mod( SPi ) |= d(c(X)) = X a = d(c(a))

4 Versione 0.0 Esercizio 3 spec SEQ = Sort seq, nat Opns 0: nat succ: nat -> nat _+_: nat x nat -> nat : seq _ :: _: nat x seq -> seq size: seq -> nat _ & _: seq x seq -> seq Preds isEmpty: seq what: seq x nat axioms def(0) def(succ(x)) def(n+m) 0 + n = n succ(n)+ m = succ(n+m) def( ) def(n :: s) isEmpty( ) Caratterizzare il modello iniziale di SEQ (se esiste) aggiungere degli assiomi a SEQ in modo che nel modello iniziale (deve esistere) –size sia loperazione che ritorna il numero di elementi contenuti in una sequenza –& sia loperazione di concatenazione di due sequenze –what(s,n) sia il predicato che controlla se la sequenza s ha almeno n elementi

5 Versione 0.0 Esercizio 4 spec SEQFancy = Sort seq, nat Opns 0: nat succ: nat -> nat _+_: nat x nat -> nat diff: nat x nat : seq _ :: _: nat x seq -> seq axioms def(0) def(succ(x)) def(n+m) 0 + n = n succ(n)+ m = succ(n+m) diff(0, succ(n)) diff(n,m) diff(succ(n),succ(m)) diff(n,m) diff(m,n) def( ) def(n :: s) estendere SEQFancy intesa con semantica iniziale aggiungendo operazioni/predicati ed assiomi in modo da arrichire le sequenze con la seguente funzionalità –controllare se un naturale appartiene ad una sequenza –ritornare liseimo elemento di una sequenza (se esiste) –controllare se una sequenza è un prefisso iniziale di unaltra –cancellare un naturale da una sequenza

6 Versione 0.0 Esercizio 5 spec SEQFirsti = Sort seq, nat Opns 0: nat succ: nat -> nat _+_: nat x nat -> nat : seq _ :: _: nat x seq -> seq axioms def(0) def(succ(x)) def(n+m) 0 + n = n succ(n)+ m = succ(n+m) def( ) def(n :: s) AXi AX1 = { s = s } AX2 = { n :: s = s } AX3 = { s = } dire per quali i = 1,.., 3 la seguente affermazione è vera mod(SEQFirsti) |= s,s:seq. (s = s ((s= s= ) ( n: nat, s: seq. s= n::s s = n::s)) )

7 Versione 0.0 Esercizio 6 spec SEQFancy2 = extend SEQ Fancy Opns op: seq x seq -> seq axioms diff(n,m) op(n::s,m::s) = op(s,s) op(,s) = op(n::s,n::s) = op(s,s) op(s, ) = Quali delle seguenti affermazioni sono vere? –nel modello iniziale di SEQFancy2 op ritorna il massimo postfisso comune alle due sequenze prese come argomento –nel modello iniziale di SEQFancy2 op è totale –esiste un modello di SEQFancy2 dove op è parziale spec SEQFancy3 = extend SEQ Fancy Preds pr: seq x nat axioms diff(n,0) pr(n::s,n) diff(m,0) diff(n,m) pr(s,m) pr(n::s,m) Quali delle seguenti affermazioni sono vere? –nel modello iniziale di SEQFancy3 pr controlla se un naturale diverso da 0 appartiene ad una sequenza –nel modello iniziale di SEQFancy3 vale pr(s,0) –in Mod( SEQFancy3) vale pr(s,0)


Scaricare ppt "Specifiche Algebriche ESERCIZI Versione 0.0 Gianna Reggio"

Presentazioni simili


Annunci Google