Upload
vudan
View
215
Download
0
Embed Size (px)
Citation preview
Logica dei Predicati:Breve introduzione alla
Sintassi ed alla SemanticaCorso di Basi di Dati e Sistemi Web-based, a.a. 2016-17
Roberto Basili
(Università di Roma Tor Vergata)
1/24/2017Roberto Basili
1
Outline
Motivazioni
Espressività
Deduzione in FOL
Calcolo dei Predicati: Outline dei Temi
Elementi del Linguaggio
Sintassi delle formule
Esempi ed esercizi proposti
1/24/2017Roberto Basili
2
Limiti dei Linguaggi
Proposizionali
Cosa (non) posso dire?
(1) I banchieri sono ricchi. Aldo è povero. Quindi
Aldo non è un banchiere.
(2) I banchieri sono ricchi. Aldo è ricco. Quindi Aldo
è un banchiere.
(3) I banchieri sono biondi. I biondi sono ricchi.
Quindi i banchieri sono ricchi.
(4) I banchieri sono ricchi. I ricchi sono sempre felici.
Quindi i banchieri sono sempre felici.
1/24/2017Roberto Basili
3
Limiti dei Linguaggi
Proposizionali
Cosa (non) posso dire?
YES! (1) I banchieri sono ricchi. Aldo è povero. Quindi Aldo non è un banchiere.
NO (2) I banchieri sono ricchi. Aldo è ricco. Quindi
Aldo è un banchiere.
Vera anche se premessa è falsa YES? (3) I banchieri
sono biondi. I biondi sono ricchi. Quindi i banchieri
sono ricchi.
Falsa ma giustificata dalle premesse YES? (4) I banchieri sono ricchi. I ricchi sono sempre felici.
Quindi i banchieri sono sempre felici.
1/24/2017Roberto Basili
4
Limiti dei Linguaggi
Proposizionali Ma ciò che veramente è problematico con le frasi
seguenti è che non si possano esprimere molte
proprietà che ci aiutano a decidere:
(1) I banchieri sono ricchi. Aldo è povero. Quindi
Aldo non è un banchiere.
ricchi vs. povero
(2) I banchieri sono ricchi. Aldo è ricco. Quindi Aldo
è un banchiere.
essere un banchiere per chiunque non sia Aldo …
(3) I banchieri sono biondi. I biondi sono ricchi.
Quindi i banchieri sono ricchi.
(4) I banchieri sono ricchi. I ricchi sono sempre felici.
Quindi i banchieri sono sempre felici.
Perché 3 e 4 sono vera/falsa?
1/24/2017Roberto Basili
5
Limiti dei Linguaggi
Proposizionali
Cosa posso dedurre da fatti noti e meccanismi di
inferenza consistenti?
MP:
p1: «Tutti gli uomini sono mortali»
p2: «Socrate è un uomo»
t: «Socrate è mortale»
Perché se ( p1 p2 ) t non è valida, questo
ragionamento ci appare consistente?
1/24/2017Roberto Basili
6
Scopo
Definire come un linguaggio formale più espressivo
della logica proposizionale vista sinora, utile a
descrivere e validare (cioè garantirne la correttezza)
di argomentazioni, cioè successioni di enunciati
linguistici di tipo descrittivo (ovvero, frasi di una lingua
naturale che descrivono stati di cose, e che sono o
veri o falsi).
1/24/2017Roberto Basili
7
Le Argomentazioni
Un insieme di enunciati, , sono assunti come
premesse (perché “evidenti”, o perché già condivisi
dalle parti interessate all’argomentazione, o
semplicemente per analizzarne le conseguenze); un
enunciato, A, è invece derivato come conclusione.
L’argomentazione è valida se la conclusione (A) è
certamente vera sotto l’ipotesi che lo siano le
premesse (). In tal caso, si dice anche che la conclusione è conseguenza logica delle premesse o
che le premesse comportano (in inglese: entail) la
conclusione e si scrive:
A.
1/24/2017Roberto Basili
8
Un esempio motivante Ci interessano i blocchi e alcune loro relazioni spaziali
Dominio: {a, b, c, d, e}
Le funzioni: si individuano le funzioni rilevanti che
servono anch’esse per identificare oggetti.
Es. Hat la funzione unaria che dato un blocco identifica il
blocco che ci sta sopra;
Hat(b)=a
Le relazioni: si individuano le relazioni interessanti.
Es.
On= {<a, b>, <b, c>, <d, e>}
Clear= {a, d}
Table= {c, e}
Block= {a, b, c, d, e}
1/24/2017Roberto Basili
9
Gli Elementi del linguaggio:
Come sono fatti gli elementi di tale linguaggio?
Gli elementi di un linguaggio predicativo debbono
almeno contenere i seguenti elementi
Le Relazioni sussistenti tra elementi del dominio che sono
oggetto di descrizione (affermazione o negazione)
Le Costanti del discorso
Nomi di individui
Funzioni operanti sugli individui del dominio
Le denotazioni di variabili
1/24/2017Roberto Basili
10
Elementi del linguaggio: le
Relazioni
Alcuni esempi
Su/2 come «posto di sopra»
PadreDi/2 come espressione di una «direzione» che
determina una gerarchia
SottoinsiemeDI/2 che è simile ad una gerarchia e che
vale negli insiemi, ma che non è sempre unidirezionale (è
una specie di relazione uno-a-molti tra figli e padri)
1/24/2017Roberto Basili
11
Elementi del Linguaggio:
costanti e variabili
I simboli di costanti e variabili sono rigidamente
separati:
La proprietà comune è che essi costituiscono nomi per
rappresentare entità individuali
Se in una espressione si ripete l’uso di una costante o di una variabile si intende sempre lo stesso individuo perché il suo nome non è cambiato …
Le costanti sono denotazioni di singoli individui che non
variano tra formule diverse: è rigida la associazione tra
nome ed individuo
Le variabili sono denotazioni di un individuo non rigide
In formule diverse le variabili possono rappresentare individui diversi
Sono diversi gli individui interessati da una espressione che contiene una variabile, ad es. pari(X) con X aperto a denotare diversi numeri (anche se uno per volta ….)
1/24/2017Roberto Basili
12
Calcolo dei Predicati: verso
la sintassi
Il linguaggio predicativo del primo ordine è detto
anche linguaggio predicativo elementare perché
consente di predicare proprietà e relazioni
concernenti gli elementi di un “universo del discorso”,
detto comunemente dominio.
Questo linguaggio può essere visto come
l’idealizzazione di un frammento del linguaggio
umano.
Come nelle lingue naturali, esistono due tipi di
espressioni:
i termini, utilizzati per fare riferimento a individui del dominio;
le formule, e più in particolare gli enunciati, utilizzate per
descrivere stati di cose riguardanti gli individui del
dominio.
1/24/2017Roberto Basili
13
Calcolo Predicativo: i termini
Il modo più semplice definire gli elementi di un
dominio è l’uso di un “identificatore”, che funzioni
proprio come un nome proprio.
A questo scopo il linguaggio del primo ordine prevede
l’uso di un insieme (eventualmente vuoto) di
identificatori, chiamati costanti individuali o più
semplicemente costanti.
Essi fanno individualmente riferimento ad una entità
(individuo) del dominio
1/24/2017Roberto Basili
14
Calcolo Predicativo: i termini
(2)
Inoltre ad un individuo si può fare riferimento anche
con un’espressione di tipo funzionale, come “il padre
di ...”, dove “padre di” è vista come una funzione
agente sugli individui del dominio.
Il linguaggio prevede un insieme (eventualmente
vuoto, al più numerabile) di funtori (o simboli di
funzione).
Per i funtori adotteremo le lettere f, g, h, ...,
Ogni funtore f ha un numero prefissato n di argomenti;
questo numero è detto l’arità del funtore.
E’ possibile ammettere anche funtori con arità zero,
che corrispondono alle espressioni costani
1/24/2017Roberto Basili
15
Calcolo Predicativo: i termini
(3)
La definizione formale di termine è dunque ricorsiva:
ogni costante individuale, denotata dalle prime lettere
dell’alfabeto quali a, b, c, …, è un termine;
ogni variabile individuale denotata dalle ultime lettere
dell’alfabeto quali x, y, z, t, u, …, è un termine;
ogni espressione della forma
f(t1,...,tn) è un termine
se f è un funtore di arità n e tutti i tk sono termini.
1/24/2017Roberto Basili
16
Esempi di termini
Se assumiamo che f e g siano funtori di arità uno e h
sia un funtore di arità due, allora i seguenti sono tutti
termini ben formati:
a
X
f(a)
g(x)
h(a,b)
h(f(a),g(f(x))
1/24/2017Roberto Basili
17
Calcolo Predicativo: le
Relazioni
Il modo più immediato di descrivere uno stato di cose
consiste nel dire che fra certi individui sussiste una
data relazione.
I simboli di relazione costituiscono un insieme (non
vuoto, al più numerabile) di predicati, per i quali
adotteremo le lettere P, Q, R, ...,
Ogni predicato P ha un numero prefissato n di
argomenti; questo numero è detto l’arità del
predicato.
1/24/2017Roberto Basili
18
Calcolo Predicativo: le
Relazioni (2)
I predicati di arità due (o “a due posti”) sono utilizzati
per rappresentare relazioni binarie.
Così, se a Antonio e Bruno si fa riferimento
rispettivamente con le costanti a e b, e la relazione
“fratello” è rappresentata dal predicato P, la frase
“Antonio è il fratello di Bruno” si rappresenta come
P(a,b).
Utilizzando predicati di arità adeguata, è possibile
rappresentare relazioni anche fra terne, quaterne, …
o n-ple di individui.
I predicati a un posto rappresentano le proprietà di
individui.
Ad esempio, se il predicato G rappresenta la proprietà
“giovane”, la frase “Abel è giovane” si rappresenta
come G(a).
1/24/2017Roberto Basili
19
Calcolo dei Predicati: le
Formule atomiche (ATOMI)
Simboli costanti e variabili, termini ed espressioni
funzionali in generale e predicati ci consentono di
definire il tipo più semplice di formule, ovvero le
formule atomiche
DEF (Formule Atomiche):
e sono formule atomiche
Ogni espressione della forma
P(t1,...,tn)
è una formula atomica se P è un predicato di arità n e
tutti i tk sono termini.
1/24/2017Roberto Basili
20
Calcolo dei Predicati:
Formule complesse
A partire dalle formule atomiche si possono costruire
formule più complesse utilizzando i simboli logici,
ovvero i connettivi booleani e i quantificatori.
I connettivi e i quantificatori normalmente utilizzati
sono i seguenti:
un connettivo unario (ovvero, con un solo argomento): la
negazione ();
quattro connettivi binari: la congiunzione (), la
disgiunzione (), il condizionale () e il bicondizionale
();
due quantificatori: universale () ed esistenziale ().
1/24/2017Roberto Basili
21
Calcolo dei Predicati:
Formule Ben Formate (FBF)
Ogni formula atomica è una formula;
Ogni espressione della forma j, se j è una formula;
Ogni espressione della forma
(j y),
(j y),
(j y)
(j y)
è una formula, se j e y sono formule;
Ogni espressione della forma
xj e xj
è una formula, se x è una variabile e j è una formula.
1/24/2017Roberto Basili
22
Precedenze e parentesi
Si possono tralasciare le eventuali parentesi esterne di
una formula;
(((P Q) R) S) ((P Q) R) S;
Il raggruppamento di sottoformule da sinistra verso
destra per uno stesso connettivo binario non richiede
le parentesi:
((P Q) R) S (P Q R) S;
Tra i simboli logici (connettivi e quantificatori) esiste la
seguente gerarchia di precedenza:
{, , } > {} > {} > {} > {}
Ad esempio:
(P Q R) S P Q R S,
((P Q) (Q P)) (P Q) (Q P)
P Q Q P,
(xP(x) Q(x)) xP(x) Q(x).1/24/2017Roberto Basili
23
Il trattamento delle Variabili
Una formula che non contenga variabili si dice
fondamentale (o, dall’inglese, ground).
Se una formula contiene variabili ne può contenere
più d’una, ognuna con una o più occorrenze.
Ad esempio, la formula
xP(x,y) Q(x)
contiene tre occorrenze della variabile x (compresa
l’occorrenza che segue immediatamente il
quantificatore) ed una occorrenza della variabile y.
1/24/2017Roberto Basili
24
Il trattamento delle Variabili
(2)
Ogni quantificatore applicato ad una formula j ha un
ambito o campo di applicazione (dall’inglese scope)
che corrisponde alla sottoformula di j sulle cui variabili
agisce.
Ad esempio, nella formula
xP(x,y) Q(x)
l’ambito di x è la formula P(x,y);
Nella formula
x(P(x,y) Q(x)),
invece, l’ambito di x è la formula P(x,y) Q(x).
1/24/2017Roberto Basili
25
Il trattamento delle Variabili
(3)
Un’occorrenza di una variabile x si dice vincolata se
1. è l’occorrenza che segue immediatamente il simbolo del quantificatore oppure
2. appartiene all’ambito di un quantificatore
x o x;
Ogni altra occorrenza di una variabile si dice invece
libera.
Ad esempio, nella formula
xP(x,y) Q(x)
le prime due occorrenze di x sono vincolate, la terza è
libera, e l’unica occorrenza di y è libera.
1/24/2017Roberto Basili
26
Trattamento delle Variabili:
problematicità xP(x,y) e zP(z,y) sono sostanzialmente la stessa
formula, e si dicono variante alfabetica l’una dell’altra
Esistono formule in cui le variabili sono libere che non
hanno una chiara interpretazione:
cfr. P(a), xP(x) e P(x)
La ultima costituisce una formula aperta, cioè che
presenta occorrenze libere di variabili (la cui
interpretazione è in qualche modo incompleta),
Le prime due sono formule chiuse, che non
contengono occorrenze libere di variabili e sono
quindi completamente interpretate.
1/24/2017Roberto Basili
27
Trattamento delle Variabili:
gli Enunciati
Esistono infine formule iperquantificate, ad es.
xyP(a,x)
Il quantificatore y, infatti, è ridondante perché non ci
sono nel suo ambito occorrenze libere (e quindi
quantificabili) di y.
Si dicono “enunciati” il sottoinsieme delle formule ben
formate che non contiene tali problematicità.
Chiameremo enunciato ogni formula che sia chiusa (e
quindi non abbia occorrenze libere di variabili) e priva
di quantificatori ridondanti (ovvero, ogni
quantificatore applicato a una variabile x deve avere
nel suo ambito almeno un’occorrenza libera di x)
1/24/2017Roberto Basili
28
Variabili e Costanti: la
sostituzione
Se j è una formula, x è una variabile e t un termine
qualsiasi, con
j(t/x)
indicheremo la formula che si ottiene partendo da j e sostituendo ogni occorrenza libera di x con il termine t.
Ad esempio, se j è la formula
P(x) xQ(x),
allora j(a/x) è la formula
P(a) xQ(x).
1/24/2017Roberto Basili
29
L’uguaglianza
Nel linguaggio del primo ordine introdotto sin qui, i
simboli logici si usano sempre, qualsiasi sia il linguaggio
specifico definito, cioè quello che dipende dalla
applicazione: quest’ultimo infatti dipende **solo**
dalla scelta dei simboli costanti, dei funtori e dei
simboli predicativi.
C’è però un predicato binario particolarmente
significativo, che può essere introdotto
indipendentemente dall’applicazione: si tratta del
predicato di uguaglianza, =.
Qualora uno speciale predicato di arità 2 viene
introdotta che corrisponde alla uguaglianza, si parla
allora di linguaggio del primo ordine con
l’uguaglianza.
1/24/2017Roberto Basili
31
FOL con uguaglianza:
ATOMI (revised)
DEF (Formule Atomiche):
e sono formule atomiche
Ogni espressione della forma
t1 = t2
è un a formula atomica se t11 se t12 sono termini.
Ogni espressione della forma
P(t1,...,tn)
è una formula atomica se P è un predicato di arità n e
tutti i tk sono termini.
1/24/2017Roberto Basili
32
FOL con uguaglianza: FBF
(revised)
Ogni formula atomica è una formula;
Ogni espressione della forma j, se j è una formula;
Ogni espressione della forma
(j y),
(j y),
(j y)
(j y)
è una formula, se j e y sono formule;
Ogni espressione della forma
xj e xj
è una formula, se x è una variabile e j è una formula.
1/24/2017Roberto Basili
33
Il significato: il problema e la
prospettiva
Cosa significa assegnare significato ad una formula?
Problemi
Applicazioni:
Verificare le proprietà di affermazioni/teoremi utili ad una
disciplina
Verificare le proprietà dei programmi
Fornire regole di deduzione a sistemi di ragionamento
automatico
1/24/2017Roberto Basili
34
Esercizi (1)
Determinare gli atomi delle seguenti formule
xH(x) (x G(x, f(y)) H(y))
x H(a) G(b) L(x,g(b,x))
Determinare le variabili delle seguenti formule
x H(x) G(b) x L(x,b)
x (H(x) G(b) P(x,y)) x L(x,b)
x (H(x) G(b) P(x,y)) x L(x,b)
Determinare le variabili libere nelle formule di sopra
1/24/2017Roberto Basili
36
Esercizi (1)
Determinare la traduzione in FOL senza uguaglianza
delle seguenti frasi
Gianni corre sempre con ogni tempo (meteorologico)
Gianni mangia tutti i tipi di carne
Ogni giorno piove
Tutti gli interi sono positivi o nulli
Determinare la traduzione in FOL con uguaglianza
delle seguenti frasi
Lo zero tra gli interi è unico
Determinare l’albero sintattico delle formule scritte
1/24/2017Roberto Basili
37
Esercizi (2)
Dimostrare le seguenti uguaglianze
x P(x) P(x) =
x P(x) P(x) = x P(x) P(x)
x P(x) Q(x) = x P(x) Q(x)
1/24/2017Roberto Basili
38
Riferimenti
[2] C.L. Chang and Lee R.C.T. Symbolic Logic and
Mechanical Theorem Proving. Academic Press, 1973. trad. it.
Tecniche Nuove.
[5] E. Mendelson. Introduction to Mathematical Logic. Van
Nostrand, 1964. Trad. it. Boringhieri.
Carlucci Aiello Luigia, Pirri Fiora, Strutture, logica, linguaggi,
2005, 336 p., Editore Pearson (collana Accademica).
McCarthy, J., and P. Hayes (1969). Some philosophical
problems from the standpoint of artificial intelligence. In B.
Meltzer and D. Michie, eds., Machine Intelligence 4,
Edinburgh University Press, Edinburgh, UK.
Nilsson, N. J. (1998). Artificial intelligence: A new synthesis,
Morgan Kaufmann, San Francisco, CA.
Anche: dispense M. Cialdea Mayer. Logica (Home page)
1/24/2017Roberto Basili
39
Outline
Obbiettivi della Semantica
Riferimento nel Mondo e Verità
La nozione di interpretazione
Semantica della FOL
Alcune riflessioni sulla sostituzione
Conseguenza semantica e Deduzione in FOL
Esempi ed esercizi proposti
1/24/2017Roberto Basili
40
Esempi di linguaggi
Linguaggio puro dei predicati
L’operatore di uguaglianza è assente
Simboli di predicati n-ari sono denotati con le lettere: Pn,
Qn, Mn, …
Simboli costanti: a, b, c, …
Nessun simbolo funzionale
Esempi di FBF:
x Q(x) P(x)
x y ( P(x,y) M(y)) Q(y).
xM(x) y(W(y) L(x,y)).
1/24/2017Roberto Basili
41
Esempi di linguaggi (2)
Linguaggio della teoria dei numeri (interi)
L’operatore di uguaglianza è presente
Un solo simbolo di predicato binario : ‘<‘
Simbolo costante: 0
Simboli funzionali
Unario: s (successore)
Binari: x, +
Esempi di FBF:
xy (x + s(y)) = s(x+y)
x ( (x=0) y (x = s(y)) )
xy ((x<y) s(x)<s(y))
1/24/2017Roberto Basili
42
Un esempio motivante
Interpretazione nel dominio: {a, b, c, d, e}
Le funzioni si preservano?
Es. Hat la funzione unaria che dato un blocco identifica il
blocco che ci sta sopra; ad es. Hat(b)=a
On= {<a, b>, <b, c>, <d, e>}
Clear= {a, d}
Table= {c, e}
Block= {a, b, c, d, e}
On= {<c, b>, <d, e>}
Clear= {a, c, d}
Table= {a, b, e}
Block= {a, b, c, d, e}
1/24/2017Roberto Basili
43
Il significato: il problema e la
prospettiva Cosa significa assegnare significato ad una formula?
La sua verità è indipendente dallo stato del mondo?
Problemi:
Verità vs. (im)possibilità
Contingenza vs. Validità
Applicazioni:
Verificare le proprietà di affermazioni/teoremi utili ad una
disciplina
Ed es.: Unicità dello 0
Verificare le proprietà dei programmi
Fornire regole di deduzione a sistemi di ragionamento
automatico 1/24/2017Roberto Basili
44
Calcolo dei Predicati:
Formule Ben Formate (FBF)
Ogni formula atomica è una formula;
Ogni espressione della forma j, se j è una formula;
Ogni espressione della forma
(j y),
(j y),
(j y)
(j y)
è una formula, se j e y sono formule;
Ogni espressione della forma
xj e xj
è una formula, se x è una variabile e j è una formula.
1/24/2017Roberto Basili
45
Interpretazione: il dominio
L’interpretazione dei i simboli non logici richiede
necessariamente un insieme non vuoto D di individui,
detto dominio dell’interpretazione.
L’idea è che D contenga tutti gli individui (di
qualunque natura) che costituiscono l’universo del
discorso di una certa applicazione.
Esempio:
D : l’insieme dei blocchi e oggetti fisici contenuti in una stanza,
D : l’insieme dei numeri naturali,
D : l’insieme dei punti di uno spazio euclideo, o l’insieme
degli esseri umani.
Attenzione: è necessario non confondere i simboli che
denotano elementi del dominio (come a, b, c, ...) con i simboli (a, b, c, ...) che costituiscono le costanti del
linguaggio formale.
1/24/2017Roberto Basili
47
Interpretazione dei simboli
del linguaggio logico
Definiamo allora la funzione d’interpretazione i(.) nel
modo seguente:
per ogni costante a, l’interpretazione i(a) è
un elemento di D; (funzione di scelta)
per ogni funtore f di arità n, l’interpretazione i(f) è
una funzione i(f) : Dn D;
per ogni predicato P di arità n, l’interpretazione i(P) è
una funzione
i(P) : Dn {0,1},
ovvero la funzione caratteristica di una relazione
n-aria su D.
1/24/2017Roberto Basili
48
Interpretazione delle variabili
E le variabili?
Si tratta di un’ulteriore funzione di scelta
e : Var Dtale che:
per ogni variabile x in Var, l’assegnamento e(x) è un
elemento di D.
Vedremo più avanti come la funzione e(.) ci permetta
di assegnare un significato ai quantificatori.
1/24/2017Roberto Basili
49
Interpretazione dei termini
del linguaggio
Definiamo cosa denotino i termini del linguaggio, dati
un assegnamento e(.) ed un modello (struttura)
M = D, i(.),
dove D è il dominio ed i(.) una funzione d’interpretazione.
La interpretazione (anche detta denotazione) *t di un
termine t è l’elemento del dominio così definito:
*a = i(a) per ogni costante a del linguaggio;
*x = e(x) per ogni variabile x del linguaggio;
*f(t1,...,tn) = i(f)(*t1,...,*tn) per ogni termine funzionale del
linguaggio di arità n.
1/24/2017Roberto Basili
50
Esempi
Sia D l’insieme dei numeri naturali con 0
Sia 0 il simbolo costate la cui interpretazione secondo
M = D, i(.) è lo 0 di D
Sia l’operatore funzionale s/1 la cui interpretazione
indica il successore dell’argomento a cui è applicato
L’interpretazione *s(s(0)) del termine s(s(0)) è:
*s(s(0)) = i(s)( i(s) ( i(0))) =
= (i(s)( i(0))) + 1 =
= ( i(0) + 1) +1 =
= (0 + 1) + 1 = 2
Il linguaggio con la sua interpretazione M = D, i(.) ci
permette di parlare dei numeri naturali 1/24/2017Roberto Basili
51
somma tra i naturali
Interpretazione dei predicati
del linguaggio
Un assegnamento e(.) ed un modello
M = D, i(.),
dove D è il dominio ed i(.) una funzione d’interpretazione, ci consente anche di interpretare i
simboli predicativi, Pn nei termini di relazioni n-arie in D.
Formalmente:
La denotazione *Pn di un predicato n-ario è una
relazione
*Pn Dn
e può essere formalizzata come la funzione
caratteristica dell’insieme corrispondente.
1/24/2017Roberto Basili
52
Semantica del FOL La soddisfacibilità di una formula j rispetto ad un modello
M ed un assegnamento e(.), si denota con
(M, e) = j
e si definisce ricorsivamente:
(M, e) = j sse j = , (M, e) j sse j =
(M, e) = P(t1, …, tn) sse <*t1, …, *tn> *P Dn
(M, e) = t1= t2 sse *t1=*t2
(M, e) = j sse (M, e) j
(M, e) = j y sse (M, e) = j e (M, e) = y
(M, e) = j y sse (M, e) = j oppure (M, e) = y
(M, e) = j y sse (M, e) j oppure (M, e) = y
(M, e) = j y (M, e) = j e (M, e) = y oppure
(M, e) j e (M, e) y
...
1/24/2017Roberto Basili
53
Uguaglianza
sintattica (in L)
Uguaglianza semantica (i.e. in D)
Semantica del FOL (2) La soddisfacibilità di una formula j rispetto ad un modello
M ed un assegnamento e(.), si denota con
(M, e) = j
e si definisce ricorsivamente:
…
(M, e) = xj sse per ogni dD, (M, e) = j (d/x)
(M, e) = xj sse esiste un certo dD, per cui è verificato che
(M, e) = j (d/x)
1/24/2017Roberto Basili
54
Esempio Sia:
j: x y P(y,x) (1)
M1 - Mondo 1. D1 è l’insieme degli esseri umani e
l’interpretazione di P è «padre di».
La formula (1) ci appare vera, i.e. (M1,e) = j
M2 - Mondo 2. D2 è l’insieme dei numeri naturali e
l’interpretazione di P è «maggiore di» (>).
La formula (1) ci appare per altri motivi vera, i.e.
(M2,e) = j
Ogni Mondo costituisce una interpretazione diversa ed indipendente.
1/24/2017Roberto Basili
55
Verità di una formula
Diciamo che una formula F è soddisfatta dalla
valutazione IV, se IV(F) = 1.
Una formula F è soddisfacibile se esiste una
valutazione IV, tale che IV(F) = 1.
Notare che data IV, stabilire se IV(F) = 1 è un calcolo
facile.
Viceversa trovare IV tale che IV(F) = 1 può essere molto
difficile (computazionalmente).
Una formula F è una tautologia se per ogni valutazione IV, F è soddisfatta dalla valutazione IV.
Una formula F è una contraddizione se per ogni
valutazione IV, F non è soddisfatta dalla valutazione IV.
1/24/2017Roberto Basili
56
Variabili, Connettivi e
Quantificatori
Esempi:
x (P(x) Q(x)) vs. x (P(x) Q(x))
x (P(x) Q(x)) vs. x (P(x) Q(x))
osserviamo che al variare di (M, e) le due coppie di
formule hanno un comportamento regolare.
Tale comportamento sembra non dipendere da (M, e)
1/24/2017Roberto Basili
57
Variabili, Connettivi e
Quantificatori
Osserviamo quindi che:
(M1, e1) = j sse (M2, e2) = j
corrisponde ad una equivalenza tra (M1, e1) ed (M2, e2)
In particolare esse debbono coincidere con tutte le scelte
su:
Simboli costanti e funzionali che occorrono in j (M1, M2)
Variabili che occorrono in j (e1 vs. e2)
Simboli predicativi che occorrono in j (M1, M2)
1/24/2017Roberto Basili
58
Variabili e Quantificatori
In realtà debbono concordare SOLO sulle variabili
libere, poiché la semantica delle varabili quantificate
è sotto il controllo della proprietà per cui:
(M1, e1) = j sse (M2, e2) = j
Allora ragionando sul ruolo delle variabili vincolate …
Esempio (formula chiusa)
x y (P(x,y) z P(y,z))
Immaginiamo M per cui D corrisponda ai numeri interi e P
sia ‘‘
La soddisfacibilità qui non dipende da alcun
assegnmento e().
1/24/2017Roberto Basili
59
Modelli e formule
Se per ogni assegnamento e() si ha che
(M, e) = j
(e questo è sempre vero per formule chiuse) allora si
dice che j è conseguenza logica di M, si scrive
M = j
e che M è un modello per j .
Una scrittura alternativa è:
=M j
Se j è tale che M = j è vera per ogni M, allora
diciamo che j è una formula valida del calcolo
1/24/2017Roberto Basili
60
Validità e contingenza
Tutte le formule non valide sono contingenti
Esempi:
P(a)
x ( S(x,100) y Q(y,x) )
x (C(x) y( P(x,y,a) ) )
1/24/2017Roberto Basili
61
Formule logiche e lingue
If Bill or John is leaving, then Mary and Sue aren’t
happy
(leave(b) leave(j)) (happy(m) happy(s))
Every cat gave a book to Bill
x (cat(x) y( give(x,y,b) ) )
Ogni amica di Bill gli ha regalato un libro
1/24/2017Roberto Basili
62
Insiemi di formule e
soddisfacibilità
Un insieme di formule è soddisfacibile se esiste un
modello ed un assegnamento (M, e) tale che valga
(M, e) = j per ogni j
Nel caso in cui tutte le formule j1, …., jn in siano
chiuse, la soddisfacibilità coincide con la verità di
tutte le formule di ji
In qualche modo stiamo asserendo la verità secondo il
modello M della congiunzione logica (⋀i ji ) di tutte le
formule di .
1/24/2017Roberto Basili
63
Implicazione Logica di
formule
Dati un insieme di formule ed una formula j, si dice
che implica logicamente j che si scrive
= j
sse per ogni modello ed assegnamento (M, e) tale
che valga
(M, e) =
si verifica anche
(M, e) = j
1/24/2017Roberto Basili
64
Esempio di implicazione logica
Nel mondo M dei blocchi
Fatti:
On= {<c, b>, <d, e>}
Table= {a, b, e}
Block= {a, b, c, d, e}
Linguaggio
Costanti = {a,b,c,d,e}
Predicati = {on2, block1, table1, clear1}
= { block(a), …, block(e), table(a), table(b), table(e),
on(c,b), on(d,e),
x ( (block(x) y on(y,x)) clear(x)) }
Se j = clear(c) si può dire:
= j
1/24/2017Roberto Basili
65
Esempio di implicazione logica
Nel mondo M dei blocchi
Fatti:
On= {<c, b>, <d, e>}
Table= {a, b, e}
Block= {a, b, c, d, e}
Linguaggio
Costanti = {a,b,c,d,e}
Predicati = {on2, block1, table1, clear1}
= { block(a), …, block(e), table(a), table(b), table(e),
on(c,b), on(d,e),
x ( (block(x) y on(y,x)) clear(x)) }
Qual’è la interpretazione i(.) in M per cui:
= j
1/24/2017Roberto Basili
66
Esempio di implicazione
logica (2)
E’ ancora vero che = clear(c) j se lo
stato del mondo M è cambiato?
E’ vero che
(M, e) j
Ma è anche vero che M non è più
un modello per poiché si verifica anche
(M, e)
(infatti ad esempio table(a) è falso!)
Il legame tra e j è preservato !!
1/24/2017Roberto Basili
67
Equivalenza Semantica nel
FOL
Date due formule j e y, esse sono semanticamente
(o logicamente) equivalenti e si scrive
j y
se per ogni modello ed assegnamento (M, e) si
verifica che:
(M, e) = j sse (M, e) = y
1/24/2017Roberto Basili
68
Sostituzione e Semantica Data la definizione di equivalenza segue che due formule che
differiscono per i soli nomi delle variabili legate sono equivalenti.
Infatti: sia (M, e) un modello ed un assegnamento, t un termine allora vale che
1. Se y non compare in t, allora la denotazione *t secondo il
modello (M, e) per cui e(x)=d corrisponde alla denotazione
*t(y/x) del termine t(y/x)§
secondo il modello (M, e) per cui
e(y)=d.
2. Se y non compare in una formula j allora detti (M, e) ed
(M, e’) che differiscono per la sola assunzione e(x)=d ed
e(y)=d, si ha che
(M, e) = j sse (M, e’) = j(y/x)
§t(y/x) denota la riscrittura del termine t in cui ogni occorrenza della
variabile x è sostituita con la variabile y. 1/24/2017Roberto Basili
69
Sostituzione e variabili libere
Nella formula contingente
y (x = y)
(per esempio vera per una interpretazione rispetto ad
insiemi con almeno due elementi distinti)
Il termine y non è liberamente sostituibile ad x poiché
x è nell’ambito di uno dei quantificatori di y.
Infatti sostituendo y al posto di x otterremmo una
formula evidentemente falsa
y (y = y)
1/24/2017Roberto Basili
70
Sostituzione e Quantificatori
Si ha che:
1. x j x j
2. x j x j
3. x j x j
4. x j x j
La 1 coincide con: (M, e) = x j sse (M, e) = x j
(M, e) = x j ci dice che per ogni dD si ha che j(d/x) è vera, e cioè che per ogni dD segue M= x j(d/x)
Quindi per nessun dD segue (M, e)= j(d/x)
Quindi (M, e) x j(d/x)
Quindi (M, e) = x j(d/x)
(il viceversa segue dal non aver mai usato alcuna ipotesi direzionale)
1/24/2017Roberto Basili
71
Alcune equivalenze utili
x y j y x j
x y j y x j
x j j se x var(j)
x j j se x var(j)
x (j y) x j x y
x (j y) x j x y
x (j y) x j y se x var(y )
x (j y) x j y se x var(y ))
??? x (j y) x j x y
1/24/2017Roberto Basili
72
Riflessione: perché logica
del primo ordine
Le variabili nel FOL possono essere usate per denotare
oggetti del dominio (i.e. membri di D), non per
rappresentare funzioni, predicati o formule.
Sebbene D possa contenere funzioni o predicati, i
nomi di tali funtori o predicati non possono essere usati
al posto di funzioni o predicati del linguaggio
f x f(x)=x (esistenza dell’identità)
f Identita(f)
p Buonaqualita(p) Ha(giorgio,p)
p Buonaqualita(p) p(giorgio)
1/24/2017Roberto Basili
73
Esercizi (1)
Determinare possibili formule valide tra le seguenti:
xH(x) (x G(x, f(y)) H(y))
x H(a) G(b) L(x,g(b,x))
x (P(x) Q(x)) x (P(x) Q(x))
x (P(x) P(x)) x (P(x) P(x))
x H(x) G(b) x L(x,b)
x (H(x) G(b) P(x,y)) x L(x,b)
x (H(x) G(b) P(x,y)) x L(x,b)
1/24/2017Roberto Basili
74
Esercizi (1)
Determinare possibili formule valide tra le seguenti:
xH(x) (x G(x, f(y)) H(y))
xH(x) x G(x, f(y)) H(y)
x H(x) x G(x, f(y)) H(y)
H x G(x, f(y)) H(y)
G x f(y) H y
x (H(x) H(x)) x (H(x) H(x))
x H(x) H(x)
H(x) H(x)
H(x) H x
H x
1/24/2017Roberto Basili
75
Esercizi (1.5)
Determinare possibili formule valide tra le seguenti:
x (H(x) H(x)) x (H(x) H(x))
x H(x) H(x)
H(x) H(x)
H(x) H x
H x
1/24/2017Roberto Basili
76
Esercizi (2)
Dimostrare le seguenti conseguenze logiche
x P(x) P(x)
x P(x) P(x) x P(x) P(x)
x P(x) Q(x) x P(x) Q(x)
1/24/2017Roberto Basili
77
Genealogie (2)
Scrivere in un linguaggio del primo ordine un insieme
di formule per la genealogia della pagina
precedente.
Progettare una interpretazione e il corrispondente
insieme di parametri che rendano il grafo di pagina
precedente un modello per le formule
Dimostrare per via semantica, che l’enunciato
«Crono è un avo di Apollo»
è una conseguenza logica delle formule scritte.
1/24/2017Roberto Basili
79
Riferimenti
[2] C.L. Chang and Lee R.C.T. Symbolic Logic and
Mechanical Theorem Proving. Academic Press, 1973. trad. it.
Tecniche Nuove.
[5] E. Mendelson. Introduction to Mathematical Logic. Van
Nostrand, 1964. Trad. it. Boringhieri.
Carlucci Aiello Luigia, Pirri Fiora, Strutture, logica, linguaggi,
2005, 336 p., Editore Pearson (collana Accademica).
McCarthy, J., and P. Hayes (1969). Some philosophical
problems from the standpoint of artificial intelligence. In B.
Meltzer and D. Michie, eds., Machine Intelligence 4,
Edinburgh University Press, Edinburgh, UK.
Nilsson, N. J. (1998). Artificial intelligence: A new synthesis,
Morgan Kaufmann, San Francisco, CA.
Anche: dispense M. Cialdea Mayer. Logica (Home page)
1/24/2017Roberto Basili
80