LOGICA MATEMATICA E CONCETTUALIZZAZIONE -...

49
STEFANO FERILLI Monografia su LOGICA MATEMATICA E CONCETTUALIZZAZIONE Università degli Studi di Bari Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Corso di Ingegneria della Conoscenza e Sistemi Esperti

Transcript of LOGICA MATEMATICA E CONCETTUALIZZAZIONE -...

Page 1: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

STEFANO FERILLI

Monografia su

LOGICA MATEMATICA E

CONCETTUALIZZAZIONE

Università degli Studi di Bari Facoltà di Scienze Matematiche, Fisiche e Naturali

Corso di Laurea in Informatica

Corso di Ingegneria della Conoscenza e Sistemi Esperti

Page 2: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

2 2

LOGICA PROPOSIZIONALE

Lo scopo della logica, risalente ad Aristotele, è quello di descrivere il

ragionamento.

La logica matematica ha introdotto metodi formali per descrivere la

conoscenza e per ragionare rigorosamente con essa.

La logica proposizionale è un modello matematico che ci consente di

ragionare sulla verità e sulla falsità di espressioni logiche.

Definizione.

Una proposizione (o enunciato) è un'affermazione di cui si possa dire,

oggettivamente e con certezza, che è vera o falsa.

Esempio.

Sono proposizioni:

- Roma è la capitale d'Italia.

- Bari è una città dell'Inghilterra.

Non sono proposizioni:

- I dipinti di Picasso sono belli.

- Forse oggi verrò a trovarti.

Page 3: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

3 3

Sono ammessi, dunque, due soli valori di verità: Vero (V) e Falso (F).

Tesi di Frege.

Gli enunciati sono nomi.

e sono nomi di due entità, il Vero ed il Falso.

CONNETTIVI LOGICI

Le proposizioni possono essere composte fra di loro tramite connettivi

logici in modo da formare delle espressioni complesse, il cui valore di

verità può essere univocamente determinato a partire da quelli delle

proposizioni componenti.

Ogni connettivo logico è, quindi, una funzione che, ad ogni configurazione

di valori di verità delle proposizioni cui è applicata, associa un determinato

valore di verità. Tale funzione può essere schematizzata tramite una

tabella di verità, che riporta nelle prime colonne i valori di verità degli

argomenti, e nell'ultima i valori assunti dalla funzione in corrispondenza

degli argomenti sulla stessa riga.

Page 4: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

4 4

Per ragionare in generale, possiamo usare, invece che proposizioni ben

determinate, delle variabili proposizionali, che corrispondono a qualunque

proposizione (o espressione ammessa) che abbia un valore di verità. Esse

acquistano, di volta in volta, il valore di verità dell'oggetto al quale sono

associate.

Si è soliti associare al Vero il valore numerico 1, e al Falso 0.

Esempio.

Supponiamo di avere la variabile proposizionale P: se poniamo

P = "Roma è la capitale d'Italia."

essa assumerà il valore di verità Vero; se invece poniamo

P = "Bari è una città dell'Inghilterra."

essa assumerà il valore di verità Falso. Inoltre, è anche possibile associare a P

espressioni composte come:

P = "Roma è la capitale d'Italia e Bari è una città dell'Inghilterra."

che, ovviamente, è falsa.

I connettivi logici più usati, con le relative tabelle di verità, sono i

seguenti:

- negazione (NOT, ¬): la negazione di una proposizione è vera se la

proposizione è falsa, e viceversa.

- congiunzione (AND, ∧): la congiunzione di due proposizioni è vera

se e soltanto se entrambe sono vere.

Page 5: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

5 5

- disgiunzione (OR, ∨) la disgiunzione di due proposizioni è vera se

e soltanto se almeno una di esse è vera.

- implicazione (IF ... THEN..., ⇒): è vero che una proposizione ne

implica un'altra se (e soltanto se), ogniqualvolta è vera la prima, lo è

anche l'altra.

- equivalenza (... IF AND ONLY IF ..., ⇔): l'equivalenza di due

proposizioni è vera se e soltanto se hanno lo stesso valore di verità.

A B ¬ A A ∧∧∧∧ B A ∨∨∨∨ B A ⇒⇒⇒⇒ B A ⇔⇔⇔⇔ B

0 0 1 0 0 1 1

0 1 1 0 1 1 0

1 0 0 0 1 0 0

1 1 0 1 1 1 1

N.B.:

- La disgiunzione corrisponde al vel latino, e dunque è verificata anche se

entrambe le proposizioni sono vere; all'aut latino corrisponde un altro connettivo, XOR

(eXclusive OR).

- L'implicazione è leggermente diversa dal significato intuitivo e comune del

termine, ma è stata definita così perché, fra le funzioni disponibili, era la più simile al

concetto rappresentato. Per comprenderla, bisogna pensare che non corrisponde ad un

legame di causalità fra la premessa e la conseguenza, che possono anche essere

scorrelate.

Page 6: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

6 6

In teoria, possiamo avere 4 operatori monadici e 16 operatori diadici.

Alcuni di essi sono banali (quelli sempre veri o sempre falsi, o che

lasciano inalterato il valore della proposizione cui sono applicati); fra i

restanti, i più comunemente usati sono quelli visti in precedenza, in quanto

più intuitivi. Interessanti, comunque, sono anche i seguenti operatori

diadici:

- NAND (Not AND), che assume valori opposti a quelli della

congiunzione, applicata alle stesse proposizioni;

- NOR (Not OR), che assume valori opposti a quelli della

disgiunzione, applicata alle stesse proposizioni;

- XOR (eXclusive OR), che è vero se e soltanto se una sola delle due

proposizioni cui è applicato è vera.

A B A NAND B A NOR B A XOR B

0 0 1 1 0

0 1 1 0 1

1 0 1 0 1

1 1 0 0 0

Definizione.

Un insieme di connettivi è detto completo se tutti gli altri connettivi sono

esprimibili tramite una combinazione di questi.

Page 7: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

7 7

E' possibile dimostrare che negazione e disgiunzione costituiscono un

insieme completo.

In particolare:

A ∧ B = ¬ (¬ A ∨ ¬ B)

A ⇒ B = ¬ A ∨ B

A ⇔ B = (A ⇒ B) ∧ (B ⇒ A)

In realtà sia il solo NOR che il solo NAND sono completi.

ESPRESSIONI LOGICHE

Le espressioni ammesse dal linguaggio logico si dicono formule ben

formate (fbf), e sono così definite ricorsivamente:

- Una proposizione P è una fbf;

- Se P e Q sono fbf, allora anche (¬ P), (P ∧ Q), (P ∨ Q),

(P ⇒ Q) e (P ⇔ Q) sono fbf.

Il valore di un'espressione composta si ottiene, dato un assegnamento di

verità che associa un valore di verità ad ogni variabile che compare in

essa, valutando parzialmente i singoli connettivi logici, a partire da quelli

nelle parentesi più interne e proseguendo, man mano che i loro valori

