logica i ordine

13
1 Logica del primo Logica del primo ordine ordine  Antonella Santone Nella logica proposizionale un atomo rappresenta una frase dichiarativa che può essere vera o falsa Molte idee NON possono essere trattate in questo semplice modo Ragionamento Esempio: “Ogni uomo è mortale. Poiché Confucio è un uomo, allora è mortale”  p: “Ogni uomo è mortale” q: “Confucio è un uomo” r: “Confucio è mortale” Ragionamento corretto ma r non è conseguenza logica di p e q Le strutture di p, q e r non vengono utilizzate nella logica proposizionale Logica I ordine Logica I ordine  T  T  T  T F F  T  T  T  T F  T  T F F  T  T  T  T F  T F  T F  T  T F F  T F F F (pq)r r q  p Sintassi Sintassi Insieme finito C di simboli di costante {c 1 , c 2 , …, c n  } Insieme finito V di simboli di variabile {X 1 , X 2 , …, X m  } Insieme finito F di simboli di funzione {f 1 , f 2 , …, f k  } Insieme finito P di simboli di predicato {p 1 , p 2 , …, p l  } Connettivi: ¬ ¬ ¬ ¬, , , , Quantificatori: , Parentesi: ( ) Costanti & Variabili Costanti & Variabili Costanti: singole entità del dominio Esempio: maria , giovanni (iniziale minuscola)  Variabili: entità non note del dominio (iniziale maiuscola) Esempio:  X , Y Funzioni & Predicati Funzioni & Predicati Funzione n-aria: individua univocamente un oggetto del dominio del discorso mediante una relazione tra altri n oggetti del dominio Esempio: madre(maria) Costante: una funz ione con arietà 0 Importante: le funzioni, in logica, non presuppongono alcun concetto di valutazione Predicato n-ario: generica relazione (che può essere vera o falsa) fra n oggetti del dominio Esempio:  parente(maria, luca)  Termine  Termine  Termine (definito ricorsivamente): una variabile è un termine una costante è un termine se f è un simbolo di funzione n-aria e t 1 ,...,t n sono termini, allora f(t 1 ,...,t n  ) è un termine Esempio: maria, f(X)

Upload: peppe-chirico

Post on 07-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Logica i Ordine

8/3/2019 Logica i Ordine

http://slidepdf.com/reader/full/logica-i-ordine 1/13

1

Logica del primoLogica del primo

ordineordine

 Antonella Santone

Nella logica proposizionale un atomo rappresenta

una frase dichiarativa che può essere vera o falsa Molte idee NON possono essere trattate in questo

semplice modo

RagionamentoEsempio: “Ogni uomo è mortale. Poiché Confucio è

un uomo,allora è mortale”

 p: “Ogni uomo è mortale”

q: “Confucio è un uomo” r: “Confucio è mortale”

Ragionamento corretto ma r non è conseguenzalogica di p e q

Le strutture di p, q e r non vengono utilizzate nellalogica proposizionale

Logica I ordineLogica I ordine

 T T T T

FF T T

 T TF T

 TFF T

 T T TF

 TF TF

 T TFF

 TFFF(p∧∧∧∧q)→→→→rrq p

SintassiSintassi

Insieme finito C di simboli di costante {c 1, c 2, …, c n }

Insieme finito V di simboli di variabile {X 1, X 2, …, X m }

Insieme finito F di simboli di funzione {f 1, f 2, …, f k }

Insieme finito P di simboli di predicato {p1, p2, …, pl  }

Connettivi: ¬¬¬¬, ∧∧∧∧, ∨∨∨∨, →→→→, ↔↔↔↔

Quantificatori: ∀∀∀∀,∃∃∃∃ Parentesi: ( )

Costanti & VariabiliCostanti & Variabili

Costanti: singole entità del dominio

Esempio: maria , giovanni (iniziale minuscola)

 Variabili: entità non note del dominio (iniziale maiuscola)

Esempio:  X , Y 

Funzioni & PredicatiFunzioni & Predicati

Funzione n-aria: individua univocamente un oggetto del dominio deldiscorso mediante una relazione tra altri n oggetti del dominio

Esempio: madre(maria)

Costante: una funzione con arietà 0

Importante: le funzioni, in logica, non presuppongono alcunconcetto di valutazione

Predicato n-ario: generica relazione (che può essere vera o falsa) fra n oggetti del dominio

Esempio: parente(maria, luca)

 Termine Termine

 Termine (definito ricorsivamente):

una variabile è un termine

una costante è un termine

se f è un simbolo di funzione n-aria e t 1,...,t n sonotermini, allora f(t 1,...,t n ) è un termine

Esempio: maria, f(X)

Page 2: Logica i Ordine

8/3/2019 Logica i Ordine

http://slidepdf.com/reader/full/logica-i-ordine 2/13

2

 Atomo o formula atomica Atomo o formula atomica

 Applicazione di un simbolo di predicato n-ario p a

n termini t 1,...,t n: p(t 1,..,t n )

