Algebra parziale con predicati

Slides:



Advertisements
Presentazioni simili
Cosa sono? Come si risolvono?
Advertisements

Algebra Relazionale 3 Università degli Studi del Sannio
Definitezza Vogliamo poter richiedere la “definitezza” delle funzioni
Calcolo Relazionale.
Specifiche Algebriche ESERCIZI Versione 0.0
Conseguenza semantica
EQUAZIONI Una equazione è una uguaglianza tra due espressioni algebriche eventualmente verificata per particolari valori attribuiti alla variabile detta.
Equazioni di primo grado
SPECIFICA INIZIALE DELLE MAPPE FINITE v. 0.0 Gianna Reggio
Il linguaggio della Matematica: Insiemi e operazioni
Sommario Nelle lezioni precedenti abbiamo introdotto tutti gli elementi che formano un particolare tipo di linguaggio logico, denominato linguaggio predicativo.
Linguaggi di programmazione
Equazioni di primo grado
Specifiche Algebriche
Semantica di linguaggi di programmazione Ne esistono differenti stili a seconda di paradigma di programmazione uso (validazione, prototyping, verifica.
SPECIFICA LOOSE DELLE MAPPE FINITE v. 1.1 Gianna Reggio
Specifiche Algebriche Modello Iniziale Versione 1.0 Gianna Reggio
Lez. 121 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Progettazione.
Il ragionamento classico
Introduzione alla Logica Modale.
Interpretazione Astratta
Tino CortesiTecniche di Analisi di Programmi 1 Astrazione e Concretizzazione In una Interpretazione Astratta ci aspettiamo che il seguente diagramma commuti:
Barletta Massimiliano Gazzi Renzo
Intelligenza Artificiale 1 Gestione della conoscenza lezione 7 Prof. M.T. PAZIENZA a.a
Iterazione enumerativa (for)
Maria Teresa PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 8
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Elementi di Matematica
EQUAZIONI DI PRIMO GRADO AD UNA INCOGNITA
CORSO DI PROGRAMMAZIONE II Introduzione alla ricorsione
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Specifiche Specifiche = descrizione delle caratteristiche di un prodotto Esempio non informatico: la specifica di un detersivo è data da quale quantità.
Semantica di Tarski.
Qualche esempio di tableaux
Esercizi Interi.
Corso di Matematica Discreta I Anno
Corso di Matematica Discreta cont. 2
Intelligenza Artificiale
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Conoscenza e ragionamento Logica dei predicati del primo ordine.
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Logica dei predicati del primo ordine.
Prima e Seconda Forma Canonica
INSIEMI NUMERABILI L’analisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere “contati” ossia che possiede.
Intelligenza Artificiale - AA 2001/2002 Logica formale (Parte 2) - 1 Intelligenza Artificiale Breve introduzione alla logica classica (Parte 2) Marco Piastra.
Intelligenza Artificiale
IL GIOCO DELLA LOGICA.
RAPPRESENTAZIONE DELL'INFORMAZIONE
Riassunto delle puntate precedenti:
ESTENSIONI SEMPLICI e TEOREMA DELL’ELEMENTO PRIMITIVO
Corso di logica matematica
La logica è lo studio del ragionamento.
Logica Lezione Nov 2013.
MATEMATIZZAZIONE Con il termine “Matematizzazione” intendiamo quel processo attraverso il quale si tenta di “tradurre” nel formalismo matematico un problema.
Logica F. orilia. Lezz Lunedì 4 Novembre 2013.
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
La logica Dare un significato preciso alle affermazioni matematiche
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
Semantica dinamica Vogliamo definire una funzione che associ ad ogni termine corretto del mio linguaggio di programmazione un valore. Questa associazione.
Rappresentazione dell'informazione
Algebra di Boole L’algebra di Boole è un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono assumere.
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
Specifiche Algebriche Introduzione Versione 1.0 Gianna Reggio
Rappresentazione in virgola mobile (floating-point) Permette di rappresentare numeri con ordini di grandezza molto differenti utilizzando per la rappresentazione.
Rappresentazione dell'informazione 1 Se ho una rappresentazione in virgola fissa (es. su segno e 8 cifre con 3 cifre alla destra della virgola) rappresento.
Automi temporizzati.
Specifiche Algebriche Specifiche Loose o Property- oriented Versione 1.0 Gianna Reggio
INTRODUZIONE Il progetto è rivolto ad alunni che frequentano il biennio del Liceo Scientifico, gli argomenti affrontati sono di notevole importanza per.
Logica Lezione 8, DISTRIBUIRE COMPITO 1.
Logica Lezione 11, Annuncio Non si terrà la lezione di Lunedì 16 Marzo.
INSIEMI E LOGICA PARTE QUARTA.
Transcript della presentazione:

Algebra parziale con predicati Data una segnatura S = (S,F,P) una S-algebra A (parziale con predicati) consiste di un insieme sA per ogni s  S, detto carrier o supporto di tipo s in A una funzione parziale fA: s1A…snAsA per ogni f: s1…sns  F, detta interpretazione di f in A un insieme pA  s1A…snA per ogni p: s1…sn  P, detto insieme di verità, o interpretazione di p in A Se tutte le funzioni di un’algebra sono totali, l’algebra si dice totale

Esempio: L Algebra sulla segnatura Slist: carriers intL = N listL = N* interpretazione funzioni 0L = 0 SL(x) = x+1 emptyL = L pushL(n,l) = n l popL(n l) = l e popL(L) indefinito topL(n l) = n e topL(L) indefinito interpretazione predicati isemptyL ={L} isInL ={ (n,x) |  i  [1,|x|] . x(i)=n }

Esercizi Esercizio 2: estendere L per ottenere una Slista-algebra (vedere Esercizio 1). Esercizio 3: definire una Slist- algebra L2 dove il carrier di int è Z e l’interpretazione di pop è un’operazione totale.

Termini su una segnatura Data una segnatura S = (S,F,P) ed una famiglia X indiciata su S di insiemi di variabili i S-termini sono definiti come per la segnatura (S,F) precisamente, la famiglia di tali termini, indiciata su S, si indica TS(X), è definita come segue Xs  TS(X)s per ogni s  S f(t1,…,tn)  TS(X)s per ogni f: s1…sns  F, t1  TS(X)s1,…, tn  TS(X)sn Esercizio 4: dare alcuni esempi di termini corretti su Slist e di alcune stringhe che non corrispondono ad alcun termine, precisando le variabili usate.

Formule Le formule logiche, LS(X), sono definite come nel caso della logica del prim’ordine sui simboli funzionali F e predicativi P, ovvero per induzione come segue: p(t1,…,tn)  LS(X), per ogni p: s1…sn  P, e termini ti  TS(X)si [formule atomiche] se  e   LS(X), x  Xs , allora ,   ,   ,   , x:s. e x:s.  LS(X)

Esempi di formule su Slist isEmpty(pop(push(n,empty))) x: list. isEmpty(x)  isIn(top(x),x)  isEmpty(l)   isEmpty(pop(l)) Esercizio 5: dare esempi di formule sulla segnatura Slista precisando le variabili usate (vedere Esercizio 1).

Interpretazione e validità La validità delle formule logiche in un’algebra parziale con predicati A è definita come nel caso della logica classica, per induzione sulla forma delle formule, basandosi sul concetto di interpretazione tA,V di un termine t in un’algebra A rispetto ad una valutazione V (almeno) delle variabili che vi compaiono in A

Interpretazione “nel mondo parziale” Una valutazione V: XA è una famiglia di funzioni totali Vs: Xs sA Data una valutazione V: XA, l’ interpretazione dei termini, indicata _A,V: TS(X) A, è una famiglia di funzioni parziali _A,V: TS(X)s sA definita per induzione sui termini come segue xA,V = Vs(x) se x  Xs se t1A,V= a1  s1A, …, tnA,V = an  snA, fA(a1,…,an) = a  sA, allora f(t1,…,tn)A,V = a sono sempre definiti e i rispettivi valori devono appartenere al dominio di f devono essere definiti, con tutti i loro sottotermini affinché un termine sia definito

Esempio (solita segnatura Slist ed algebra L, V valutazione qualsiasi) (pop(push(n,empty)))L,V = popL((push(n,empty))L,V) = popL(pushL(nL,V,emptyL,V)) = popL(pushL(V(n),emptyL)) = popL(pushL(V(n), L)) = popL(V(n) L) = L Esercizio 6: interpretare i termini introdotti dalle precedenti parti esempio ed esercizi, utulizzando almeno due differenti valutazioni. Esercizio 7: Dare esempi di termini la cui interpretazione risulti indefinita per una data valutazione.

Validità 1 Sia V: XA una valutazione ed z una formula in LS(X) z vale (o è valida) in A [A soddisfa z] rispetto a V, indicato A|=V z se e solo se: z è p(t1,…,tn) e (t1A,V,…,tnA,V)  pA z è  e A|≠V  z è  e sia A|=V  che A|=V  z è  e A|=V  oppure A|=V  z è    e A|=V  oppure A|≠V  z è x:s.  ed esiste V’: X A t.c. V’(y) = V(y) se y≠x, tale che A|=V’  z è x:s.  e per ogni V’: X A t.c. V’(y) = V(y) se y≠x, A|=V’ 

Esempio (solita segnatura Slist ed algebra L, valutazione V qualsiasi) L |=V isEmpty(pop(push(n,empty))) ?? pop(push(n,empty))L,V = L isemptyL = { L } pertanto isEmpty(pop(push(n,empty))) vale in L rispetto a V ed ad ogni altra valutazione Esercizio 8: Dire se le altre formule usate negli esempi precedenti sono valide in L per una qualche valutazione. Esercizio 9: Dare esempi di formule che siano valide in L per una qualche valutazione e non valide per qualche altra valutazione.

Validità 2 x  X occorre libera in t  TS(X) se e solo se t è x t è f(t1,…,tn) e x occorre libera in ti con 1 ≤ i ≤ n x  X occorre libera in z  LS(X) se e solo se z è p(t1,…,tn) e x occorre libera in ti con 1 ≤ i ≤ n z è  e x occorre libera in  z è  e x occorre libera in  o in  z è  e x occorre libera in  o in  z è    e x occorre libera in  o in  z è y:s.  ed y ≠x e x occorre libera in  z è  y:s.  ed y ≠x e x occorre libera in 

Validità 3 Una formula z è valida in un’algebra A, indicato A|= z se e solo se A|=V z per ogni valutazione delle variabili libere di z in A, cioè se e solo se A|=V { x:s | x  Xs X occorre libera in z } . z (chiusura universale di z)

Esempio Esercizio 10: Dimostrare con tutti i dettagli (*) e (**). (solita segnatura Slist ed algebra L) L |= isEmpty(pop(push(0,l))) ?? l occore libera nella formula (ed è l’unica) V1(l) = L L |=V1 isEmpty(pop(push(0,l))) (*) V2(l) = 0 L L |≠V2 isEmpty(pop(push(0,l))) (**) pertanto L |≠ isEmpty(pop(push(0,l))) Esercizio 10: Dimostrare con tutti i dettagli (*) e (**). Esercizio 11: Esibire una formula valida in L. Esercizio 12: Che cosa manca, secondo voi, alla logica introdotta fino ad ora per esprimere tutte le ragionevoli proprietà dele strutture dati ?.

Uguaglianza Vogliamo aggiungere il simbolo di uguaglianza alla nostra logica. Per poter esprimere formule di qualsiasi tipo con uguaglianze, basta aggiungere l’uguaglianza come formula atomica e darne l’interpretazione semantica in una generica algebra rispetto ad una valutazione delle formule. Poi essendo sia le formule che la loro validità definita per induzione, si propagheranno senza problemi. Nel caso totale due termini sono uguali se denotano (sono rappresentazioni sintattiche di) lo stesso valore, ovvero se la loro valutazione porta allo stesso risultato.

Uguaglianza nel mondo parziale Nel caso parziale, le due frasi non sono più equivalenti perché c’è il caso in cui le due valutazioni portano allo stesso risultato: indefinito. Quindi nel caso parziale ci sono naturalmente due nozioni di uguaglianza t = t’ (uguaglianza forte) A|=V t=t’ se e solo se tA,V = t’A,V (eventualmente indefiniti entrambi) t =e t’ (uguaglianza esistenziale) A|=V t =e t’ se e solo se esiste a  sA t.c. tA,V = a = t’A,V

FINE Lezione 2 Martedì 29 Ottobre 11-13