divengono noti, verso quelle più esterne.

Page 8: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

8 8

Per alleggerire la notazione si introduce un ordine di priorità sui connettivi

logici, e precisamente (dalla più alta verso la più bassa):

¬ ∧ ∨ ⇒ ⇔

Esempio.

L'espressione logica

(((¬ A)∧ C) ⇔ (D ∨ (B ⇒ C)))

può essere scritta più semplicemente, senza alterarne il significato, come

¬ A∧ C ⇔ D ∨ (B ⇒ C)

Analogamente, ¬ A ∧ C ∨ B ∧ C

si interpreta come (((¬ A)∧ C) ∨ (B ∧ C))

Qualora si voglia intendere l'espressione in maniera differente da questa, le parentesi

sono necessarie per preservarne il significato.

Esempio.

Abbiamo detto in precedenza che è possibile esprimere qualunque connettivo logico in

termini di NOT e OR. In particolare, abbiamo visto in che modo ciò sia possibile per i

connettivi più comuni (congiunzione, implicazione ed equivalenza). Ma asserire quelle

uguaglianze significa affermare che le seguenti equivalenze valgono per qualunque

valore assunto da A e B:

(A ∧ B) ⇔ ¬ (¬ A ∨ ¬ B)

(A ⇒ B) ⇔ ¬ A ∨ B

(A ⇔ B) ⇔ (A ⇒ B) ∧ (B ⇒ A)

Page 9: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

9 9

Vogliamo ora dimostrarlo tramite la tecnica della valutazione parziale, costruendo via

via le relative tabelle di verità.

(A ∧∧∧∧ B) ⇔⇔⇔⇔ ¬ (¬ A ∨∨∨∨ ¬ B)

A B ¬ A ¬ B ¬ A ∨ ¬ B ¬ (¬ A ∨ ¬ B) A ∧ B (A ∧ B) ⇔ ¬ (¬ A ∨ ¬ B)

0 0 1 1 1 0 0 1

0 1 1 0 1 0 0 1

1 0 0 1 1 0 0 1

1 1 0 0 0 1 1 1

(A ⇒⇒⇒⇒ B) ⇔⇔⇔⇔ ¬ A ∨∨∨∨ B

A B ¬ A ¬ A ∨ B A ⇒ B (A ⇒ B) ⇔ ¬ (¬ A ∨ ¬ B)

0 0 1 1 1 1

0 1 1 1 1 1

1 0 0 0 0 1

1 1 0 1 1 1

(A ⇔⇔⇔⇔ B) ⇔⇔⇔⇔ (A ⇒⇒⇒⇒ B) ∧∧∧∧ (B ⇒⇒⇒⇒ A)

A B A⇒B B⇒A (A⇒B)∧(B⇒A) A⇔B (A⇔B) ⇔ (A⇒B)∧(B⇒A)

0 0 1 1 1 1 1

0 1 1 0 0 0 1

1 0 0 1 0 0 1

1 1 1 1 1 1 1

Page 10: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

10 10

TAUTOLOGIE

Definizione.

Una tautologia è un'espressione logica sempre vera, indipendentemente

dai valori di verità assunti dalle proposizioni componenti.

Una contraddizione è un'espressione logica sempre falsa,

indipendentemente dai valori di verità assunti dalle proposizioni

componenti.

Esempi.

Abbiamo già visto che le equivalenze

(A ∧ B) ⇔ ¬ (¬ A ∨ ¬ B)

(A ⇒ B) ⇔ ¬ A ∨ B

(A ⇔ B) ⇔ (A ⇒ B) ∧ (B ⇒ A)

sono sempre verificate per qualunque valore delle proposizioni componenti, e pertanto

sono delle tautologie.

Altre tautologie sono:

A ∨ ¬ A A ⇔ A

Viceversa, sono contraddizioni:

A ∧ ¬ A A ⇔ ¬ A

Infatti:

A ¬ A A ∨ ¬ A A ⇔ A A ∧ ¬ A A ⇔ ¬ A

0 1 1 1 0 0

1 0 1 1 0 0

Page 11: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

11 11

Le tautologie, specialmente quelle riguardanti equivalenze, sono

importanti in quanto, essendo sicuri che le due espressioni a destra e a

sinistra dell'equivalenza assumono gli stessi valori a parità dei valori delle

proposizioni componenti, potremo sempre sostituire l'una con l'altra in

qualunque espressione. Tale possibilità è nota col nome di sostituzione di

uguali per uguali.

Principio di sostituzione.

Una tautologia resta tale, qualunque sia la sostituzione che applichiamo

alle sue variabili.

In altre parole, una legge contenente variabili proposizionali resta valida

anche dopo aver sostituito un'espressione ad ogni variabile, qualunque sia

l'espressione.

Naturalmente, a tutte le occorrenze di una stessa variabile dovremo

sostituire la stessa espressione.

LEGGI ALGEBRICHE

Esistono alcune tautologie esprimenti proprietà che risultano molto utili

nella manipolazione di espressioni logiche.

Page 12: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

12 12

Confronto con l'aritmetica.

E' possibile stabilire un parallelo fra gli operatori logici ∨, ∧, ¬ e gli

operatori aritmetici +, ×, – (segno) rispettivamente, in base alle seguenti

proprietà:

1. (P ∧ Q) ⇔ (Q ∧ P) Commutatività di ∧

2. P ∧ (Q ∧ R) ⇔ (P ∧ Q) ∧ R Associatività di ∧

3. (P ∨ Q) ⇔ (Q ∨ P) Commutatività di ∨

4. P ∨ (Q ∨ R) ⇔ (P ∨ Q) ∨ R Associatività di ∨

5. P ∧ (Q ∨ R) ⇔ (P ∧ Q) ∨ (P ∧ R) Distributività di ∧ su ∨

6. P ∧ Vero ⇔ P Elemento neutro di ∧

7. P ∨ Falso ⇔ P Elemento neutro di ∨

8. P ∧ Falso ⇔ Falso Elemento nullo di ∧

9. ¬ ¬ P ⇔ P Eliminazione delle doppie negazioni

Viceversa, ci sono proprietà che differenziano gli operatori logici ∨,

∧ dagli operatori aritmetici +, × rispettivamente:

10. P ∨ (Q ∧ R) ⇔ (P ∨ Q) ∧ (P ∨ R) Distributività di ∨ su ∧

11. P ∨ Vero ⇔ Vero Elemento nullo di ∨

12. P ∧ P ⇔ P Idempotenza di ∧

13. P ∨ P ⇔ P Idempotenza di ∨

14. P ∨ (P ∧ Q) ⇔ P

P ∧ (P ∨ Q) ⇔ P Sussunzione

Page 13: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

13 13

15. P ∧ (¬ P ∨ Q) ⇔ P ∧ Q

P ∨ (¬ P ∧ Q) ⇔ P ∨ Q Eliminazione di alcune negazioni

Leggi di DeMorgan.

1. ¬ (P ∧ Q) ⇔ ¬ P ∨ ¬ Q