Esempio: parente(giovanna,maria)

Formule ben formate (Formule ben formate (fbf fbf ))

Frasi sintatticamente corrette. Sono definite ricorsivamente

come segue:

ogni atomo è una fbf 

se A e B sono fbf, allora lo sono anche ¬ A, A∧B, A∨  B,

 A→B, A↔B, (A)

se A è una fbf e X è una variabile,∀  X A e∃  X A sono fbf 

Esempio diEsempio di fbf fbf  e none non

parente(giovanna, maria) fbf 

∃X (uomo(X) ∧ felice(X)) fbf 

∀X (uomo(X) → mortale(X)) fbf 

∃ X (uomo(X) ∧ ) No!

∃X (uomo(f(X) No!

Regole di precedenzaRegole di precedenza

¬ ∃ ∀ maggiore

∨ ∧

→ ↔ minore

Esempio

a ∨∨∨∨ ¬¬¬¬b ∧∧∧∧∃∃∃∃X c(X) → d(X,Y)è equivalente a

(a ∨∨∨∨ ((¬¬¬¬ b) ∧∧∧∧ (∃∃∃∃X c(X))) ) → d(X,Y)

LetteraleLetterale

fbf atomica o la sua negazione

Esempio: parente(maria, giovanni)

Forma normaleForma normale prenessa prenessa disgiuntivadisgiuntiva

disgiunzione di una o più fbf composte dacongiunzioni di letterali;

le quantificazioni compaiono tutte in testa

Esempio:

∃∃∃∃X ∀∀∀∀ Y ∃∃∃∃Z (a(X) ∧∧∧∧ b(Y,Z)) ∨∨∨∨ (c(X) ∧¬∧¬∧¬∧¬a(Z) ∧∧∧∧ d) ∨∨∨∨ f 

Page 3: Logica i Ordine

8/3/2019 Logica i Ordine

http://slidepdf.com/reader/full/logica-i-ordine 3/13

3

Forma normaleForma normale prenessa prenessa congiuntivacongiuntiva

congiunzione di una o più fbf composte da disgiunzioni diletterali;

le quantificazioni compaiono tutte in testa

Esempio

∃∃∃∃X ∀∀∀∀ Y ∃∃∃∃Z (a(X) ∨∨∨∨ b(Y,Z)) ∧∧∧∧ (c(X) ∨∨∨∨ ¬¬¬¬a(Z)∨∨∨∨d) ∧∧∧∧ f 

Forme normaliForme normali

Qualunque fbf può essere trasformata in forma

normale prenessa (congiuntiva o disgiuntiva)

attraverso opportune trasformazioni sintattiche

Campo d’azione (scope)Campo d’azione (scope)

scope di un quantificatore:

fbf che lo segue immediatamente.

Nel caso di ambiguità si utilizzano le parentesi tonde

Esempio∀∀∀∀X (p(X,Y) ∧∧∧∧ q(X)) ∨∨∨∨ q(X)

la quantificazione sulla variabile X ha come campo

d'azione la formula p(X,Y) ∧∧∧∧ q(X)

 Variabili libere / formule chiuse Variabili libere / formule chiuse

Variabili libere : variabili che non compaionoall'interno del campo di azione di un quantificatore.

Esempio

∀∀∀∀X (p(X,Y) ∧∧∧∧ q(X))

 Y è libera in F

 Formule chiuse : fbf che non contengono alcuna

 variabile liberaEsempio

∃X (uomo(X) ∧ felice(X))

Considereremo solo formule fbf chiuse

GroundGround/varianti/varianti

Formule ground: formule che non contengono variabili.

Esempio:

parente(giovanna, maria)

 Varianti: una formula F2, ottenuta rinominando le

 variabili di una formula F1, è detta variante di F1

Esempio:

∀∀∀∀X ∃∃∃∃ Y p(X,Y) variante di ∀∀∀∀ W ∃∃∃∃Z p(W,Z)

SemanticaSemantica

Logica proposizionale: una interpretazione è unassegnamento di valori di verità ad atomi

Logica del primo ordine: necessario fare di più

Page 4: Logica i Ordine

8/3/2019 Logica i Ordine

http://slidepdf.com/reader/full/logica-i-ordine 4/13

4

InterpretazioneInterpretazione

Un’interpretazione di una formula F nella logica del primoordine è costituita da un dominio D e da un assegnamento

di valori ad ogni costante, simbolo di funzione e simbolo

di predicato presente in F nel seguente modo:

ad ogni costante si assegna un elemento in D;

ad ogni simbolo di funzione n-aria si assegna unacorrispondenza da Dn → D;

ad ogni simbolo di predicato n-ario si assegna unarelazione in Dn, cioè un sottoinsieme di Dn oppureuna corrispondenza da Dn a {T,F}

EsempioEsempioLinguaggio del primo ordine:

una costante “0”; un simbolo di funzione unaria “s”; un simbolo di predicato binario “p”.

 Interpretazione I1D: numeri naturali. “0” rappresenta il numero zero. “s” rappresenta il successore di un numero naturale “p” rappresenta la relazione binaria “≤”

 Interpretazione I2D: numeri interi negativi “0” rappresenta il numero zero “s” rappresenta il predecessore di un numero naturale

“p” rappresenta la relazione binaria “≤”

 Valori di verità Valori di verità

 Formula atomica ground: ha valore vero sotto un'interpretazione quando il corrispondente

predicato è soddisfatto; ha valore falso quando il corrispondente predicato non è soddisfatto

Esempio Interpretazione I1

p(0,s(0))  vero p(s(0), 0) falso

Interpretazione I2 p(0,s(0)) falso

p(s(0), 0)  vero

I1 : D: numeri naturali.“0” rappresenta lo zero.“s” rappresenta il successore

“p” rappresenta “≤”

I2: D: numeri inte ri negativi

“0” rappresenta lo zero“s” rappresenta il predecessore

“p” rappresenta “≤”

 Valori di verità (cont.) Valori di verità (cont.)

Formula composta

il valore di verità di una formula composta rispettoa un’interpretazione si ottiene da quello delle sue

componenti utilizzando le tavole di verità dei

connettivi logici

 Valori di verità (cont.) Valori di verità (cont.)Formula quantificata esistenzialmente

∃X F è vera in un’interpretazione I se esiste almeno unelemento d del dominio D tale che la formula F', ottenutaassegnando d alla variabile X, è vera in I. In caso contrarioF ha valore falso.Esempio

∃X p(X,s(0)) Interpretazione I1

 Vero: “esiste zero, minore di uno”

Interpretazione I2 Vero: “esiste -2, minore di -1”

I1 : D: numeri naturali.“0” rappresenta lo zero.“s” rappresenta il successore

“p” rappresenta “≤”

I2: D: numeri inte ri negat ivi“0” rappresenta lo zero“s” rappresenta il predecessore

“p” rappresenta “≤”

 Valori di verità (cont.) Valori di verità (cont.)Formula quantificata universalmente

∀X F è vera in un’interpretazione I se per ogni elementod del dominio D, la formula F', ottenuta da F sostituendod alla variabile X, è vera in I. Altrimenti F ha valore falso.

Esempio

∀ Y p(0,Y)

Interpretazione I1

 vero: “0 è minore o uguale a ogni

intero positivo Y”

Interpretazione I2

falso: non è vero che

“0 è minore o uguale a –1”

I1 : D: numeri naturali.“0” rappresenta lo zero.

“s” rappresenta il successore“p” rappresenta “≤”

I2 : D: numeri inte ri negativi“0” rappresenta lo zero“s” rappresenta il predecessore

“p” rappresenta “≤”

Page 5: Logica i Ordine

8/3/2019 Logica i Ordine

http://slidepdf.com/reader/full/logica-i-ordine 5/13

5

Esercizio:Esercizio: G:G: ∀∀X (p(X)X (p(X) →→ q(f(X),a))q(f(X),a))

Interpretazione I: Dominio: D={1,2}

 Assegnamento per a:-------a

-------1

-------

 Assegnamento per f:-----------------f(1) f(2)-----------------2 1-----------------

 Assegnamento per pe q:

-----------------------------------------------------------------------

  p(1) p(2) q(1,1) q(1,2) q(2,1) q(2,2)----------------------------------------------------------------------

F T T T F T

Esercizio (cont.)Esercizio (cont.)Se X=1

 p(X) →→→→ q(f(X),a)) = p(1) →→→→ q(f(1),a))

