Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
p q r (pq)r F F F T F F T F T F F T T T F F T F T T T F T T T T T T T T F T
Sintassi
Insieme finito C di simboli di costante {c1, c2, , cn} Insieme finito V di simboli di variabile {X1, X2, , Xm} Insieme finito F di simboli di funzione {f1, f2, , fk} Insieme finito P di simboli di predicato {p1, p2, , pl} Connettivi: , , , , Quantificatori: , Parentesi: ( )
Termine
Termine (definito ricorsivamente):
una variabile un termine una costante un termine se f un simbolo di funzione n-aria e t1,...,tn sono termini, allora f(t1,...,tn) un termine
Regole di precedenza
Esempio a b X c(X) d(X,Y) equivalente a (a (( b) (X c(X))) ) d(X,Y) maggiore minore
Letterale
fbf atomica o la sua negazione Esempio: parente(maria, giovanni)
Forme normali
Qualunque fbf pu essere trasformata in forma normale prenessa (congiuntiva o disgiuntiva) attraverso opportune trasformazioni sintattiche
Ground/varianti Ground/varianti
Formule ground: formule che non contengono variabili. Esempio:
Semantica
Logica proposizionale: una interpretazione un assegnamento di valori di verit ad atomi Logica del primo ordine: necessario fare di pi
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)
Interpretazione
Uninterpretazione di una formula F nella logica del primo ordine 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 una corrispondenza da Dn D; ad ogni simbolo di predicato n-ario si assegna una relazione in Dn, cio un sottoinsieme di Dn oppure una corrispondenza da Dn a {T,F}
Linguaggio del primo ordine: una costante 0; un simbolo di funzione unaria s; un simbolo di predicato binario p. Interpretazione I1
D: numeri naturali. 0 rappresenta il numero zero. s rappresenta il successore di un numero naturale p rappresenta la relazione binaria
Esempio
Interpretazione I2
D: numeri interi negativi 0 rappresenta il numero zero s rappresenta il predecessore di un numero naturale p rappresenta la relazione binaria
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 D: numeri interi negativi 0 rappresenta lo zero s rappresenta il predecessore p rappresenta
I2:
Interpretazione I2
Vero: esiste -2, minore di -1
I2:
Esercizio (cont.)
Se X=1
X (p(X) q(f(X),a))
Se X=2
Nota
Importane lordine tra X Y ama(X,Y): Tutti amano qualcuno Y X ama(X,Y): C qualcuno che amato da tutti
Continuano a valere
Soddisfacibile Insoddisfacibile Valida Conseguenza logica Teorema 1 e Teorema 2
Problema interessante
Determinare 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 o modello
La logica dei predicati del primo ordine pu essere formulata come sistema assiomatico-deduttivo Teoria assiomatica formule ben formate ritenute vere: assiomi criteri di manipolazione sintattica: regole di inferenza derivano fbf da fbf: condizioni -------------conclusione Scopo: produrre nuove formule sintatticamente corrette (teoremi)
Sistemi deduttivi
Regole
(AB) equivale a (A ( B)) (AB) 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.)
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.)
Modus Ponens (MP): A, A B B Specializzazione (Spec): X A(X) A(t)
Dimostrazioni di teoremi
Dimostrazione: sequenza finita di fbf f1, f2, ..., fn, tale che ciascuna fi o un assioma oppure ricavabile dalle fbf precedenti mediante una regola di inferenza Teorema: Lultima 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 una sequenza di fbf f1, f2, ..., fn, tale che fn = F e, per ogni i, o fi un assioma di T, oppure ricavabile dalle fbf precedenti mediante una regola di inferenza di T
Esempio
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))
Esempio
Spec
MP usando A1
p(0,s(0))
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 rappresentati mediante predicati unari (es.: dorme (X)); verbi transitivi vengono tradotti come predicati binari (es.: mangia(giovanni, mela))
Esercizio
Luigi mangia pane e formaggio
mangia(luigi, pane formaggio) NO!!! mangia(luigi, pane) mangia(luigi, formaggio) and solo tra proposizioni
Esempi
Sara ama i gatti:
ama(sara, gatti) NO! X gatto(X) ama(sara, X)
Ambiguit
Tutti i filosofi leggono alcuni libri Tutti coloro che sono filosofi leggono un certo numero di libri, 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 tutti coloro che sono filosofi leggono: Y libro(Y)filosofo(X)legge(X,Y)
Esercizio
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)
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)
Esercizio
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 di ogni lepre Ralph una lepre
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)
))
Esercizio
Esiste una tartaruga che pi vecchia di ogni essere umano Non tutti gli studenti seguono sia il corso di storia che quello di biologia
Soluzione
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))
Clausola
Disgiunzione di letterali (formule atomiche negate e non) in cui tutte le variabili sono quantificate universalmente in modo implicito Esempio: p(X) q(Y) X Y p(X) q(Y)
Principio di risoluzione
Logica del I ordine
Esempio
C1 = p(X,a) q(X) C2 = f p(b,a)
Regola di inferenza
C1 & C2 parent
C1 = A1 An C3 risolvente C2 = B1 Bm Se esistono in C1 ed in C2 due letterali opposti: [Ai] = [Bj]
Sostituzione
Insieme di legami di termini a simboli di variabili ={X1/T1, X2/T2, , Xn/Tn}
X1, X2, , Xn distinte Xi Ti i [1..n]
Esempi
={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}
={X/a, Y/X}
[p(X, Y))] = p(a, X) simultaneamente
10
Unificazione
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)
T2
Algoritmo di unificazione
T1 Costante C2 OK se C1 =C2 OK {X1/C2} NO Variabile X2 OK {X2/C1} OK {X1/X2} OK {X2/S1} Termine composto S2 NO OK {X1/S2} OK se S1 e S2 stesso funtore e ariet e argomenti unificano
Esempio
C1 = p(X,a) q(X) C2 = f p(b,a)
Esercizio
1.X
Formule logiche
(cibo(X) piace(X,gianni))
2.cibo(mele) 3.cibo(pollo) 4.XY
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?
11
1.X
(cibo(X)piace(X,gianni))
2.cibo(mele)
Formule a clausole
3.cibo(pollo) 4.XY
(mangia(Y,X) uccide(X,Y) cibo(X)) nocciol) uccide(nocciol,paolo) 6.X(mangia(paolo,X) mangia(susanna,X)) G1: piace(nocciol, gianni)
5.mangia(paolo,
Risoluzione: G1 C3:cibo(pollo)
(cibo(X) piace(X,gianni) cibo(mele) cibo(pollo) uccide(X,Y)) cibo(X) (mangia(Y,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) C1: C2: C3: C4:
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)
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
Risoluzione G2
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)
Esercizio
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 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 del primo ordine. Si mostri, mediante la risoluzione: "C' un iscritto al CAI che uno scalatore, ma non uno sciatore?"
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
Formule logiche
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 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 del primo ordine. Si mostri, mediante la risoluzione: "C' un membro del CAI che uno scalatore, ma non uno sciatore?"
Clausole
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)
1. 2. 3. 4. 5. 6. 7. 8. 9.
X(iscritto(X) sciatore(X) scalatore(X)) X(scalatore(X) ama(X,pioggia)) X(ama(X,neve) sciatore(X)) X(ama(michele,X) ama(antonio,X)) ama(antonio,neve) ama(antonio,pioggia) iscritto(antonio) iscritto(michele) iscritto(giovanni)
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)
12
Risoluzione
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)
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
13