2. ¬ (P ∨ Q) ⇔ ¬ P ∧ ¬ Q 3. ¬ (P1 ∧ P2 ∧ ... ∧ Pk) ⇔ ¬ P1 ∨ ¬ P2 ∨ ... ∨ ¬ Pk 4. ¬ (P1 ∨ P2 ∨ ... ∨ Pk) ⇔ ¬ P1 ∧ ¬ P2 ∧ ... ∧ ¬ Pk

Principio di dualità.

Una tautologia in cui compaiano solo i connettivi di congiunzione e

disgiunzione resta tale scambiando fra loro tali connettivi.

Leggi dell'equivalenza.

1. P ⇔ P Riflessività

2. (P ⇔ Q) ⇔ (Q ⇔ P) Commutatività

3. ((P ⇔ Q) ∧ (Q ⇔ R)) ⇒ (P ⇔ R) Transitività

4. (P ⇔ Q) ⇔ (¬ P ⇔ ¬ Q) Equivalenza dei negati

Leggi dell'implicazione.

1. ((P ⇒ Q) ∧ (Q ⇒ P)) ⇔ (P ⇔ Q)

2. (P ⇔ Q) ⇒ (P ⇒ Q)

3. ((P ⇒ Q) ∧ (Q ⇒ R)) ⇒ (P ⇒ R) Transitività

4. (P ⇒ Q) ⇔ (¬ P ∨ Q) (P1 ∧ P2 ∧ ... ∧ Pn ⇒ Q) ⇔ (¬ P1 ∨ ¬ P2 ∨ ... ∨ ¬ Pn ∨ Q)

Page 14: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

14 14

Osservazioni.

- Le proprietà associativa e commutativa di ∧ e ∨ ci consentono di

esprimere qualunque gruppo di congiunzioni (rispettivamente, di

disgiunzioni), comunque nidificate, come semplice sequenza di

congiunzioni (rispettivamente, di disgiunzioni) priva di parentesi

intermedie e valutabile in un ordine qualsiasi.

- Il parallelo con l'aritmetica fa sì che la congiunzione venga anche

detta prodotto logico, e la disgiunzione somma logica.

- Le proprietà che, nel parallelo, differivano da quelle dell'aritmetica

sono, in pratica, quelle mancanti all'operatore ∨ rispetto a ∧, per cui sono

necessarie alla validità del principio di dualità.

- Nella sussunzione, sostituendo le variabili enunciative della prima

proprietà con dei prodotti di letterali, se ne deduce che in una somma di

prodotti possiamo eliminare ogni prodotto i cui letterali includono quelli

di un altro prodotto. Simmetricamente, sostituendo le variabili della

seconda proprietà con delle somme di letterali, si conclude che in un

prodotto di somme è possibile eliminare una somma che include i letterali

di un'altra. Questo perché i letterali superflui non potrebbero comunque

variare il valore di verità assunto dall'espressione.

Page 15: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

15 15

METODI DI DIMOSTRAZIONE

La logica degli enunciati consente di verificare formalmente e

rigorosamente che i metodi di dimostrazione (usati, ad esempio, in

matematica) siano corretti, per cui applicando quei determinati meccanismi

di ragionamento alle ipotesi date siamo sicuri di trarre delle conclusioni

vere.

Il meccanismo che consente di "ragionare" con formule logiche è detto

calcolo.

Definizione.

Siano dati un insieme di espressioni vere, dette ipotesi, ed un insieme di

tautologie basate sull'implicazione (o sull'equivalenza), dette regole di

inferenza. Una dimostrazione è una sequenza di formule, ognuno dei cui

elementi è una tautologia, un'ipotesi o una formula derivata da due

elementi precedenti della sequenza tramite una delle regole di inferenza.

Una formula è dimostrata a partire da un insieme di ipotesi (tramite le

regole di inferenza a disposizione) se è possibile costruire, a partire da

esse, una dimostrazione che contiene quella formula.

Tale procedimento si rende necessario a causa dell'impossibilità, anche per

formule contenenti poche proposizioni, di costruire la relativa tavola di

Page 16: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

16 16

verità, a causa dell'alto numero di combinazioni di valori da tenere

presente.

Alcuni importanti metodi di dimostrazione, con le relative tautologie su

cui si basano, sono i seguenti.

Analisi per casi.

Se è possibile dedurre una conclusione tanto da una proposizione quanto

dalla sua negazione, allora la conclusione è sempre vera:

(P ⇒ Q) ∧ (¬ P ⇒ Q) ⇔ Q

E' una generalizzazione della

Legge del terzo escluso: P ∨ ¬ P ⇔ Vero

(per cui una proposizione è vera o falsa, senza altra possibilità), tenendo

presente che non possono essere vere contemporaneamente una

proposizione ed il suo contrario:

P ∧ ¬ P ⇔ Falso

Dimostrazione della contrapposizione.

Sapendo che una proposizione è vera solo se è vera un'altra, deduciamo

che se non è vera non lo è neppure l'altra. Viene espressa formalmente

dalla seguente tautologia:

(P ⇒ Q) ⇔ (¬ Q ⇒ ¬ P)

Page 17: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

17 17

Dimostrazione per assurdo.

E' basata sulla seguente tautologia:

(¬ P ⇒ Falso) ⇔ P

per cui, se da una proposizione possiamo dedurre il falso (cioè una

contraddizione), deve necessariamente essere vero il suo contrario.

Riduzione a Vero.

Si fonda sul fatto che un'espressione è una tautologia, che dunque si può

trasformare in Vero tramite sostituzione di uguali per uguali.

Formalmente:

(P ⇔ Vero) ⇔ P

LIMITI DELLA LOGICA PROPOSIZIONALE

Nonostante il Calcolo delle Proposizioni sia un utile strumento per

ragionare sulla verità o falsità di affermazioni e deduzioni, il suo limite

risiede nel fatto che considera monoliticamente ogni enunciato in base al

suo valore di verità.

In altre parole, non potendo guardare "dentro" alle proposizioni, non è in

grado di cogliere relazioni fra enunciati diversi, che potrebbero aiutare nel

ragionamento su di essi.

Page 18: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

18 18

Esempio.

Date le proposizioni:

Roma è in Italia

Milano è in Italia

Torino è in Italia

Napoli è in Italia

sappiamo che sono tutte vere, ma non siamo in grado di cogliere il nesso che lega le

quattro città, ossia il fatto di trovarsi nella stessa nazione, l'Italia.

Questo limite della logica proposizionale viene superato dalla Logica dei

Predicati, una sua estensione così detta per il fatto che "predica", ossia dice

qualcosa di uno o più oggetti.

Nell'esempio precedente, possiamo isolare gli oggetti di cui si parla, ed ottenere così le

frasi generali:

... è in Italia.

oppure:

Roma è in ....

o anche:

... è in ....

da cui, sostituendo gli spazi rimasti vuoti con degli oggetti, otterremo di volta in volta