= p(1) →→→→ q(2,1)

= F →→→→ F = T

Se X=2

 p(X) →→→→ q(f(X),a)) = p(2) →→→→ q(f(2),a))

= p(2) →→→→ q(1,1)

= T →→→→ T = T

∀∀∀∀X (p(X) →→→→ q(f(X),a))

NotaNota

Importane l’ordine tra ∃ ∀

∀X ∃ Y ama(X,Y):

“Tutti amano qualcuno”

∃ Y 

∀X ama(X,Y):

“C’è qualcuno che è amato da tutti”

Continuano a valere …Continuano a valere …

Soddisfacibile

Insoddisfacibile

 Valida

Conseguenza logica

 Teorema 1 e Teorema 2

Problema interessanteProblema interessanteDeterminare se una formula F segue logicamente da utilizzando solo semplici

trasformazioni sintattiche ( regole di inferenza ), possibilmente ripetitive e quindi

automatizzabili, e non introducendo concetti quali significato o interpretazione omodello

Sistemi deduttiviSistemi deduttiviLa logica dei predicati del primo ordine può essereformulata come sistema assiomatico-deduttivo

 Teoria assiomatica

formule ben formate ritenute vere: assiomi 

criteri di manipolazione sintattica: regole di inferenzaderivano fbf da fbf:

condizioni

--------------

conclusione

Scopo: produrre nuove formule sintatticamente corrette

