79
Logica dei Predicati: Breve introduzione alla Sintassi ed alla Semantica Corso di Basi di Dati e Sistemi Web-based, a.a. 2016-17 Roberto Basili (Università di Roma Tor Vergata) 1/24/2017 Roberto Basili 1

Logica dei Predicati - ART: Artificial Intelligence Researchai-nlp.info.uniroma2.it/...16_17/...CPred_Sinte_Semantica_v1.1.1.pdf · Logica dei Predicati: Breve introduzione alla Sintassi

  • 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

Ancora sulla sostituzione

Nel Calcolo Proposizionale visto a lezione:

1/24/2017Roberto Basili

30

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

Esercizio

1/24/2017Roberto Basili

35

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

1/24/2017Roberto Basili

78

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