vari enunciati il cui valore di verità dipende dalla sostituzione eseguita.

Page 19: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

19 19

LOGICA DEI PREDICATI

Definizione.

Un predicato è una proposizione dalla quale siano stati eliminati uno o più

oggetti.

Ciascuno di essi verrà sostituito da una variabile, alla quale potrà essere, di

volta in volta, assegnato un valore fra quelli di un insieme ad essa

associato, detto il suo dominio.

Simmetricamente, associare specifici oggetti a tutte le variabili che compaiono in un

predicato lo trasformano in una proposizione.

Invece che assegnare direttamente ad una variabile un valore del suo

dominio, è possibile farlo dipendere da quello di altri oggetti, anche

appartenenti a domini differenti, tramite l'uso di funzioni, che a partire da

un certo insieme di valori appartenenti a determinati domini individuano

univocamente un certo valore di un dominio prefissato.

Il numero di variabili che compaiono in un predicato o in una funzione si

dice la sua arietà. Un predicato (o funzione) di arietà n si dice n-ario.

Un termine è una variabile, una costante o una funzione con i suoi

argomenti (che, a loro volta, sono anch’essi dei termini).

Page 20: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

20 20

Esempio.

... è in ... = x è in y

è un predicato binario (le cui variabili hanno per domini, rispettivamente, l'insieme delle

città e quello delle nazioni), che possiamo rappresentare come P(x,y).

Esso, ad esempio, sarà vero per

x = Roma, y = Italia: Roma è in Italia

e falso per

x = Bari, y = Inghilterra: Bari è in Inghilterra.

Sarebbe stato possibile usare una funzione unaria del tipo:

Il capoluogo di ... = Il capoluogo di z = f(z)

che, a partire da un oggetto appartenente all'insieme delle regioni in cui le varie nazioni

sono suddivise, restituisce il nome del suo capoluogo. In tal caso, il predicato sarebbe

stato:

La capitale di z è in y = P(f(z), y).

ESPRESSIONI

Una proposizione può, dunque, essere vista come un predicato con zero

argomenti.

Definizione.

Un atomo è un predicato con zero o più argomenti.

Page 21: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

21 21

Nella logica dei predicati, questo concetto corrisponde a quello che era la

"variabile proposizionale" nella logica degli enunciati.

A partire dai predicati, è possibile costruire espressioni complesse tramite

le stesse procedure e gli stessi connettivi logici usati nella logica

proposizionale.

Un letterale è un atomo o la sua negazione.

Un atomo, un letterale o, in generale, un'espressione si dice di base (o

ground)se è priva di variabili (ossia tutti i suoi argomenti sono costanti).

Esempio.