( teoremi )

Page 6: Logica i Ordine

8/3/2019 Logica i Ordine

http://slidepdf.com/reader/full/logica-i-ordine 6/13

6

RegoleRegole

(A∧B) equivale a ¬(A → ( ¬ B))

(A∨B) equivale a ( ¬ A) → B

(A ↔ B) equivale a ((A → B) ∧ (B → A))

¬( ∀X A) equivale a ∃X ¬ A

¬( ∃X A) equivale ∀X ¬ A

Regole (cont.)Regole (cont.)

X (p(X)∧

q(X)) equivale a∀

Xp(X)∧ ∀

X q(X) ∃X (p(X) ∨ q(X)) equivale a ∃X p(X) ∨ ∃X q(X)

∀X (p(X) ∨ q(X)) NON equivale a ∀X p(X) ∨ ∀X q(X)

∃X (p(X) ∧ q(X)) NON equivale a ∃X p(X) ∧ ∃ X q(X)

Esempio

p= pari, q=dispari

Regole (cont.)Regole (cont.)Modus Ponens (MP):

 A, A → B

B

Specializzazione (Spec ):

∀∀∀∀X A(X)

 A(t)

Dimostrazioni di teoremiDimostrazioni di teoremi

Dimostrazione: sequenza finita di fbf f 1, f 2, ..., f n, tale checiascuna f i o è un assioma oppure è ricavabile dalle fbf precedenti mediante una regola di inferenza

 Teorema: L’ultima fbf di ogni dimostrazione

Prova del teorema: sequenza di regole di inferenza applicate

Una fbf F è derivabile in una teoria T (  T |- F ) se esiste unasequenza di fbf f 1, f 2, ..., f n, tale che f n = F e, per ogni i, o f i èun assioma di T, oppure è ricavabile dalle fbf precedentimediante una regola di inferenza di T

EsempioEsempio Teoria T: “relazione di ≤ sui numeri naturali”

 A1: p(0,0)

 A2: ∀X ∀ Y (p(X,Y) → p(X,s(Y)))

 A3: ∀X p(X,X)

 Teorema p(0,s(0))

EsempioEsempio

∀X ∀ Y (p(X,Y) → p(X,s(Y))) Spec 

∀ Y (p(0,Y) → p(0,s(Y))) Spec 

p(0,0) → p(0,s(0))  MP usando A1

p(0,s(0))

  A1: p(0,0)

 A2:∀∀∀∀X∀∀∀∀ Y (p(X,Y) →→→→ p(X,s(Y))) A3:∀∀∀∀X p(X,X)

Page 7: Logica i Ordine

8/3/2019 Logica i Ordine

http://slidepdf.com/reader/full/logica-i-ordine 7/13

7

Dal linguaggioDal linguaggio

naturale alla logicanaturale alla logica

Dal linguaggio naturale alla logicaDal linguaggio naturale alla logica

connettivi si applicano a proposizioni e non a temimi; individui tramite costanti (es.: giacomo ) oppure se sono

innominati tramite funzioni (es.: sorella(maria) ) nomi comuni (es.: casa  ) o aggettivi qualificativi (es.: rosso )

 vengono rappresentati medianti predicati (es.: casa(X), rosso(Y) );  verbo essere, usato come copula, non viene generalmente

rappresentato;

 verbi intransitivi (es.: corre , dorme  ) vengono rappresentatimediante predicati unari (es.: dorme (X) );

 verbi transitivi vengono tradotti come predicati binari (es.:mangia(giovanni, mela) )

EsercizioEsercizio

Luigi mangia pane e formaggio

mangia(luigi, pane ∧ formaggio) NO!!!

mangia(luigi, pane) ∧ mangia(luigi, formaggio)

and solo tra proposizioni

EsempiEsempi

Sara ama i gatti:

ama(sara, gatti) NO!

∀X gatto(X) → ama(sara, X)

““esiste un cane nero”esiste un cane nero” Se il dominio dell’interpretazione è solo di cani:

∃X nero(X)

Se il dominio ha anche altri oggetti che non sono cani, devoaggiungere la proprietà di essere cani:

∃X (nero (X)∧ cane(X))

Errore!:∃X (cane(X) → nero (X)) e’ equivalente a

∃X (nero (X)∨ ¬ cane(X))

 Tale formula è vera in ogni dominio per cui c’è un oggetto nero

o c’è un oggetto che non è un cane

““ Tutti i corvi sono neri” Tutti i corvi sono neri”

Se il dominio dell’interpretazione (universo del discorso) e’ solo di corvi:

∀X nero (X)

Se il dominio ha anche altri oggetti che non sono corvi devo aggiungerela proprietà di essere corvi:

∀X (corvo (X) → nero(X))

Diverso significato:

∀X (corvo(X)∧ nero (X)) equivalente ∀X (nero (X))∧ ∀X (corvo(X))

“Tutti gli oggetti del dominio sono corvi e sono neri” 

Page 8: Logica i Ordine

