Logica dei Predicati:
1
Semantica
Corso di Logica e Reti Logiche, a.a. 2014-15
Roberto Basili
(Università di Roma Tor Vergata)
Roberto Basili
4/22/2015
2
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
Roberto Basili
4/22/2015
3
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)).
Roberto Basili
4/24/2015
4
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))
Roberto Basili
4/22/2015
5
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}
Roberto Basili
4/22/2015
6
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
Unicità dello 0
Verificare le proprietà dei programmi
Fornire regole di deduzione a sistemi di ragionamento
Roberto Basili automatico
4/22/2015
7
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.
Roberto Basili
4/22/2015
9
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.
Roberto Basili
4/22/2015
10
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.
Roberto Basili
4/22/2015
11
Interpretazione delle variabili
E le variabili?
Si tratta di un’ulteriore funzione e(.) tale che:
per ogni variabile x, l’assegnamento e(x) è un
elemento di D.
Vedremo più avanti come la funzione e(.) ci permetta
di assegnare un significato ai quantificatori.
Roberto Basili
4/22/2015
12
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.
Roberto Basili
4/22/2015
13
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 consentono 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
Roberto Basili
4/22/2015
La soddisfacibilità di una formula j rispetto ad un modello
M ed un assegnamento e(.), si denota con
Uguaglianza
(M, e) = j
sintattica (in L)
e si definisce ricorsivamente:
(M, e) = j sse j = , (M, e) j sse j =
14
Semantica del FOL
Uguaglianza
semantica (i.e. in D)
(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
implica che (M, e) = y
(M, e) = j y (M, e) = j e (M, e) = y oppure
(M, e) j e (M, e) y
...
Roberto Basili
4/22/2015
15
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)
Roberto Basili
4/22/2015
16
Esempio
Sia:
j: x y P(y,x)
(1)
M1 - Mondo 1. D è l’insieme degli esseri umani e
l’interpretazione di P è «padre di».
La formula (*) ci appare vera, i.e. (M1,e) = j
M2 - Mondo 2. D è l’insieme dei numeri naturali e
l’interpretazione di P è «maggiore di» (<).
La formula (*) ci appare per altri motivi vera, i.e.
(M2,e) = j
Ogni Mondo costituisce una interpretazione diversa ed
indipendente.
Roberto Basili
4/22/2015
17
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.
Roberto Basili
4/22/2015
18
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 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)
Roberto Basili
4/22/2015
19
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().
Roberto Basili
4/22/2015
20
Modelli e formule
Se per ogni assegnazione 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
Roberto Basili
4/22/2015
21
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) ) )
Roberto Basili
4/22/2015
22
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
Roberto Basili
4/22/2015
23
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 sono
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 .
⋀
Roberto Basili
4/22/2015
24
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
Roberto Basili
4/22/2015
25
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
Roberto Basili
4/22/2015
26
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
Roberto Basili
4/24/2015
27
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 !!
Roberto Basili
4/22/2015
28
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
Roberto Basili
sse (M, e) = y
4/22/2015
Ancora sulla sostituzione
29
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.
Roberto Basili
4/22/2015
30
Sostituzione e variabili libere
Nella formula contingente
y (x = y)
(per esempio vera per una interpretazione verso
insiemi con più 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)
Roberto Basili
4/22/2015
Sostituzione e Quantificatori
31
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 ver mai usato alcuna ipotesi direzionale)
Roberto Basili
4/22/2015
32
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
Roberto Basili
4/22/2015
33
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)
Roberto Basili
4/22/2015
34
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)
Roberto Basili
4/22/2015
Esercizi (2)
Dimostrare le seguenti conseguenze logiche
x P(x) P(x)
35
x P(x) P(x) x P(x) P(x)
x P(x) Q(x) x P(x) Q(x)
Roberto Basili
4/22/2015
36
Genealogie
Roberto Basili
4/22/2015
37
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.
Roberto Basili
4/22/2015
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)
Roberto Basili
4/22/2015