padre_di(X, Stefano) è un atomo (e quindi anche un letterale ed un'espressione).

¬ nero(Y) è un letterale (e quindi anche un'espressione).

bianco(X) ∨ colorato(X) è un'espressione.

padre_di(Carlo, Stefano) è un atomo ground.

¬ nero(neve) è un letterale ground.

bianco(vestito) ∨ colorato(vestito) è un'espressione ground.

Page 22: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

22 22

QUANTIFICATORI

Dato un predicato, per potergli associare un valore di verità, dobbiamo

trasformarlo in una proposizione, assegnando ad ognuna delle variabili che

in esso compaiono un valore appartenente al relativo dominio.

Spesso, nei ragionamenti reali, non si parla di uno specifico oggetto, ma si

fanno affermazioni generali contenenti le locuzioni "Per ogni oggetto ..." e

"Esiste un oggetto ...".

Per comodità sono stati introdotti due simboli corrispondenti a tali

locuzioni, detti quantificatori:

• il quantificatore esistenziale (∃), equivalente a "Esiste un", ed

• il quantificatore universale (∀), equivalente a "Per ogni".

Una variabile quantificata si dice vincolata, ed è come se le fosse stato

assegnato uno specifico valore (in caso contrario è detta libera). Allora,

per poter assegnare un valore di verità ad un predicato bisogna che a

ciascuna delle sue variabili sia assegnato un valore ben preciso del relativo

dominio oppure che le sia associato un quantificatore.

Un'espressione priva di variabili libere è detta chiusa.

Esempio.

Supponiamo di voler asserire che il cubo di qualunque numero positivo è positivo.

Definiamo la funzione

cubo(x), che ad ogni numero reale associa il suo cubo,

Page 23: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

23 23

ed il predicato

P(y,z) = Se y è maggiore di zero, allora anche z è maggiore di zero.

dove y e z hanno per dominio i numeri reali.

Allora l'affermazione iniziale può essere scritta come

∀x P(x,cubo(x)).

che è sicuramente vera.

Si pensi alla necessità, qualora non esistessero i quantificatori, di ripetere questa stessa

affermazione per ciascun numero reale.

Tecnicamente, il quantificatore universale corrisponde alla congiunzione

di tutti i predicati ottenibili sostituendo alla variabile quantificata ogni

possibile valore del suo dominio; il quantificatore esistenziale corrisponde

alla disgiunzione di tutti i predicati ottenibili sostituendo alla variabile

quantificata ogni possibile valore del suo dominio.

Esempio.

Consideriamo il predicato P(x), dove il dominio di x è {a1, ..., an}. Allora:

(∀x) P(x) ⇔ P(a1) ∧ ... ∧ P(an)

(∃x) P(x) ⇔ P(a1) ∨ ... ∨ P(an)

Ciò significa, in pratica, che anch'essi sono degli operatori, per cui se E è

un'espressione valida della logica dei predicati, anche (∀x) E e (∃x) E lo

sono.

Page 24: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

24 24

Si assume che la loro precedenza sia massima fra tutti gli altri.

Ciascuno dei due quantificatori è esprimibile tramite l'altro.

E' infatti facile verificare, anche intuitivamente, che

(∀x) P(x) ⇔ ¬ (∃x) (¬ P(x))

ossia se una proprietà è verificata da qualunque valore del dominio ciò

significa che non esiste un valore del dominio che non la verifica, e che

(∃x) (P(x)) ⇔ ¬ (∀x) (¬ P(x))

ossia se esiste un valore del dominio che verifica una proprietà ciò

significa che non tutti i valori del dominio non la verificano.

La dimostrazione rigorosa si ottiene sfruttando le leggi di DeMorgan, e tenendo

presente che esse valgono anche per congiunzioni o disgiunzioni infinite.

La vista di un quantificatore, ossia la porzione di espressione sulle cui

variabili esso agisce, è quella che lo segue immediatamente.

Esempio.

Nell'espressione

∀x (P(x) ∧ Q(a) ∨ (∃y (P(y) ∧ R(x))))

la vista di "∀" è (P(x) ∧ Q(a) ∨ (∃y (P(y) ∧ R(x)))), quella di "∃" è (P(y) ∧ R(x)).

Page 25: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

25 25

Se in tale sottoespressione è presente un altro quantificatore applicato alla

stessa variabile, esso ha precedenza su quello esterno. In altre parole, una

variabile che sia nella vista di più quantificatori si intende legata a quello

più interno.

Esempio.

Nell'espressione

∀x (P(x) ∧ Q(a) ∨ (∃x (P(b) ∧ R(x))))

la variabile in R(x) si intende associata ad "∃", ed è diversa da quella in P(x), che invece

è quantificata dal "∀".

Tale situazione può essere evitata assegnando a ciascun quantificatore una

variabile diversa da tutte le altre, operazione che va sotto il nome di

rettifica.

Esempio.

L'espressione dell'esempio precedente, rettificata, diventa

∀x (P(x) ∧ Q(a) ∨ (∃z (P(b) ∧ R(z)))).

Consideriamo la seguente fbf:

∀y [∃x P(x,y)]

“Per ogni y esiste un x, possibilmente dipendente da y, tale che P(x,y)”. Il

fatto che la variabile x possa dipendere da y può essere espresso

Page 26: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

26 26

esplicitamente da una funzione che pone in corrispondenza la seconda con

la prima, il che consente di eliminare il quantificatore esistenziale. In altre

parole, tale funzione, detta di Skolem, resitituisce, data una y, quella x

(che, pur non essendo nota, il quantificatore esistenziale ci assicura

esistere per ogni y) per cui valeva la formula data. Nel caso proposto, se

chiamiamo g() la funzione di Skolem, si ottiene:

∀y P(g(y),y)

In generale, per eliminare un quantificatore esistenziale da una fbf si

rimpiazza ogni occorrenza della sua variabile quantificata con una

funzione di Skolem i cui argomenti sono tutte le variabili vincolate da

quantificatori universali i cui raggi d’azione includono il raggio d’azione

del quantificatore esistenziale che si vuole eliminare. I simboli di funzione

usati per le funzioni di Skolem devono ovviamente essere nuovi, ossia non

già presenti nella fbf.

Esempio.

[∀w Q(w)] ⇒ ∀x {∀y {∃z [P(x,y,z) ⇒ ∀u R(x,y,u,z)]}}

diventa, introducendo la funzione di Skolem g() per z,

[∀w Q(w)] ⇒ ∀x ∀y [P(x,y,g(x,y)) ⇒ ∀u R(x,y,u,g(x,y))]

Page 27: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

27 27

Se il quantificatore esistenziale che si desidera eliminare non cade

all’interno del raggio d’azione di nessun quantificatore universale, si deve

usare una funzione di Skolem senza argomenti, ovvero una costante.

Esempio.

∃x P(x) diventa P(a) dove a è un nuovo simbolo di costante.

LOGICA IN FORMA DI CLAUSOLE

Definizione.

Una clausola è una disgiunzione di letterali, le cui variabili si suppongono

quantificate universalmente.

Essa si può rappresentare come espressione logica:

A1 ∨ A2 ∨ ... ∨ An ∨ ¬ B1 ∨ ¬ B2 ∨ ... ∨ ¬ Bm

oppure come insieme di letterali (sottintendendo che sono posti in disgiunzione fra

loro):

{A1, A2, ..., An, ¬ B1, ¬ B2, ..., ¬ Bm}

oppure sotto forma di regola di inferenza:

A1, A2, ..., An :- B1, B2, ..., Bm

che si interpreta "Se sono verificati tutti i Bj, allora è verificato almeno uno degli Ai":

B1 ∧ B2 ∧ ... ∧ Bm ⇒ A1 ∨ A2 ∨ ... ∨ An

Page 28: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

28 28

I Bj si dicono corpo (o premesse) e gli Ai testa (o conseguenze).

Una clausola si dice di Horn se ha un solo letterale nella testa.

Esiste un procedimento tramite il quale qualunque fbf della logica dei

predicati può essere trasformata in un insieme di clausole considerate in

congiunzione fra loro (abbiamo infatti visto che i due operatori NOT e OR,

che sono gli unici ad apparire nelle clausole, sono completi), per cui i due

linguaggi sono totalmente equivalenti.

Esempio. ∀x {P(x) ⇒ {∀y [P(y) ⇒ P(f(x,y))] ∧ ¬∀y [Q(x,y) ⇒ P(y)]}}

1. Eliminare il simbolo di implicazione, sostituendo p⇒⇒⇒⇒q con ¬¬¬¬p∨∨∨∨q in

tutte le occorrenze di ⇒ all’interno della fbf (assumendo che

eventuali equivalenze siano già state trasformate in doppie

implicazioni):

∀x {¬P(x) ∨ {∀y [¬P(y) ∨ P(f(x,y))] ∧ ¬∀y [¬Q(x,y) ∨ P(y)]}}

2. Ridurre il raggio di azione del ¬, in modo tale che il simbolo di

negazione si applichi al più ad una formula atomica, facendo uso

delle leggi di eliminazione delle doppie negazioni, di DeMorgan e

di trasformazione dei quantificatori:

∀x {¬P(x) ∨ {∀y [¬P(y) ∨ P(f(x,y))] ∧ ∃y [Q(x,y) ∧ ¬P(y)]}}

Page 29: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

29 29

3. Rettificare le variabili, rimpiazzando uniformemente ciascuna

variabile quantificata con un’altra nuova (che non occorra

nell’espressione) lungo tutto il raggio d’azione del quantificatore, il

che non modifica il valore di verità dell’espressione stessa, in modo

tale che ogni quantificatore abbia la propria variabile fittizia:

∀x {¬P(x) ∨ {∀y [¬P(y) ∨ P(f(x,y))] ∧ ∃w [Q(x,w) ∧ ¬P(w)]}}

4. Eliminare i quantificatori esistenziali, creando per ciascuno

un’apposita funzione di Skolem e sostituendo tutte le occorrenze di

variabili quantificate esistenzialmente con la relativa funzione:

∀x {¬P(x) ∨ {∀y [¬P(y) ∨ P(f(x,y))] ∧ [Q(x,g(x)) ∧ ¬P(g(x))]}}

dove g(x) è una funzione di Skolem

5. Convertire la formula in forma prenessa, spostando tutti i

quantificatori in testa alla formula, mantenendo il loro ordine

relativo. Ciò è possibile perché, avendo rettificato le variabili, non

vi è conflitto fra i loro nomi. La fbf risultante si dice in forma

prenessa, e consiste di una serie di quantificatori, detta prefisso,

seguita da una formula priva di quantificatori, detta matrice.

∀x ∀y {¬P(x) ∨ {[¬P(y) ∨ P(f(x,y))] ∧ [Q(x,g(x)) ∧ ¬P(g(x))]}}

6. Mettere la matrice in forma normale congiuntiva, ossia riscriverla

come congiunzione di un insieme finito di disgiunzioni di letterali.

Ciò è sempre possibile, facendo uso della proprietà distributiva:

∀x ∀y {[¬P(x) ∨ ¬P(y) ∨ P(f(x,y))] ∧ [¬P(x) ∨ Q(x,g(x))] ∧ [¬P(x) ∨ ¬P(g(x))]}

Page 30: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

30 30

7. Eliminare i quantificatori universali. Ciò è possibile in quanto tutte

le variabili argomentali che usiamo nelle fbf devono essere

vincolate, ed i quantificatori esistenziali sono stati eliminati, per cui

tutte le variabili rimanenti a questo punto sono quantificate

universalmente; inoltre, l’ordine delle quantificazioni non è

importante (per la proprietà commutativa) e la formula è rettificata.

[¬P(x) ∨ ¬P(y) ∨ P(f(x,y))] ∧ [¬P(x) ∨ Q(x,g(x))] ∧ [¬P(x) ∨ ¬P(g(x))]

8. Eliminare i simboli ∧ espliciti, rimpiazzando le espressioni della

forma p∧∧∧∧q con l’insieme di clausole {p,q}.

{[¬P(x) ∨ ¬P(y) ∨ P(f(x,y))], [¬P(x) ∨ Q(x,g(x))], [¬P(x) ∨ ¬P(g(x))]}

9. Ridenominare le variabili in modo tale che nessun simbolo di

variabile appaia in più di una clausola. Ciò è possibile dal momento

che ∀x [P(x) ∧ Q(x)] è equivalente a ∀x P(x) ∧ ∀y Q(y).

{[¬P(x1) ∨ ¬P(y) ∨ P(f(x1,y))], [¬P(x2) ∨ Q(x2,g(x2))], [¬P(x3) ∨ ¬P(g(x3))]}

INTERPRETAZIONI

Si è detto che per poter associare ad un predicato un valore di verità

bisogna aver prima vincolato tutte le sue variabili (tramite quantificatori o

costanti del relativo dominio), in quanto a seconda di tali assegnamenti

essi possono essere veri o falsi (in pratica, bisogna sapere di chi si sta

parlando).

Page 31: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

31 31

Definizione.

Una interpretazione di un predicato P con n argomenti è una funzione che

per ogni possibile combinazione di valori assunta dagli argomenti

(ciascuno nel proprio dominio) assegna al predicato il valore Vero oppure

Falso.

Essa è l'equivalente dell'assegnazione di verità nel calcolo degli enunciati, solo che qui,

come detto, dipende dagli oggetti cui l'affermazione si riferisce.

Esempio.

Consideriamo il generico predicato P(x,y), dove i domini di x ed y sono,

rispettivamente, {0, 1, 2} e {a, b}. Allora una possibile interpretazione sarebbe:

x y P(x,y)

0 a Vero

0 b Vero

1 a Vero

1 b Falso

2 a Vero

2 b Falso

In realtà, per definire un'interpretazione basta elencare le combinazioni di valori per cui

il predicato è vero, sottintendendo automaticamente che tutte le altre combinazioni lo

rendono falso. Nell'esempio precedente, avremmo:

Page 32: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

32 32

{(0,a), (0,b), (1,a), (2,a)}.

Le espressioni si interpretano con una valutazione identica a quella della

logica proposizionale, una volta che siano definite le interpretazioni dei

singoli predicati che in esse compaiono (e dunque i valori di verità che essi

assumono).

Tramite le interpretazioni possiamo ragionare anche sulla coerenza di

intere teorie (ossia insiemi di espressioni).

Un insieme di espressioni si dice soddisfacibile se esiste almeno

un'interpretazione che le rende tutte vere contemporaneamente, altrimenti

si dice insoddisfacibile.

Un'interpretazione che rende vero un insieme di formule si dice modello

per quell'insieme.

Un insieme di formule è valido se qualunque interpretazione è un modello

per essa, ossia rende vere tutte le espressioni in essa presenti.

Page 33: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

33 33

TAUTOLOGIE

Definizione.

Un'espressione della logica dei predicati è una tautologia se risulta vera

per ogni sua possibile interpretazione.

per cui è una definizione totalmente simmetrica a quella della logica proposizionale.

A tal fine, le eventuali variabili libere vanno interpretate come se fossero

quantificate universalmente.

Tutte le tautologie della logica proposizionale rimangono valide anche sui

predicati, proprio perché, una volta interpretati, anch'essi diventano

proposizioni.

Infatti, il Principio di sostituzione resta valido in quanto, per ogni

interpretazione, il predicato assume un valore di verità indipendente dalla

posizione in cui esso si trova all'interno dell'espressione, che pertanto

resterà uguale in tutte le sue occorrenze.

In particolare, è ancora possibile usare il Principio di sostituzione di

uguali per uguali, sostituendo a qualunque sottoespressione un'espressione

che sappiamo, tramite una tautologia, essere ad essa equivalente.

Page 34: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

34 34

Poiché i quantificatori sono, in pratica, nuovi operatori introdotti nella

logica dei predicati rispetto a quella proposizionale, esistono delle

tautologie che li riguardano non riscontrabili in quest'ultima.

Siano E ed F due espressioni:

1. (∀x) E ⇔ (∀y) E' (∃x) E ⇔ (∃y) E'

dove E' è ottenuta da E sostituendo y a tutte le occorrenze di x legate dal

quantificatore rappresentato.

2. ¬ ((∀x) E) ⇔ (∃x) (¬ E) ¬ ((∃x) E) ⇔ (∀x) (¬ E)

3. (E ∧ (∀x) F) ⇔ (∀x) (E ∧ F) (E ∧ (∃x) F) ⇔ (∃x) (E ∧ F)

4. (E ∨ (∀x) F) ⇔ (∀x) (E ∨ F) (E ∨ (∃x) F) ⇔ (∃x) (E ∨ F)

5. (∀x) (∀y) E ⇔ (∀y) (∀x) E (∃x) (∃y) E ⇔ (∃y) (∃x) F

Questo insieme di proprietà consente di esprimere qualunque formula in modo tale che

tutti i quantificatori si trovino all'inizio, e che il loro effetto sia indipendente dall'ordine

in cui appaiono.

Ciò è fondamentale per poter trasformare le espressioni in forma di clausole.

Dalla 2, in particolare, negando ambo i membri dell'equivalenza si ottengono le formule

viste in precedenza, che consentivano di esprimere ogni quantificatore tramite l'altro.

Page 35: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

35 35

Tutte queste tautologie si dimostrano con le leggi di DeMorgan.

DIMOSTRAZIONI

Come nella logica proposizionale, dato un insieme di espressioni supposte

vere (dette assiomi) e un insieme di regole di inferenza, una dimostrazione

è una sequenza di espressioni ognuna delle quali sia un assioma, una

tautologia o sia derivabile dalle espressioni che la precedono nella

sequenza tramite una regola di inferenza.

In più, nella logica dei predicati esiste la

Legge di sostituzione di variabile.

Si può inserire nella sequenza di dimostrazione un'espressione ottenuta

sostituendo in un'espressione precedente della sequenza tutte le occorrenze

di una variabile libera con un'altra variabile o una costante.

Più formalmente, data una funzione sost che associa ad ogni variabile

libera di un'espressione E una costante del suo dominio oppure una

variabile (che può anche essere la variabile stessa), vale la seguente regola

di inferenza:

E ⇒ sost(E).

Page 36: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

36 36

Esempio.

Se l'espressione

P(x,y) ∨ (∃z) Q(x,z)

appartiene alla sequenza di dimostrazione, allora anche l'espressione

P(a,b) ∨ (∃z) Q(a,z)

può essere inserita nella sequenza.

Ricordiamo che, supponendo di trattare espressioni chiuse, la formula iniziale si intende

preceduta dai quantificatori (∀x) (∀y).

Un particolare tipo di dimostrazione è quello le cui ipotesi sono di una

delle seguenti due forme:

• fatti, cioè atomi ground;

• regole, cioè espressioni di tipo implicazione (Se ... allora ...).

In sostanza, i fatti rappresentano delle affermazioni riguardanti gli oggetti

del mondo, che sappiamo essere vere; le regole rappresentano principi

generali che possono essere applicati ai fatti noti per dedurne altri fatti

veri.

Se tutte le premesse di una regola sono vere (per ipotesi o per essere state a

loro volta dimostrate) è possibile dedurre la sua conseguenza, e aggiungere

quel fatto alla sequenza di dimostrazione.

Page 37: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

37 37

RISOLUZIONE

Una regola di inferenza molto nota è la risoluzione, che opera solo su

formule in forma di clausole e la cui forma generale è la seguente:

(P1∨P2∨...∨Pn) ∧ (¬ P1∨Q2∨...∨Qm) ⇒ (P2∨...∨Pn∨Q2∨...∨Qm)

dove i Pi e Qj sono tutti letterali distinti e le clausole sono supposte

ground.

Le premesse sono dette genitori, la conseguenza risolvente, P1 e ¬ P1

letterali risolti.

Quando si usa la risoluzione, l’insieme di fbf dalle quali si vuole provare

una data fbf deve essere convertito in clausole. Si può dimostrare che se

una fbf segue logicamente da un insieme di fbf, allora essa segue

logicamente anche dall’insieme di clausole ottenute convertendo le fbf

dell’insieme in forma di clausole.

La risoluzione racchiude in sé diverse altre regole di inferenza, come ad

esempio il modus ponens.

Esempio.

Supponiamo di avere le ipotesi {P, ¬ P ∨ Q, ¬ Q ∨ R}.

Page 38: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

38 38

Da esse si può dimostrare R:

1. P perché è un'ipotesi

2. ¬ P ∨ Q perché è un'ipotesi

3. ¬ Q ∨ R perché è un'ipotesi

4. Q per risoluzione di 1 e 2

5. ¬ P ∨ R per risoluzione di 2 e 3

6. R per risoluzione di 1 e 5 o di 3 e 4

Definizione.

Una clausola senza né testa né corpo si dice clausola vuota, si indica con

e rappresenta una contraddizione (in quanto, non contenendo alcun

letterale, non può essere mai verificata).

Si può dimostrare che se da un insieme di ipotesi è possibile ottenere la

clausola vuota tramite risoluzione, allora tale insieme di ipotesi è

incoerente.

Questo è utile quando conosciamo già in anticipo l'affermazione che vogliamo

dimostrare, per cui, invece che partire dalle ipotesi e andare avanti a tentativi nella

speranza di dimostrarla, possiamo procedere in maniera più mirata, sfruttando il

seguente procedimento.

Page 39: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

39 39

Dimostrazione per refutazione.

• Si assume che la negazione della tesi è vera;

• Si mostra che tale negazione, insieme alle ipotesi, porta ad affermare

come vera qualcosa che non può esserlo (dimostrando la clausola

vuota, che indica una contraddizione);

• Si conclude che il teorema è vero.

La risoluzione, agendo solo su clausole ground, è stata in sostanza definita per il calcolo

degli enunciati. Nel calcolo dei predicati la presenza di variabili non ci consente di

capire immediatamente se due atomi sono complementari, per cui bisogna estendere la

nozione fin qui appresa a trattare anche questo caso.

Per estendere il principio di risoluzione alla logica dei predicati possiamo

sfruttare la Legge di sostituzione di variabile:

supponendo che le due formule cui applicare la risoluzione siano rettificate

(non abbiano, cioè, variabili in comune), si cerca una sostituzione che

renda complementari un letterale della prima espressione con uno della

seconda (che prende il nome di unificatore dei due letterali), la si applica

ad entrambe le espressioni e si risolvono in maniera analoga alla

precedente le due formule così ottenute.

Le sostituzioni possono essere composte, ossia applicate in sequenza ad un'espressione.

Page 40: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

40 40

Un unificatore si dirà più generale di un altro se il risultato dell'applicazione di

quest'ultimo si può ottenere dall'applicazione del primo seguita dall'applicazione di

un'altra sostituzione.

Allora, per i nostri scopi siamo interessati, fra tutti i possibili unificatori, solo a quello

più generale.

Esempio.

Supponiamo che le ipotesi a disposizione siano costituite dalle seguenti regole:

1. computer(x) :- parte(x,y), tastiera(y), parte(x,z), stampante(z).

2. stampante(w) :- ha_testina(w).

e dai seguenti fatti:

3. parte(a,b).

4. parte(a,c).

5. ha_testina(c).

6. tastiera(b).

Vogliamo dimostrare che l'oggetto a in questione è un computer. Tramite il

meccanismo di dimostrazione per refutazione, aggiungiamo alle ipotesi la negazione

della tesi:

8. ¬ computer(a). o, in forma di clausola, :- computer(a).

e cerchiamo di dimostrare l'inconsistenza, ossia la clausola vuota:

9. :- parte(a,y), tastiera(y), parte(a,z), stampante(z).

ottenuta sostituendo nell'ipotesi 1 x con a e risolvendo con l'ipotesi 8;

10. :- tastiera(b), parte(a,z), stampante(z).

ottenuta sostituendo nella formula 9 y con b e risolvendo con l'ipotesi 3;

11. :- parte(a,z), stampante(z).

Page 41: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

41 41

ottenuta risolvendo la formula 10 con l'ipotesi 6;

12. :- stampante(c).

ottenuta sostituendo z con c nella formula 11 e risolvendo con l'ipotesi 4;

13. :- ha_testina(c).

ottenuta sostituendo w con c nell'ipotesi 2 e risolvendo con la formula 12;

14.

ottenuta risolvendo la formula 13 con l'ipotesi 5.

Page 42: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

42 42

CONCETTUALIZZAZIONE

Definizione.

Il processo che porta ad esprimere la conoscenza tramite la logica è

chiamato concettualizzazione.

Esistono tre tipi di concetti che possono essere espressi:

• oggetti, ossia qualunque cosa di cui si voglia parlare;

• funzioni, che consentono di associare oggetti ad oggetti;

• relazioni, che collegano oggetti fra loro.

Essi possono essere sia reali che astratti (o addirittura immaginari).

Generalmente non si descrive tutto il mondo, ma ci si limita a

quell'insieme necessario e sufficiente agli scopi che ci si prefiggono.

Dagli scopi dipende anche il livello di dettaglio a cui portare la

descrizione, che se è troppo specifico può rendere macchinoso il

ragionamento, se è troppo generale può renderlo addirittura impossibile.

Si deduce che non esiste un'unica concettualizzazione di una stessa cosa, e

che a seconda di quella scelta possono variare sia la trattabilità che la

chiarezza del ragionamento.

Page 43: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

43 43

Esempio.

Si consideri come oggetto da formalizzare la seguente configurazione di blocchi:

a

b

d

c

e

Concettualizzandola, otteniamo un insieme di oggetti, corrispondenti ai blocchi:

{a, b, c, d, e}

e possiamo definirvi la funzione posato_su, che associa ad ogni blocco quello posato su

di esso (se esiste):

posato_su = {(b,a), (c,b), (e,d)}

e le relazioni sopra (che indica tutti gli oggetti che sono al di sopra di altri) e libero (che

indica gli oggetti che non ne hanno altri al di sopra):

Page 44: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

44 44

sopra = {(a,b), (a,c), (b,c), (d,e)} libero = {a, d}

Va notato che si sarebbero potute definire molte altre funzioni e/o relazioni sui blocchi,

e che avremmo potuto considerare fra gli oggetti anche la base su cui i blocchi sono

posati, ma sono state tralasciate in quanto ininfluenti ai nostri scopi. Analogamente, si

sarebbero potuti descrivere gli stessi oggetti in termini di gruppi di blocchi o di

molecole che li compongono, ma si è ritenuto che questo livello di dettaglio sia il più

adatto.

Alcune concettualizzazioni non consentono di ragionare riguardo alle

proprietà delle proprietà.

La soluzione risiede nella reificazione, ossia nel considerare le proprietà

come oggetti, in modo da poter definire su di essi funzioni e relazioni.

Esempio.

Sia data la concettualizzazione costituita da un insieme di blocchi {a, b, c, d, e}, priva

di funzioni e comprendente le relazioni {rosso, bianco, blu} che legano ogni blocco al

relativo colore.

Essa ci consente di considerare i colori dei vari blocchi, ma non le eventuali proprietà di

tali colori.

Page 45: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

45 45

La soluzione consiste nel reificare i colori, trasformandoli in oggetti, associandoli ai

relativi blocchi tramite una funzione colore e definendo su di essi le relazioni volute,

come ad esempio caldo.

Esempio.

Consideriamo alcune figure date ai bambini come esempi per insegnargli i concetti di

fisica, e le relative descrizioni logiche in base al linguaggio definito (intuitivo).

Forza interna: Il primo concetto che si vuole descrivere è la forza interna, intesa dai

bambini come la capacità di opporre resistenza.

Ha forza interna un uomo molto

grande e pesante (u1) che viene

spinto da un uomo grande e pesante

(u2) che resta fermo.

ha_forza _interna(u1) :- uomo(u1), molto_grande(u1), molto_pesante(u1), uomo(u2),

grande(u2), pesante(u2), spinge(u2, u1), fermo(u2).

Non ha forza interna un uomo piccolo

e leggero (u3) che viene spinto da un

uomo molto grande e pesante (u1) e

si muove.

u1 u2

u1 u3

Page 46: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

46 46

¬ ha_forza _interna(u3) :- uomo(u3), piccolo(u3), leggero(u3), uomo(u1),

molto_grande(u1), molto_pesante(u1), spinge(u1, u3),

in_movimento(u3).

Ha forza interna una pietra molto

grande e pesante (p1) che non si muove

se viene spinta da un uomo grande e

pesante (u2).

ha_forza _interna(p1) :- pietra(p1), molto_grande(p1), molto_pesante(p1), uomo(u2),

grande(u2), pesante(u2), spinge(u2, p1), fermo(p1).

Forza acquisita: Il primo significato che i bambini associano a tale concetto è quello di

capacità di causare danno.

Ha forza acquisita un uomo pesante

e molto grande (u6) che urta un

vetro (v1) che si rompe.

ha_forza _acquisita(u6) :- uomo(u6), molto_grande(u6), pesante(u6), vetro(v1),

urta(u6, v1), si_rompe(v1).

u2 p1

u6 v1

Page 47: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

47 47

Ha forza acquisita un uomo pesante e

molto grande (u6) che urta una

scatola (s1) che si rompe.

ha_forza _acquisita(u6) :- uomo(u6), pesante(u3), molto_grande(u6), scatola(s1),

urta(u6, s1), si_rompe(s1).

Ha forza acquisita una pietra pesante e

molto grande (p2) che si muove e

colpisce un altro oggetto (o1) che si

rompe.

ha_forza _acquisita(p2) :- pietra(p2), pesante(p2), molto_grande(p2),

in_movimento(p2), oggetto(o1), urta(p2, o1), si_rompe(o1).

Forza acquisita: Un'altra interpretazione del concetto di forza acquisita riguarda la

causa del moto degli oggetti.

Ha forza acquisita una pietra

(p3)che si muove spinta con

forza da un uomo (u8).

ha_forza _acquisita(p3) :- pietra(p3), uomo(u8), spinge(u8, p3), esercita_forza(u8, p3),

in_movimento(p3).

u6 s1

p2 o1

u8 p3

Page 48: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

48 48

Non ha forza acquisita una pietra (p4)

che non si muove, non essendoci

nessuna forza a spingerla.

¬ ha_forza _acquisita(p4) :- pietra(p4), ferma(p4), ¬ esercita_forza(x, p4).

Ha forza acquisita una pietra

(p5) che si muove nell'aria

lanciata da un uomo (u9).

ha_forza_acquisita(p5) :- pietra(p5), in_movimento(p5), in_aria(p5), uomo(u9),

lanciato_da(p5, u9).

Concludiamo con due esempi che riguardano entrambi i concetti.

p6 u10 p7

p4

u9 p5

Page 49: LOGICA MATEMATICA E CONCETTUALIZZAZIONE - lacam.di…lacam.di.uniba.it/people/courses/IA/IA0809/logica.pdf · La logica degli enunciati consente di verificare formalmente e rigorosamente

49 49

La pietra p6 è pesante e molto grande, e non si muove. Essa ha forza interna, ma

non acquisita.

ha_forza_interna(p6) :- pietra(p6), pesante(p6), molto_grande(p6), ferma(p6).

¬ ha_forza_acquisita(p6) :- pietra(p6), pesante(p6), molto_grande(p6), ferma(p6).

La pietra p7 è simile alla pietra p6, ma ha sia forza interna che acquisita.

ha_forza_interna(p7) :- pietra(p7), pesante(p7), molto_grande(p7),

in_movimento(p7), in_aria(p7), lanciata_da(p7, u10).

ha_forza_acquisita(p7) :- pietra(p7), pesante(p7), molto_grande(p7),

in_movimento(p7), in_aria(p7), lanciata_da(p7, u10).