8/3/2019 Logica i Ordine

http://slidepdf.com/reader/full/logica-i-ordine 8/13

8

““ Tutti i gatti sono mammiferi Tutti i gatti sono mammiferi

∀X (gatto(X) → mammifero(X))

““Non tutti i politici sono onesti”Non tutti i politici sono onesti”

¬( ∀X politico(X) → onesto(X) )

o equivalentemente

∃X politico(X) ∧ ¬onesto(X)

““ Alcuni studenti sono bravissimi” Alcuni studenti sono bravissimi”

∃X studente(X) ∧ bravissimo(X)

stesso modo per tradurre qualche studente e uno

studente

Nel linguaggio naturale: pluratiltà e quantificazione

indefinita: molti, solo alcuni, a maggior parte ecc.

non vengono colte direttamente dai quantificatori della

logica

 Ambiguità Ambiguità “Tutti i filosofi leggono alcuni libri”

 Tutti coloro che sono filosofi leggono un certo numero dilibri, che non è detto siano gli stessi per tutti:

∀X filosofo(X) → ∃ Y libro(Y) ∧ legge(X,Y)

Esiste un certo numero di libri (es.: La Metafisica di Aristotele, La Critica alla Ragion Pura di Kant) che tutticoloro che sono filosofi leggono:

∃ Y libro(Y)∧∀filosofo(X)→legge(X,Y)

EsercizioEsercizio

 Trasformare le seguenti frasi nella logica del I ordine:

 A Simone piacciono i corsi facili

I corsi di ingegneria sono difficili

 Tutti i corsi di scienze sono facili

MK08 è un corso di scienze

Esercizio (soluzione)Esercizio (soluzione)

