Fondamenti di Logica Matematica versione 1.1.3 Appunti 17 dicembre 2006 Indice 1 Insiemi 3 1.1 Inclusione........... 3 1.2 Intersezione.......... 3 1.3 Unione............. 4 1.4 Dierenza........... 4 1.5 Il complemento........ 4 1.6 Leggi di associatività..... 4 1.7 Proprietà........... 5 1.8 Prodotti cartesiani...... 5 1.9 Potenze cartesiane...... 5 1.10 Funzioni parziali....... 5 1.11 Funzioni totali........ 6 1.12 Dominio e Immagine..... 6 1.13 Funzioni suriettive...... 6 1.14 Funzioni iniettive....... 6 1.15 Funzioni biiettive....... 7 1.16 Funzione Inversa....... 7 2 Esercizi insiemi 7 2.1 Insiemi............. 7 2.2 Inclusione........... 8 2.3 Intersezione ed unione.... 9 2.4 Complemento......... 9 2.5 Dimostrazioni......... 10 2.6 Prodotti cartesiani...... 11 2.7 Funzioni............ 11 3 Logica proposizionale 12 3.1 Formule ben formate..... 12 3.2 Precedenze connettivi.... 13 3.3 Sottoformule......... 13 3.4 Rappresentazione ad albero. 13 4 Esercizi Logica proposizionale 14 5 Teorema di deduzione semantica 14 5.1 Corollario........... 15 6 Equivalenza semantica 15 6.1 Dimostrazioni......... 16 7 Forme normali 17 7.1 FND - Forma normale disgiuntiva............ 17 7.2 FNC - Forma normale congiuntiva............ 17 7.3 Forme normali complete... 18 8 Trasformazione Bottom 18 9 Esercizi FNC - FND 19 10 Calcolo dei sequenti 21 10.1 Regole............. 21 10.2 Esercizi............ 21 11 Predicati del primo ordine 23 11.1 Campo di azione....... 23 11.2 Forme normali prenesse... 24 11.3 Forma di Skolem....... 24 11.4 Esercizi............ 25 12 Teoria di Herbrand 26 12.1 Esercizi............ 26 13 Esercizi Fuzzy Logic 27 14 Diagrammi binari di decisione 28
2 Indice 15 Esame scritto del 17 Gennaio 2006 29 15.1 Esercizio 1........... 29 15.2 Esercizio 2........... 30 15.3 Esercizio 3........... 30 15.4 Esercizio 4........... 31 16 Esame scritto del 5 Luglio 2005 32 16.1 Esercizio 1........... 32 16.2 Esercizio 2........... 33 16.3 Esercizio 3........... 33 17 Esame scritto del 8 Novembre 2005 35 17.1 Esercizio 1........... 35 17.2 Esercizio 2........... 35 17.3 Esercizio 4........... 36 17.4 Esercizio 3........... 36 17.5 Esercizio 5........... 38 Bibliograa 39
1 Insiemi 3 1 Insiemi Un insieme è una collezione di oggetti detti elementi dell'insieme. Concetto di universo, esempi: Naturali {0, 1, 2, } Interi {, 2, 1, 0, 1, 2, } Reali Booleani B= {0, 1} B n Es.: B 2 = {00, 01, 10, 11} 1.1 Inclusione Un insieme A è un sottoinsieme di B (A B, vedi immagine) se ogni elemento di A appartiene anche a B. Es.: {1, 2, 3} {1, 2, 3}. Un insieme A è un sottoineieme proprio di B (A B), se A B ma A è diverso da B (A B); in altre parole, A si dice sottoinsieme proprio di B se ogni elemento di A appartiene a B, ma c'è almeno un elemento di B che non appartiene a A. Es.: {1, 3} {1, 2, 3}. B A 1.2 Intersezione L'insieme degli elementi che appartengono sia ad A che a B, si chiama intersezione di A e B (A B). Se A B = si dicono disgiunti. B A B A
4 1 Insiemi 1.3 Unione L'unione di A e B (A B) è l'insieme degli elementi che appartengono ad almeno uno dei due insiemi A e B. B A A B 1.4 Dierenza La dierenza tra A e B (A\B) è l'insieme degli elementi che appartengono ad A ma non a B. B A B\A 1.5 Il complemento Il complemento di un insieme A ( A) è la dierenza tra l'universo e l'insieme A. A A U 1.6 Leggi di associatività (A B) C = A (B C) (A B) C = A (B C)
1 Insiemi 5 Grazie a queste identità, si può scrivere A B C 1.7 Proprietà 1. Idempotenza (A B) = A (A B) = A 2. Commutatività (A B) = (B A) (A B) = (B A) 3. Distributiva A (B C) = (A B) (A C) A (B C) = (A B) (A C) 1.8 Prodotti cartesiani Il prodotto cartesiano degli insiemi A e B è l'insieme di coppie il cui primo elemento appartiene ad A ed il secondo appartiene a B: A B = {< a, b > a A b B}. Es.: {0, 1} {1, 2} = {< 0, 1 >, < 0, 2 >, < 1, 1 >, < 1, 2 >} 1.9 Potenze cartesiane Il quadrato cartesiano dell'insieme A è: A 2 = A A = {< a, b > a A b B}. La potenza caresiana n-esima dell'insieme A, è l'insieme delle n-tuple 1 di elementi di A: A n = A A = {< a 1, a n > a 1 A a n A}. 1.10 Funzioni parziali Siano A e B due insiemei, una funzione parziale F : A B, è un insieme di coppie 2 < a, b > (con a A b B) in cui ogni elemento di A è in coppia 1 Una n-tupla, ordinata, di un insieme A, è una sequenza < a 1, a n > di elementi di A. 2 < a, b >, è una coppia ordinata il cui primo elemento è a e il cui secondo elemento è b.
6 1 Insiemi con al più un elemento di B. Es.: A = {0, 1, 2, 4}, B = {0, 3, 6} F : A B = {< 0, 0 >, < 1, 3 >, < 4, 6 >}. 1.11 Funzioni totali Siano A e B due insiemei, una funzione totale F : A B, è una funzione parziale che associa ad ogni elemento di A un elemento di B. Es.: A = {a, b, c, d}, B = {0, 3, 6} F : A B = {< a, 0 >, < b, 0 >, < c, 6 >, < d, 6 >}. 1.12 Dominio e Immagine L'insieme degli x dove F è denita si chiama dominio di denizione di F, (Dom(F )). L'insieme degli y tali che < x, y > F, per ogni x Dom(F ), si chiama immagine di F, (Im(F )). Es.: F : {a, b, c, d} {0, 2, 6} F = {< a, 0 >, < c, 6 >, < d, 6 >} Dom(F ) = {a, c, d} e Im(F ) = {0, 6}. 1.13 Funzioni suriettive Sia F : B, se Im(F ) = B allora la funzione si dice suriettiva. Es.: F : {a, b, c, d} {0, 2, 6} F = {< a, 0 >, < c, 6 >, < d, 6 >} Im(F ) = {0, 6} {0, 2, 6} non è suriettiva. Es.: G : {a, b, c, d} {0, 2, 6} G = {< a, 0 >, < c, 2 >, < d, 6 >} Im(G) = {0, 2, 6} è suriettiva. 1.14 Funzioni iniettive Una funzione F, si dice iniettiva se per ogni y Im(F ) esiste al più un x tale che < x, y > F. Es.: F : {a, b, c, d} {0, 2, 6} F = {< a, 0 >, < c, 6 >, < d, 6 >}
2 Esercizi insiemi 7 Im(F ) = {< 0, 6 >, < c, 6 >, < d, 6 >} non è iniettiva, infatti per ogni y deve esistere al più un x; in questo caso le y hanno un corrispondenza in eccesso. Es.: G : {a, b, c, d} {0, 2, 6} G = {< a, 0 >, < d, 6 >} Im(G) = {< 0, 6 >} è iniettiva. 1.15 Funzioni biiettive Una funzione totale, suriettiva ed iniettiva è detta biiettiva. Es.: F : {a, b, c, d} {0, 1, 2, 6} F = {< a, 0 >, < b, 2 >, < c, 6 >, < d, 1 >} F è biiettiva. a b c d 0 1 2 6 1.16 Funzione Inversa Sia f : A B una funzione biiettiva, la funzione inversa di F, (F 1 ) è la funzione F 1 : B A tale che < a, b > A se e solo se < b, a > B. Es.: F : {a, b, c, d} {0, 1, 2, 6} F = {< a, 0 >, < b, 2 >, < c, 6 >, < d, 1 >} F 1 = {< 0, a >, < 1, d >, < 2, b >, < 6, c >}. 2 Esercizi insiemi 2.1 Insiemi Quali dei seguenti insiemi sono uguali?. 1. {1, 7, 4} 2. {1, 7, 1, 4}
8 2 Esercizi insiemi 3. {1, 4, 7} 4. {1, 3, 4, 5} 5. {1, 3, 5} 6. {5, 3, 4, 1} Gli insiemi uguali sono: {1, 7, 4} = {1, 7, 1, 4} = {1, 4, 7} {1, 3, 4, 5} = {5, 3, 4, 1} Infatti non conta l'ordine degli elementi e non contano le ripetizioni. 2.2 Inclusione Quali insiemi sono contenuti almeno in un altro insieme?. (cfr. Ÿ1.1 a Pagina 3) 1. {1, 7, 4} 2. {1, 7, 1, 4} 3. {1, 4, 7} 4. {1, 3, 4, 5} 5. {1, 3, 5} 6. {5, 3, 4, 1, 7} Soluzione: {1, 7, 4} e {1, 4, 7} sono contenuti in {1, 7, 1, 4} {1, 3, 4, 5} e {1, 3, 5} sono contenuti in {5, 3, 4, 1, 7}
2 Esercizi insiemi 9 2.3 Intersezione ed unione Scrivere l'intersezione e l'unione dei seguenti insiemi. (cfr. ŸŸ 1.2, 1.3 a Pagg. 3, 4). 1. {1, 7, 4} e {3, 7, 1} 2. {1, 8, 9, 4, 5} e {w, a, c} Scrivere inoltre la dierenza tra i precedenti insiemi. (cfr. Ÿ1.4 a Pagina 4). I 1 = {1, 7, 4} {3, 7, 1} = {1, 7} U 1 = {1, 7, 4} {3, 7, 1} = {1, 3, 7, 4} I 2 = {1, 8, 9, 4, 5} {w, a, c} = {} U 2 = {1, 8, 9, 4, 5} {1, 8, 9, 4, 5, w, a, c} D 1 = {1, 7, 4} \ {3, 7, 1} = {4} D 1b = {3, 7, 1} \ {1, 7, 4} = {3} D 2 = {1, 8, 9, 4, 5} \ {w, a, c} = {1, 8, 9, 4, 5} D 2b = {w, a, c} \ {1, 8, 9, 4, 5} = {w, a, c} 2.4 Complemento Sia l'universo U = {1, 2, 3, 4, 5, 6} scrivere il complemento (cfr. Ÿ 1.5 a Pagina 4) dei seguenti insiemi: 1. {1, 5, 4} 2. {2, 3, 5, 6} Soluzione: C 1 = {2, 3, 6} C 2 = {1, 4}
10 2 Esercizi insiemi 2.5 Dimostrazioni Dimostrare la legge distributiva: A (B C) = (A C) (A C) (1) Dimostrare la (1), signica dimostrare che: e infatti se: 1. A B 3 2. B A allora sono uguali A (B C) (A C) (A C) (2) (A C) (A C) A (B C) (3) Ogni elemento del primo insieme deve appartenere anche al secondo. Devo dimostrare due espressioni: 1. a A (B C) a (A B) (A C) 2. a (A B) (A C) a A (B C). Per la denizione di unione, a può appartenere a B oppure a C: a (A B) a (A C) Prima parte: a A Seconda parte: a (B C) Se a B a (A B) Se a C a (A C). Dimostrazione della (3) se: a (A B) (A C) a A (A C) (4) La (4) è stata ricavata grazie alla proprietà distributiva dell'unione rispetto all'intersezione. Quindi se: a (A B) e a (A C), signica che: a (A B) (a A oppure a B) e a (A C) (a A oppure a C) Ottengo inne due casi: a A a B e a C. 3 Sottoinsieme: se ogni elemento di A è contenuto in B.
2 Esercizi insiemi 11 Dimostrare la proprietà di idempotenza: Posso avere due possibilità: 1. a A oppure 2. a A, quindi a A a A a A A A = A. (5) 2.6 Prodotti cartesiani Calcolare i seguenti prodotti cartesiani (cfr. Ÿ 1.8 a Pagina 5): 1. {4, 5, 1} {1, 2} 2. {e, a} {6, 9} Soluzione: C 1 = {< 4, 1 >, < 4, 2 >, < 5, 1 >, < 5, 2 >, < 1, 1 >, < 1, 2 >} C 2 = {< e, 6 >, < e, 9 >, < a, 6 >, < a, 9 >} 2.7 Funzioni Sia A = {0, 1, 2, 3}, B = {0, 1, 3, 6}; i seguenti insiemi sono funzioni (cfr. Ÿ 1.10 e ss. a Pagina 5)? 1. F = {< 0, 0 >, < 0, 1 >, < 3, 6 >} 2. F = {< 0, 0 >, < 1, 0 >, < 3, 6 >} 3. F = {< 0, 0 >, < 1, 3 >, < 2, 1 >, < 3, 6 >} Soluzione: F 1, non è una funzione parziale in quanto ogni elemento di A deve essere in coppia con al più uno di B; le prime due coppie fanno riferimento ad un solo elemento di A. F 2, è una funzione parziale
12 3 Logica proposizionale F 3, è una funzione totale, in quanto associa ad ogni elemento di A un elemento di B. è anche una funzione suriettiva Im(F ) = B ed iniettiva; si conseguenza è una funzione biiettiva. Sia A = {0, 1, 2, 3}, B = {0, 1, 3, 6}; le seguenti funzioni sono parziali, totali, iniettive, suriettive, biiettive? 1. F = {< 0, 0 >, < 1, 0 >, < 3, 6 >} 2. F = {< 0, 0 >, < 1, 3 >, < 2, 1 >, < 3, 6 >} 3. F = {< 0, 0 >, < 1, 3 >, < 2, 0 >, < 3, 6 >} Soluzione: F 1, è una funzione parziale, F 2, è una funzione totale, suriettiva, iniettiva, quindi biiettiva, F 3, e una funzione totale. Calcolare l'inversa delle funzioni precedenti quando esiste. L'inversa di una funzione esiste solo se la funzione di partenza F è biiettiva: (F 2 ) 1 = {< 0, 0 >, < 3, 1 >, < 1, 2 >, < 6, 3 >} 3 Logica proposizionale Una proposizione è un particolare enunciato che può essere: atomica composta cioè costruita a partire da proposizioni atomiche usando i connettivi (,,, ) 3.1 Formule ben formate Sono le formule corrette del linguaggio. Sono denite in modo ricorsivo: Le lettere enunciative ed i simboli V e F sono f.b.f Se P è un f.b.f anche P lo è Se P e Q sono f.b.f lo sono anche (P Q), (P Q), (P Q)
3 Logica proposizionale 13 3.2 Precedenze connettivi Al ne di evitare una esplosione di parentesi negli enunciati, sono state denite delle precedenze di alcuni operatori: precede che precede che precede 3.3 Sottoformule (A B) (A B A). La sottoformule sono: (A B) (A B A) A B A B A B 3.4 Rappresentazione ad albero (A B) (A B A): A B A A B Un albero di struttura ha: come radice: il connettivo principale
14 5 Teorema di deduzione semantica come foglie: le lettere enunciative come nodi interni: i connettivi La sottoformula (A B A) corrisponde a: A B A A B 4 Esercizi Logica proposizionale ((A B) ( C)) (A (B ( C))) [1] 5 Teorema di deduzione semantica Γ {P } Q sse Γ (P Q) (6) Per dimostrare la (6), si deve dimostrare la doppia implicazione se e solo se; quindi la dimostrazione è composta da due passi principali. Dimostrazione per ( ): è importante avere ben chiaro quale sia l'ipotesi e la tesi. Hp: Γ {P } Q Tesi: Γ (P Q) Devo dimostrare la tesi; mi interesso delle v di Γ, ho due casi:
6 Equivalenza semantica 15 Se v(p ) = 1 e v è un modello di Γ, dall'ipotesi per denizione di conseguenza semantica, ho che Q(P ) = 1 e quindi per l'implicazione si ha che 1 1 = 1: v(p Q) = 1 Se v(p ) = 0, v(p Q) = 1 in entrambi i casi la tesi è vera. Dimostrazione per ( ): Hp: Γ (P Q) Tesi: Γ {P } Q Se v è un modello per Γ {P }, allora v è un modello sia per Γ che per P sempre per denizione di conseguenza semantica, dall'ipotesi, v(p Q) = 1. 5.1 Corollario Γ {P } Q sse Γ (P Q) (7) Con Γ, insieme vuoto: P Q sse (P Q) (8) 6 Equivalenza semantica Una formula P è semanticamente equivalente a Q (P Q) se tutti e soli i modelli di P sono modelli di Q. A (A B) A B questo è vero, A (A B) A B questo no!. Tabella 1: A (A B) A B A A B A (A B) 0 0 1 1 1 0 1 1 1 1 1 0 0 0 0 1 1 0 1 0
16 6 Equivalenza semantica Tabella 2: A B A B A A B 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 1 I modelli della Tabella (1) a Pagina 15, sono: v 1 (A) = 0, v 1 (B) = 0 v 2 (A) = 0, v 2 (B) = 1 mentre i modelli della Tabella (2) a Pagina 16, sono: v 1 (A) = 0, v 1 (B) = 0 v 2 (A) = 0, v 2 (B) = 1 v 3 (A) = 1, v 3 (B) = 1 6.1 Dimostrazioni Assorbimento: P (P Q) P Sia v una interpretazione qualsiasi: min(v(p ), v(p Q)) min(v(p ), max(v(p ), v(q))) Ho due casi: Se P > Q min(v(p ), v(p )); Ok. Se Q > P min(v(p ), v(q)) risulta sempre v(p ) in quanto se Q > P signica che il minimo tra P e Q è P. Distributiva: P (Q R) (P Q) (P R)
7 Forme normali 17 7 Forme normali A volte è utile poter trasformare un f.b.f. in una sua equivalente, una volta arrivati al limite delle sostituzioni si ottiene una forma canonica detta anche forma normale. Risulta importante sapere che per ogni f.b.f P esistono una formula normale congiuntiva P C ed una disgiuntiva P D ; con P P C e P P D 7.1 FND - Forma normale disgiuntiva Si ottiene con una congiunzione 4 di disgiunzioni 5. Passo 1 Eliminazione del connettivo P Q P Q Passo 2 Portare le negazioni all'interno ed eliminare le doppie negazioni (P Q) P Q (P Q) P Q P P Passo 3 Portare le congiunzioni all'interno delle disgiunzioni P (Q R) (P Q) (P R) Passo 4* Facoltativo, semplicazioni: P P F e P P T F P F e F P P T P P e T P T P P P e P P P 7.2 FNC - Forma normale congiuntiva Si ottiene con una disgiunzione di congiunzioni. Passo 1 Eliminazione del connettivo P Q P Q Passo 2 Portare le negazioni all'interno ed eliminare le doppie negazioni (P Q) P Q (P Q) P Q P P 4 AND 5 OR
18 8 Trasformazione Bottom Passo 3** Portare le disgiunzioni all'interno delle congiunzioni P (Q R) (P Q) (P R) Passo 4* Facoltativo, semplicazioni: P P F e P P T F P F e F P P T P P e T P T P P P e P P P 7.3 Forme normali complete Per costruire la FND completa di P, si costruisce la sua tabella di verità; quando ho trovato i modelli della formula P, guardo l'interpretazione relativa se v(a i ) = 1 allora inserisco nella disgiunzione A i altrimenti A i. Esempio: (A (B ( A B))) Tabella 3: (A (B ( A B))) int A B A A B B A B A B A B(3) (3) v 1 0 0 1 0 1 0 1 v 2 0 1 1 1 1 0 1 v 3 1 0 0 0 1 1 0 v 4 1 1 0 0 0 0 1 Guardo le interpretazioni che soddisfano la formula (la colonna (3)); cioè v 1, v 2, v 4 ; a questo punto gurado semplicemente le interpretazioni di A e di B: 00, 01, 10, 11. Ed ottengo: ( A B) ( A B) (A B) 00-01 - 11; dove c'è 0 nego. Nel caso della costruzione della forma normale completa di un FNC, considero solo le interpretazioni che non soddisfano la f.b.f. quelle con 0. 8 Trasformazione Bottom La funzione : P = P se P è una formula atomica
9 Esercizi FNC - FND 19 (P Q) = P Q (P Q) = P Q ( P ) = P 9 Esercizi FNC - FND Es.(1) :( (A B) C) F ND (A B) C F NC (C A) (C B) Es.(2) :( ((A B) C) (A B)) ((A B) C) (A B) F NC ( A B) C) A B (( C A) ( C B)) A B (( A C A) ( A C B)) B (( A C) ( A C B)) B ( B A C) ( B A C B) ( B A C) (F A C) F ND ( B A C) F Es.(3) :((A C) (A B)) (C B) ( (A C) (A B)) C B ( A C A B) C B (F C B) C B F NC ( C B) C B (( C C) ( C B)) B) ( B C C) ( B C B) ( B C C) ( C F ) F ND B C C
20 9 Esercizi FNC - FND Es.(7 Esercit.3) : P = ( ((A B) C) (A B)) R = (C B) P [R/B] : ( ((A (C B)) C) (A (C B))) ((A (C B)) C) (A (C B)) ((A (C B)) C) ( A C B) ((A C B) C) A C B ( A C B) C A C B T ip P (Q R K) (P Q) (P R) (P K) (( C A) ( C C) ( C B)) A C B (( C A) F ( C B)) A C B (( C A) ( C B)) A C B ((A C A) (A C B)) C B F NC F ND A C B C B F (( C A) ( C C) ( C B)) B (B C A) (B C C) (B C B) F ND (B C A) (B C C) Tabella 4: A C B C B F int A B C A C(1*) 1 B(2*) 2 C(3*) 3 B v 1 0 0 0 0 0 0 0 v 2 0 0 1 0 0 0 0 v 3 0 1 0 0 0 0 0 v 4 0 1 1 0 0 0 0 v 5 1 0 0 1 1 0 0 v 6 1 0 1 0 0 0 0 v 7 1 1 0 1 0 1 0 v 8 1 1 1 0 0 0 0 F ND C = (A B C) (A B C) (A B C) ( A B C) F NC C = la formula con il minor numero di letterali è: A C B C B F : 1.
10 Calcolo dei sequenti 21 10 Calcolo dei sequenti 10.1 Regole ( a destra) Γ P, Γ Q, Γ P Q, ( a sinistra) Γ, P, Q Γ, P Q ( a sinistra) Γ, P Γ, Q Γ, P Q ( a destra) Γ P, Q, Γ P Q, ( a sinistra) Γ P, Γ, Q Γ, P Q ( a destra) Γ, P Q, Γ P Q, 10.2 Esercizi Esercizio 1 Esercizio 2 Esercizio 3 B B A A A, B B A, B A A, B (A B) (A B) (B A) (A B) (B A) A A B B A A, B B A, B (A B A, B) (A B) (A B) (A B), (A B) (A B), A B (A B) A B A A A A A, A (A A), A (A A) A (A A) A
22 10 Calcolo dei sequenti Esercizio 4 Deduzione Naturale [A] [A A] [A] A Hp : (A) A Hp : (A A) (A A) A Svolgimento: Ipotizzo che (A A), sia vero; se questo è vero allora mi basta dimostrare A, passo dalla linea 0 alla linea dove riporto A e l'ipotesi che (A A) sia vero. [A] A ; A questo punto per dimostrare A applico l'introduzione della negazione questa dice che partendo dal faslo, posso dimostrare A con ipotesi A. Di conseguenza, passo alla riga successiva scrivendo e riportando come ipotesi A. Ora con la regola: A A, posso utilizzare una ipotesi per cercare di chiudere la dimostrazione; utilizzo la regola e passo alla riga [A] A. Adesso utilizzando la regola P, posso chiudere la dimostrazione attraverso le ipotesi: Esercizio 5 [A] [A A] A. P Q Q A A A B, A A A (A B), A ((A B) A) A (((A B) A) A) Es.: 2.2 pag. 75[1]: Dimostrare in un sistema deduttivo che le seguenti proposizioni sono derivabili: 1. (A B) C A (B C) 2. A B A B 3. (A B) A B 4. A A 5. A A 9. (A B) (B A)
11 Predicati del primo ordine 23 Soluzione (1): Soluzione (2): Soluzione (3): Soluzione (4): A A A, B, C A Soluzione (5): Simile al (4). B B C C A, B, C B A, B, C C A, B, C (A B) A, B, C A (B C) (A B) C A (B C) (A B) C A (B C) A A A, B A, B A B A B A A B B A, B A A, B B A, B A B (A B) (A B) (A B) (A B) (A B) A B A A A, A A A A A 11 Predicati del primo ordine La logica dei predicati o del primo ordine che dir si voglia, è più espressiva rispetto al calcolo proposizionale; in quanto ad esempio è possibile gestire la generalità; questa tipo di logica introduce i quanticatori:,. 11.1 Campo di azione Il campo di azione di un quanticatore è la f.b.f. immediatamente alla sua destra. Una variabile che è nel campo di azione di un quanticatore è detta legata altrimenti libera. Le variabili libere vengono rappresentate da un insieme chiamato FV, free-variable mentre quelle legate: BV. Determinare le variabili libere nelle seguenti formule:
24 11 Predicati del primo ordine y A(x, y) B(x, y) F V = x, y nel secondo termine, BV = x, y nel primo termine y x(a(x, y) B(x, y)) F V =, BV = x, y y xa(y) (B(x, y) zc(x, z)) F V = x, y x, y nel secondo termine, BV = y nel primo termine, BV = z nel terzo termine x y(a(x, y) B(x)) zc(z) D(z) F V =, BV = x, y, z 11.2 Forme normali prenesse Una f.b.f. P è in forma normale prenessa se tutti i suoi quanticatori sono alla sinistra della formula P. Trasformazione: Passo 1 : ridenominare con nomi nuovi le variabili legate che hanno lo stesso nome delle variabili libere Passo 2 : ridenominare con nomi nuovi le variabili legate che hanno lo stesso nome di altre variabili legate Passo 3 : estrazione dei quanticatori usando le regole: N.B.: Q = Q. xp x P e xp x P Q 1 xp Q 1 yq Q 1 xq 1 y(p Q) con Q i {, } Q 1 xp Q 1 yq Q 1 xq 1 y(p Q) con Q i {, } xp Q x(p Q) e xp Q x(p Q) P xq x(p Q) e P xq x(p Q) 11.3 Forma di Skolem Elimina i quanticatori esistenziali ( ). La formula di Skolem ottenuta non è equivalente a quella originale, ma è soddisfacibile se lo è quella di partenza. Per trasformarla deve essere in forma normale prenessa. Come si trasforma; ho due casi:
11 Predicati del primo ordine 25 se xa(x) introduco un simbolo di costante c e scrivo A(c) se x yb(x, y) cioè ho un per ogni prima dell'esiste: introduco un simbolo di funzione che dipende da x, xb(x, f(x)) Esempio: x y z tb(x, y, z, t) y z tb(c, y, z, t) y zb(c, y, z, f(x, y)) 11.4 Esercizi Dimostrare in un sistema deduttivo che (Es.: 5.1 pag. 181 [1]): 1. xp (x) yp (y) 2. xp (x) x P (x) 3. xp (x) xp (x) xp (x) Testo non corretto! 7. errore del libro: errata corrige: x P (x) xp (x) Soluzione (1): Soluzione (2): Soluzione (3): P (x) P (x) xp (x) P (x), yp (y) xp (x) yp (y) xp (x) yp (y) P (x) P (x) xp (x) xp (x) xp (x) xp (x) P (x) xp (x) xp (x) P (x) P (x) P (x) xp (x) xp (x) xp (x) xp (x) xp (x) xp (x) xp (x) xp (x) Trasformare le seguenti f.b.f. in forma di Skolem (Es.: 4.15 pag. 132 [1]): 1. y( xa(x, y) B(y, x)) y( xc(x, y) B(x, y))
26 12 Teoria di Herbrand 2. x y zd(x, y, z) x ya(x, y) x yb(x, y) 3. ( x ya(x, y) x yb(x, y)) x yb(x, y) Soluzione (1): y( xa(x, y) B(y, x)) y( xc(x, y) B(x, y)) y( xa(x, y) B(y, x)) z( kc(k, z) B(k, z)) y x z k(a(x, y) B(y, x)) (C(k, z) B(k, z)) F NP y x k(a(x, y) B(y, x)) (C(k, f(y, x)) B(k, g(y, x))) F. Skolem 12 Teoria di Herbrand 12.1 Esercizi Mostrare che P è conseguenza logica di S. P = A C S = {A (B C), A B} Dimostrare che: S P. Grazie al teorema di refutazione posso dire che: S c ( P ) c R Converto P e S a clausole: S c 1 = A( B C) P c = { A, B, C} S c 2 = A B = { A, B} S c = {{ A, B, C}, { A, B}} P = ( A C) = A C ( P ) c = {{A}, { C}} quindi {{ A, B, C}, { A, B}} {{A}, { C}}
13 Esercizi Fuzzy Logic 27 Refutazione: C 1 = {A} C 2 = { A, B} ( P ) c S c C 3 = {B} R, C 1, C 2 C 4 = { A, B, C} S c C 5 = { C} ( P ) c C 6 = { A, B} R, C 4, C 5 C 7 = { A} R, C 3, C 6 C 8 = R, C 1, C 7 13 Esercizi Fuzzy Logic Sia U = {1; 2; 3; 4; 5; 6; 7; 8; 9}. Calcolare l'unione l'intersezione ed il complemento dei seguenti insiemi: A = [0; 0.3; 0.6; 1; 0; 0.7; 0.5; 0; 0.9] B = [1; 0.4; 0; 1; 0.8; 0.2; 0.34; 0.99; 0.1] A B = [1; 0.3; 0.6; 1; 0.8... ] A B = [0; 0.3; 0; 1; 0; 0.2... ] A C = [1; 0.7; 0.4; 0; 1; 0.3... ] Per calcolare molto, più o meno ed esattamente: 1. molto: A 2 2. più o meno: A 3. esattamente: prendo solo gli 1.
28 14 Diagrammi binari di decisione 14 Diagrammi binari di decisione
15 Esame scritto del 17 Gennaio 2006 29 15 Esame scritto del 17 Gennaio 2006 15.1 Esercizio 1 R = (B A) P = (D B) (D B) P [R/D] : ((B A) B) ((B A) B) R [P/B] : (( (D B) (D B)) A) F NC [R/D] : ((B A) B) ((B A) B) ( (B A) B) (B A) (( B A) B) (B A) ((B A) B) (B A) ((B B) (B A)) (B A) (B (B A)) (B A) (B B) (B A) (B A) B (B A) (B B) (B A) F ND B (B A) Tabella 5: ((B A) B) ((B A) B) int A B (B A)(1*) 1 B(2*) 1 B(3*) 2 3 (4*) 4 v 1 0 0 0 0 0 0 1 v 2 0 1 1 1 1 1 0 v 3 1 0 1 0 1 0 1 v 4 1 1 1 1 1 1 0 F NC C = (A B) ( A B) F ND C = ( A B) (A B) la formula con il minor numero di letterali è: B (B A): 3.
30 15 Esame scritto del 17 Gennaio 2006 15.2 Esercizio 2 Determinare se la formula ben formata P è derivabile. Se e derivabile si dia una dimostrazione in un sistema deduttivo. Se non è derivabile si fornisca un contromodello. P = ( x(p (x) (Q(x) R(x)))) ( x(p (x) Q(x)) x(p (x) R(x))) P (z) P (z) 1, P (z) P (z), Q(z) Q(z) Q(z) 1, P (z), Q(z), R(z) Q(z) 1, P (z), Q(z) R(z) Q(z) 1, P (z) (Q(z) R(z)), P (z) Q(z) 1, P (z) (Q(z) R(z)) P (z) Q(z) x(p (x) (Q(x) R(x))) P (z) Q(z) x(p (x) (Q(x) R(x))) x(p (x) Q(x)) identico idem. ( x(p (x) (Q(x) R(x)))) ( x(p (x) Q(x)) x(p (x) R(x))) ( x(p (x) (Q(x) R(x)))) ( x(p (x) Q(x)) x(p (x) R(x))) Dove: x(p (z) (Q(x) R(x))) = 1 idem: identico nel procedimento. 15.3 Esercizio 3 Si domostri per risoluzione che: B(a) x(b(x) ya(x, f(y))) x y(a(x, y) A(x, f(y))) x ya(x, f(f(y))) Bisogna dimostrare che: S C ( P ) C R. S = B(a) x(b(x) ya(x, f(y))) x y(a(x, y) A(x, f(y))) B(a) x y(b(x) A(x, f(y))) z k(a(z, k) A(z, f(k))) B(a) x y z k(b(x) A(x, f(y))) (A(z, k) A(z, f(k))) x y z kb(a) (B(x) A(x, f(y))) (A(z, k) A(z, f(k))) x z kb(a) (B(x) A(x, f(g(x)))) (A(z, k) A(z, f(k))) B(a) (B(x) A(x, f(g(x)))) (A(z, k) A(z, f(k))) S C = {{B(a)}, {( B(x), A(x, f(g(x))))} { A(z, k), A(z, f(k))}} P = x y A(x, f(f(y))) P C = {{ A(x, f(f(y)))}} P C = {{ A(e, f(f(u)))}} Camb. var. F NP F.Skolem Elim. F. clausole
15 Esame scritto del 17 Gennaio 2006 31 Risoluzione di S C ( P ) C R : C 1 = { A(z, k), A(z, f(k))} C 2 = { A(e, f(f(u)))} C 3 = { A(z, k)} C 4 = {( B(x), A(x, f(g(x))))} C 5 = { B(x)} C 6 = {B(a)} C 7 = S C ( P ) C R, C 1, C 2, σ {z/e, f(u)/k} S c R, C 3, C 4, σ {x/z, f(g(x))/k} S C R, C 5, C 6, σ {a/x} 15.4 Esercizio 4
32 16 Esame scritto del 5 Luglio 2005 16 Esame scritto del 5 Luglio 2005 16.1 Esercizio 1 R = (B C) P = (A B) D P [R/D] : (A B) (B C) F ND [R/D] : ( A B) ( B C) ( A B) ( B C) (A B) B C (( B A) ( B B)) C (( B A) B) C F NC ( C B A) ( C B) Tabella 6: (A B) (B C) int A B C (A B)(1*) C B C(2*) 1 2 v 1 0 0 0 1 1 0 0 v 2 0 0 1 1 0 0 0 v 3 0 1 0 1 1 0 0 v 4 0 1 1 1 0 0 0 v 5 1 0 0 0 1 0 1 v 6 1 0 1 0 0 0 1 v 7 1 1 0 1 1 0 0 v 8 1 1 1 1 1 0 0 F NC C = (A B C) (A B C) (A B C) ( A B C) F ND C = (A B C) (A B C) la formula con il minor numero di letterali è: (A B) B C: 4.
16 Esame scritto del 5 Luglio 2005 33 16.2 Esercizio 2 Determinare se la formula ben formata P è derivabile. Se e derivabile si dia una dimostrazione in un sistema deduttivo. Se non è derivabile si fornisca un contromodello. Dove: P = x(a(x) xb(z)) y(a(y) B(y)) A(z) A(z) B(k) B(k) 2, A(z) A(z), 1, B(z) 2, A(z), B(k), A(k) 1, B(k), B(z) 2, A(z), B(k) 1, A(k) B(k), B(z) 2, A(z), B(k) 1, B(z) 2, A(z), zb(z) 1, B(z) 2, A(z) zb(z), A(z) 1, B(z) x(a(x) xb(z)), A(z) 1, B(z) x(a(x) xb(z)) 1, A(z) B(z) x(a(x) xb(z)) y(a(y) B(y)) x(a(x) xb(z)) y(a(y) B(y)) y(a(y) B(y)) = 1 x(a(x) xb(z)) = 2 16.3 Esercizio 3 Si dimostri per risoluzione che: x(a(x) B(x)) x(a(x) C(x)) x(b(x) C(f(x))) x( C(x)) S = x(a(x) B(x)) x(a(x) C(x)) x(b(x) C(f(x))) P = x( C(x)) 1. Calcolo la Forma Normale Prenessa di S (a) x(a(x) B(x)) z(a(z) C(z)) h(b(h) C(f(h))) (c) x z h(a(x) B(x)) (A(z) C(z)) (B(h) C(f(h))) 2. Calcolo la Forma di Skolem di S: (a) z h(a(c) B(c)) (A(z) C(z)) (B(h) C(f(h))) 3. Eliminazione dei quanticatori
34 16 Esame scritto del 5 Luglio 2005 (a) (A(c) B(c)) (A(z) C(z)) (B(h) C(f(h))) 4. Calcolo la Forma Normale Congiuntiva di S (a) (A(c) B(c)) (A(z) C(z)) ( B(h) C(f(h))) (b) (A(c) B(c)) ( A(z) C(z)) ( B(h) C(f(h))) 5. Calcolo S C (a) S C = {{A(c), B(c)} ; { A(z), C(z)} ; { B(h), C(f(h))}} 6. Calcolo P C (a) P = x( C(x)) è gia in FNP, Forma di Skolem. (b) Calcolo P C P C = {{ C(x)}} Risoluzione di S C ( P ) C R : C 1 = { B(h), C(f(h))} C 2 = { C(x)} C 3 = { B(h)} C 4 = {A(c), B(c)} C 5 = {A(c)} C 6 = { A(z), C(z)} C 7 = { C(z)} C 8 = { C(x)} C 9 = S C ( P ) C R, C 1, C 2, σ {f(h)/x} S c R, C 3, C 4, σ {c/h} S C R, C 5, C 6, σ {c/z} ( P ) C R, C 7, C 8, σ {z/x}
17 Esame scritto del 8 Novembre 2005 35 17 Esame scritto del 8 Novembre 2005 17.1 Esercizio 1 Calcolare la sostituzione mgu (se esiste) dell'insieme E utilizzando l'algoritmo di unicazione. 1. σ = ɛ E = {A(f(y, h(z)), x), A(f(h(x), y), g(z))} 2. E σ0 > 1; D = {y, h(x)}; σ 1 = σ 0 {h(x)/y} E σ1 = {A(f(h(x), h(z)), x), A(f(h(x), h(x)), g(z))} 3. E σ1 > 1; D = {z, x}; σ 2 = σ 1 {z/x} E σ2 = {A(f(h(z), h(z)), z), A(f(h(z), h(z)), g(z))} 4. E σ2 > 1; D = {z, g(z)}; Occour Check! L'insieme E non è unicabile!. 17.2 Esercizio 2 Calcolare una forma di Skolem per la seguente formula ben denita: P = (( x ya(x, y)) ( z ya(y, z))) z wb(w, z) Soluzione: 1. Non è in forma normale prenessa: (a) cambio il nome delle variabili legate (( x ya(x, y)) ( k ua(u, k))) l tb(t, l) 2. applico le regole per portare a sinistra i quanticatori x y k u(a(x, y)) (A(u, k)) l tb(t, l) x y k u l t( (A(x, y)) A(u, k)) B(t, l) 3. Forma di Skolem: k l( (A(c, a)) A(f(k), k)) B(g(k, l), l)
36 17 Esame scritto del 8 Novembre 2005 17.3 Esercizio 4 Si dimostri per risoluzione che: 1. Forma normale prenessa x y(a(x) B(y)) 2. Forma di Skolem y(a(c) B(y)) 3. S C S C = {{A(c)}, {B(y)}} Seconda parte: 1. P y x (A(x) B(y)) 2. Forma di Skolem x (A(x) B(a)) x(a(x) yb(y)) y x(a(x) B(y)) 3. P C P C = {{ A(x), B(a)}} Risoluzione di S C ( P ) C R : S C { P } C R C 1 = {A(c)} C 2 = { A(x) B(a)} C 3 = { B(a)} C 4 = {B(y)} C 5 = S C ( P ) C R, C 1, C 2, σ {c/x} S C R, C 3, C 4, σ {a/y} 17.4 Esercizio 3 P (a, k) P (a, z), xq(x), Q(z), Q(k) P (a, x) xp (a, x), xq(x) Q(w) Q(w) P (a, y), Q(u) Q(u), Q(x) xp (a, x), Q(x) xq(x) xp (a, x) xq(x), P (a, x) xq(x) xp (a, x) xq(x) xp (a, x) xq(x) ( xp (a, x) xq(x)) ( xp (a, x) xq(x))
17 Esame scritto del 8 Novembre 2005 37 Cerco il contromodello: D = {k, z, a} ξ (k) = k ξ (z) = z I (a) = a I P (a,k) = 1 I P (a,z) = 0 I Q(z) = 0 I Q(a) = 0 I Q(k) = 0 Tutte le altre combinazioni possono valere 0 oppure 1.
38 17 Esame scritto del 8 Novembre 2005 17.5 Esercizio 5
Riferimenti bibliograci 39 Riferimenti bibliograci [1] A. Asperti, A. Ciabattoni (1997), Logica a informatica McGraw-Hill [2] http://en.wikipedia.org Data accesso 30.06.2006 [3] http://www.dti.unimi.it/~ciriani Data accesso 20.11.2006