logica i ordine
TRANSCRIPT
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)
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
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ù
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 “≤”
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 )
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)
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”
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)
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))
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
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))
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)
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)