∀X ∀ Y (corso(Y,X) ∧ facile (X) → piace(simone,X)

∀X (corso(ingegneria,X) → ¬facile(X) )

∀X (corso(scienze,X) → facile(X) )

corso(scienze,mk08)

Page 9: Logica i Ordine

8/3/2019 Logica i Ordine

http://slidepdf.com/reader/full/logica-i-ordine 9/13

9

EsercizioEsercizio

Si trasformino le seguenti frasi nella logica del I ordine:

 Tutti i cavalli sono più veloci di tutti i cani

Esiste un levriero e questo levriero è più veloce diogni lepre

Ralph è una lepre

Esercizio (soluzione)Esercizio (soluzione)

∀X ∀ Y ((cavallo(X) ∧ cane(Y)) → piu_veloce(X,Y))

∃X levriero(X) ∧ ∀ Y (lepre(Y) → piu_veloce(X,Y))

lepre(ralph)

Nota: (p ∧ q) → r = p → (q → r)

Significato: alberi possibilmente diversi per scimmie diverse

Il dominio contiene differenti oggetti (scimmie, alberi, …)

Procedimento Top-down:

∀ X (scimmia (X) → A(X))

dove A(X) è una formula logica non atomica che rappresenta“X e’ fuggito su un albero”, ovvero esiste un albero su cui X e’

fuggito:

 A(X) =∃ Y (albero(Y) ∧ fugge(X,Y))

Dunque:

∀X ∃ Y (scimmia (X) →fugge(X,Y)∧ albero(Y))

““ Tutte le scimmie sono fuggite su un albero” Tutte le scimmie sono fuggite su un albero” ““ Tutte le scimmie sono fuggite su un albero” Tutte le scimmie sono fuggite su un albero”

 Altro significato: “Tutte le scimmie sono fuggite sullo stesso albero”

In altro modo: Esiste un albero su cui sono fuggite tutte le scimmie

Procedimento Top-down:

∃ Y (albero(Y)∧ ∀ X (scimmia (X) →fugge(X,Y)))

Errore!

∀X ∃ Y (scimmia (X)∧ fugge(X,Y)∧ albero(Y))Ovvero:

∀X scimmia (X)∧ ∃ Y (fugge(X,Y)∧ albero(Y))

 Afferma che tutti gli oggetti sono scimmie e tutti gli oggetti sono fuggiti

sull’albero

EsercizioEsercizio

Esiste una tartaruga che è più vecchia di ogniessere umano

Non tutti gli studenti seguono sia il corso di

storia che quello di biologia

SoluzioneSoluzione

∃∃∃∃X (tartaruga(X) ∧∧∧∧ (∀∀∀∀ Y umano(Y)→piu_vecchio(X,Y)))

 _______________________________________________ 

¬¬¬¬(∀∀∀∀X (studente(X) →→→→ (segue(X, storia) ∧∧∧∧ segue(X, biologia))))

∃∃∃∃X ¬¬¬¬(¬¬¬¬ studente(X) ∨∨∨∨ (segue(X, storia) ∧∧∧∧ segue(X, biologia))

∃∃∃∃X studente(X) ∧∧∧∧ (¬¬¬¬segue(X,storia) ∨∨∨∨ ¬¬¬¬segue(X, biologia))

Page 10: Logica i Ordine

8/3/2019 Logica i Ordine

http://slidepdf.com/reader/full/logica-i-ordine 10/13

10

Principio di risoluzionePrincipio di risoluzione

Logica del I ordine

ClausolaClausola

Disgiunzione di letterali (formule atomiche negatee non) in cui tutte le variabili sono quantificate

universalmente in modo implicito

Esempio:

p(X) ∨ q(Y) ≡ ∀X ∀ Y p(X) ∨ q(Y)

EsempioEsempio

C1 = p(X,a) ∨∨∨∨ q(X) C2 = f ∨∨∨∨ ¬¬¬¬ p(b,a)

Regola di inferenzaRegola di inferenza

C1 = A 1 ∨∨∨∨ … ∨∨∨∨ A n

C2 = B1 ∨∨∨∨ … ∨∨∨∨ B m 

Se esistono in C1 ed in C2 due letterali opposti:

[A i]ΘΘΘΘ = [¬¬¬¬Bj]ΘΘΘΘ

C3 = [A 1 ∨∨∨∨…∨∨∨∨ A i-1 ∨∨∨∨ A i+1 ∨∨∨∨…∨∨∨∨ A n ∨∨∨∨ B1 ∨∨∨∨ … ∨∨∨∨ Bj-1 ∨∨∨∨ Bj+1∨∨∨∨.. ∨∨∨∨ B m ]ΘΘΘΘ

C1 & C2 parent

C3 risolvente

ΘΘΘΘ unificazione

C3 conseguenza logica di C1 & C2

SostituzioneSostituzione Insieme di legami di termini a simboli di variabili

σσσσ ={X1/T1, X2/T2, … , Xn/Tn}

X1, X2, … , Xn distinte

Xi ≠≠≠≠ Ti ∀∀∀∀i ∈∈∈∈ [1..n]

[E ] σσσσ : “espressione ottenuta sostituendoSIMULTANEAMENTE ogni X icon il corrispondente Ti”

EsempiEsempi σσσσ ={X/c, Y/a, Z/W}

[p(X, f(Y), b, Z)]σσσσ = p(c, f(a), b, W)

σσσσ ={Y/T, Z/neri}

[c(Y, Z)]σσσσ = c(T, neri)

σσσσ ={Y/T, Z/neri}

[c(T, neri)]σσσσ = c(T, neri)

σσσσ ={X/a, Y/X}

[p(X, Y))]σσσσ = p(a, X) simultaneamente

Page 11: Logica i Ordine

8/3/2019 Logica i Ordine

http://slidepdf.com/reader/full/logica-i-ordine 11/13

11

UnificazioneUnificazione

Sostituzione che rende sintatticamente uguali due o piùatomi

Esempio:

c(Y, Z) c(T, neri)

ΘΘΘΘ = {Y/T, Z/neri}

[c(Y, Z)] ΘΘΘΘ = [c(T, neri)] ΘΘΘΘ

c(T, neri) = c(T, neri)

 Algoritmo di unificazione Algoritmo di unificazione

OK 

se S1 e S2 stessofuntore e arietà e

argomenti unificano

OK 

{X2/S1}

NO Terminecomposto

S1

OK 

{X1/S2}

OK 

{X1/X2}

OK 

{X1/C2}

 Variabile

X1

NOOK 

{X2/C1}

OK 

se C1 =C2

Costante

C1

 Termine composto

S2

 Variabile

X2

Costante

C2

 T1

 T2

 p(W, f(X,a,b)) p(c, f(c,Z,b))

unificano: ΘΘΘΘ = {W/c, X/c, Z/a}

[p(W, f(X,a,b)) ] ΘΘΘΘ = p(c, f(c,a,b)) = [p(c, f(c,Z,b))] ΘΘΘΘ

 p(W, f(X,a,b)) p(c, g(c,Z,b))

non unificano

 p(W, f(X,a,b)) p(c, f(c,Z))

non unificano

Esempio: unificazione termini compostiEsempio: unificazione termini composti EsempioEsempio

C1 = p(X,a) ∨∨∨∨ q(X) C2 = f ∨∨∨∨ ¬¬¬¬ p(b,a)

ΘΘΘΘ = {X/b}

C3 = [q(X) ∨∨∨∨ f]ΘΘΘΘ = q(b) ∨∨∨∨ f

EsercizioEsercizio

 A Gianni piacciono tutti i tipi di cibo

Le mele sono un cibo

Il pollo è un cibo

 Tutto quello che si mangia senza esserne uccisi è un cibo

Paolo mangia noccioline ed è ancora vivo

Susanna mangia tutto quello che mangia Paolo

Dimostrare  A Gianni piacciono le noccioline

Che cibo mangia Susanna?

Formule logicheFormule logiche1.∀∀∀∀X (cibo(X) →→→→ piace(X,gianni))

2.cibo(mele)

3.cibo(pollo)

4.∀∀∀∀X∀∀∀∀Y (mangia(Y,X) ∧∧∧∧ ¬¬¬¬uccide(X,Y) →→→→ cibo(X))

5. mangia(paolo,nocciol) ∧∧∧∧ ¬¬¬¬uccide(nocciol,paolo)

6.∀∀∀∀X(mangia(paolo,X) →→→→ mangia(susanna,X))

G1: piace(nocciol, gianni)

G2: ∃∃∃∃X(cibo(X) ∧∧∧∧ mangia(susanna,X))

Page 12: Logica i Ordine

8/3/2019 Logica i Ordine

http://slidepdf.com/reader/full/logica-i-ordine 12/13

12

Formule a clausoleFormule a clausole

C1: ¬¬¬¬(cibo(X) ∨∨∨∨ piace(X,gianni)

C2: cibo(mele)

C3: cibo(pollo)

C4: ¬¬¬¬(mangia(Y,X)∧¬∧¬∧¬∧¬uccide(X,Y)) ∨∨∨∨ cibo(X)

C4: ¬¬¬¬ mangia(Y,X) ∨∨∨∨ uccide(X,Y) ∨∨∨∨ cibo(X)

C5: mangia(paolo,nocciol)

C6: ¬¬¬¬uccide(nocciol,paolo)

C7: ¬¬¬¬ mangia(paolo,X) ∨∨∨∨ mangia(susanna,X)

G1neg: ¬¬¬¬ piace(nocciol, gianni)

1.∀∀∀∀X (cibo(X)→→→→ piace(X,gianni))

2.cibo(mele)

3.cibo(pollo)

4.∀∀∀∀X∀∀∀∀Y(mangia(Y,X)∧¬∧¬∧¬∧¬uccide(X,Y)→→→→

cibo(X))

5. mangia(paolo, nocciol)∧∧∧∧

¬¬¬¬uccide(nocciol,paolo)6.∀∀∀∀X(mangia(paolo,X)→→→→

 mangia(susanna,X))

G1: piace(nocciol, gianni)

Risoluzione: G1Risoluzione: G1

G1neg+C1=C8: ¬¬¬¬(cibo(nocciol)) {X/nocciol}

C8+C4=C9: ¬¬¬¬ mangia(Y,nocciol)∨∨∨∨ uccide(nocciol,Y)

{X/nocciol}

C9+C5=C10: uccide(nocciol,paolo) {Y/paolo}

C10+C6=C11: clausola vuota

C1:¬¬¬¬(cibo(X) ∨∨∨∨ piace(X,gianni)

C2:cibo(mele)

C3:cibo(pollo)

C4: ¬¬¬¬ mangia(Y,X) ∨∨∨∨ uccide(X,Y) ∨∨∨∨

cibo(X)

C5: mangia(paolo,nocciol)

C6: ¬¬¬¬uccide(nocciol,paolo)

C7: ¬¬¬¬ mangia(paolo,X) ∨∨∨∨

 mangia(susanna,X)

G1neg: ¬¬¬¬ piace(nocciol,gianni)

Risoluzione G2Risoluzione G2

G2neg: ¬¬¬¬(∃∃∃∃X(cibo(X) ∧∧∧∧ mangia(susanna,X)))G2neg: ∀∀∀∀X ¬¬¬¬(cibo(X) ∧∧∧∧ mangia(susanna,X))

G2neg: ¬¬¬¬cibo(X) ∨∨∨∨ ¬¬¬¬ mangia(susanna,X)

-----------------------------------------

G2neg+C7=C8: ¬¬¬¬cibo(X) ∨∨∨∨ ¬¬¬¬ mangia(paolo,X)

C8+C5=C9: ¬¬¬¬cibo(nocciol) {X/nocciol}

C9+C4=C10: ¬¬¬¬ mangia(Y,nocciol) ∨∨∨∨ uccide(nocciol,Y)

{X/nocciol}

C10+C5=C11: uccide(nocciol,paolo) {Y/paolo}

C11+C6=C12: clausola vuota

C1:¬¬¬¬(cibo(X) ∨∨∨∨ piace(X,gianni)

C2:cibo(mele)

C3:cibo(pollo)

C4: ¬¬¬¬ mangia(Y,X) ∨∨∨∨ uccide(X,Y) ∨∨∨∨

cibo(X)

C5: mangia(paolo, nocciol)

C6: ¬¬¬¬uccide(nocciol,paolo)

C7: ¬¬¬¬ mangia(paolo,X) ∨∨∨∨

 mangia(susanna,X)

EsercizioEsercizio

 Antonio, Michele e Giovanni sono iscritti al CAI (Club AlpinoItaliano). Ogni appartenente al Club che non è sciatore è unoscalatore. Gli scalatori non amano la pioggia. Ogni personache non ama la neve non è uno sciatore. Antonio non ama ciòche Michele ama. Antonio ama la pioggia e la neve. Si

rappresenti tale conoscenza come un insieme di predicati delprimo ordine. Si mostri, mediante la risoluzione:

"C'è un iscritto al CAI che è uno scalatore, ma non uno

sciatore?"

Formule logicheFormule logiche

1. ∀∀∀∀X(iscritto(X) ∧∧∧∧ ¬¬¬¬sciatore(X) →→→→ scalatore(X))

2. ∀∀∀∀X(scalatore(X) →→→→ ¬¬¬¬ama(X,pioggia))

3. ∀∀∀∀X(¬¬¬¬ama(X,neve) →→→→ ¬¬¬¬sciatore(X))

4. ∀∀∀∀X(ama(michele,X) →→→→ ¬¬¬¬ama(antonio,X))

5. ama(antonio,neve)

6. ama(antonio,pioggia)

7. iscritto(antonio)

8. iscritto(michele)

9. iscritto(giovanni)

Goal: ∃∃∃∃X iscritto(X) ∧∧∧∧ scalatore(X) ∧∧∧∧ ¬¬¬¬sciatore(X)

 Antonio, Michele e Giovanni sono iscritti al CAI (Club Alpino Italiano). Ogni appartenente al Club che non è

sciatore è uno scalatore. Gli scalatori non amano la

pioggia. Ogni persona che non ama la neve non è unosciatore. Antonio non ama ciò che Michele ama. Antonio ama la pioggia e la neve. Si rappresenti taleconoscenza come un insieme di predicati del primo

ordine. Si mostri, mediante la risoluzione:"C'è un membro del CAI che è uno scalatore, manon uno sciatore?"

ClausoleClausole

C1. ¬¬¬¬iscritto(X) ∨∨∨∨ sciatore(X) ∨∨∨∨ scalatore(X)

C2. ¬¬¬¬scalatore(X) ∨∨∨∨ ¬¬¬¬ama(X,pioggia)

C3. ama(X,neve) ∨∨∨∨ ¬¬¬¬sciatore(X)

C4. ¬¬¬¬ama(michele,X) ∨∨∨∨ ¬¬¬¬ama(antonio,X)

C5. ama(antonio,neve)

C6. ama(antonio, pioggia)

C7. iscritto(antonio)

C8. iscritto(michele)

C9. iscritto(giovanni)

Gneg: ¬¬¬¬iscritto(X) ∨∨∨∨ ¬¬¬¬scalatore(X) ∨∨∨∨ sciatore(X)

1. ∀∀∀∀X(iscritto(X) ∧∧∧∧ ¬¬¬¬sciatore(X) →→→→ scalatore(X))

2. ∀∀∀∀X(scalatore(X) →→→→ ¬¬¬¬ama(X,pioggia))

3. ∀∀∀∀X(¬¬¬¬ama(X,neve) →→→→ ¬¬¬¬sciatore(X))

4. ∀∀∀∀X(ama(michele,X) →→→→ ¬¬¬¬ama(antonio,X))

5. ama(antonio,neve)

6. ama(antonio, pioggia)

7. iscritto(antonio)

8. iscritto(michele)

9. iscritto(giovanni

Goal: ∃∃∃∃X iscritto(X) ∧∧∧∧ scalatore(X) ∧∧∧∧ ¬¬¬¬sciatore(X)

Page 13: Logica i Ordine

8/3/2019 Logica i Ordine

http://slidepdf.com/reader/full/logica-i-ordine 13/13

13

RisoluzioneRisoluzione

C10=Gneg +C8: ¬¬¬¬scalatore(michele) ∨∨∨∨ sciatore(michele)

{X/michele}

C11=C10+C3:¬¬¬¬scalatore(michele) ∨∨∨∨ ama(michele,neve)

{X/michele}

C12=C11+C4:¬¬¬¬scalatore(michele) ∨∨∨∨ ¬¬¬¬ama(antonio,neve)

{X/neve}

C13=C12+C5: ¬¬¬¬scalatore(michele)

C14=C13+C1: ¬¬¬¬iscritto(michele) ∨∨∨∨ sciatore(michele)

{X/michele}

C15=C13+C8: sciatore(michele) {X/michele}

C16=C15+C3: ama(michele,neve) {X/neve}

C17=C16+C4: ¬¬¬¬ama(antonio,neve)

C18=C17+C5: clausola vuota

C1. ¬¬¬¬iscritto(X) ∨∨∨∨ sciatore(X) ∨∨∨∨ scalatore(X)

C2. ¬¬¬¬scalatore(X) ∨∨∨∨ ¬¬¬¬ama(X,pioggia)

C3. ama(X,neve) ∨∨∨∨ ¬¬¬¬sciatore(X)

C4. ¬¬¬¬ama(michele,X) ∨∨∨∨ ¬¬¬¬ama(antonio,X)

C5. ama(antonio,neve)

C6. ama(antonio, pioggia)

C7. iscritto(antonio)

C8. iscritto(michele)C9. iscritto(giovanni)

Gneg: ¬¬¬¬iscritto(X) ∨∨∨∨ ¬¬¬¬scalatore(X) ∨∨∨∨

sciatore(X)