La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione alla LOGICA MATEMATICA Corso di Matematica Discreta. Corso di laurea in Informatica. Prof. Luigi Borzacchini V. La logica dei predicati. Sintassi.

Presentazioni simili


Presentazione sul tema: "Introduzione alla LOGICA MATEMATICA Corso di Matematica Discreta. Corso di laurea in Informatica. Prof. Luigi Borzacchini V. La logica dei predicati. Sintassi."— Transcript della presentazione:

1 Introduzione alla LOGICA MATEMATICA Corso di Matematica Discreta. Corso di laurea in Informatica. Prof. Luigi Borzacchini V. La logica dei predicati. Sintassi e semantica

2 Analisi della proposizione è una proposizione in cui la logica tradizionale distingueva un soggetto (il gatto) e un predicato (miagola). Ma è una proposizione con un soggetto (Nicola), il cui predicato ha però una struttura complessa (ama Francesca), e equivalente ad un’altra proposizione: con soggetto Francesca e un predicato complesso e differente. Frege analizza la proposizione come formata da un predicato (amare) e due argomenti (Nicola, Francesca), scritto come amare(Nicola, Francesca), l’ordine degli argomenti è per convenzione.

3 La sintassi Oltre i connettivi, esistono predicati e termini (che fungono da argomenti). Un predicato è n-ario se richiede n argomenti: ‘è pari’ è unario, ‘amare’ binario, ‘dare’ ternario ( ). Un predicato coi suoi argomenti è una proposizione atomica, che può essere vera o falsa. Esistono termini variabili, con cui formare proposizioni con argomento non fissato:, pari(x), il cui valore di verità dipende da x. Esistono termini complessi formati da una funzione con argomenti: somma (3,7), cioè 3+7.

4 Fare attenzione! La confusione tra termini complessi e proposizioni è fonte di innumerevoli errori! 3+5 non è né vero né falso, quindi non è una proposizione, bensì un termine complesso, che in aritmetica coincide col numero 8. 3<5 invece non è un termine, infatti non è uguale a nessun numero: è una proposizione, in particolare in aritmetica è una proposizione vera A  B non è una proposizione, ma è un termine complesso, è infatti un insieme formato da A e B A  B non è un insieme e quindi non è un termine complesso, ma una proposizione, vera o falsa

5 madre (Anna, Francesco) posso tradurlo come, è una proposizione atomica ed è vera o falsa, madre (Francesco) è invece ragionevolmente l’individuo : è un termine complesso e non una proposizione. Si può distinguere dal contesto: un termine è sempre argomento di un predicato o di una funzione, un predicato non lo è mai: diventa legge (madre(Francesco), Iliade), e la stessa formula traduce frasi come,, etc.

6 Quantificatori Se voglio esprimere la frase posso scrivere bravo(Antonio)  bravo(Michele)  bravo(Giuseppe)  …., scomodo se gli studenti sono molti, impossibile se parlo di infiniti individui. Per espressioni del tipo ‘ogni’, ‘tutti’, etc. si introduce il quantificatore universale  davanti alla variabile che esprime il generico individuo, e scrivo:  x bravo(x). Analogamente per espressioni del tipo ‘esiste un’, ‘c’è un’ si introduce il quantificatore esistenziale  : diventa  x bravo(x)

7 Ma, mentre bravo(x) ha un valore di verità che dipende da x che si dice variabile libera,  x bravo(x) e  x bravo(x) hanno un valore di verità ben definito. In tal caso la variabile x si dice saturata. Solo i quantificatori e i connettivi vengono considerati costanti logiche nella logica dei predicati. Esistono altri segni, usati in logiche più forti o in matematica con un significato fisso, ma che non fanno parte della sintassi di base della logica, quali l’ = (usato in logica dei predicati con uguaglianza e in aritmetica), il  (usato in teoria degli insiemi),  |x (esiste uno e un solo x, usato in matematica ma sostituibile in logica dalla formula  x (p(x)   y p(y)  y=x).

8 Essendo i quantificatori delle estensioni infinitarie di  e , ad essi si estendono le proprietà relative, ad esempio le leggi di de Morgan diventano l’equivalenza tra  x p(x) e  x  p(x), equivale a e quindi ovviamente tra   x p(x) e  x  p(x), equivale a o anche. La commutatività di  e  si traduce nella commutatività dei quantificatori dello stesso tipo:  x  y equivale a  y  x, e analogamente  x  y equivale a  y  x, ma non vale tra connettivi diversi

9 Sintassi della logica dei predicati La sintassi della logica dei predicati include la sintassi della logica delle proposizioni (che include i connettivi). In aggiunta regole per specificare la struttura dei termini e delle proposizioni: Le costanti a, b, … e le variabili x, y, … sono termini Se f è una funzione n-aria e t 1, t 2 …., t n sono termini, f(t 1, t 2 …., t n ) è un termine Se p è un predicato n-ario e t 1, t 2 …., t n sono termini, p(t 1, t 2 …., t n ) è una proposizione Se P è una proposizione  x P e  x P sono proposizioni (fbf, formule ben formate). Useremo parentesi ma la fbf è una struttura ad albero

10 Linguaggio logico e linguaggio naturale Il linguaggio logico presume di essere in grado di eliminare le ambiguità sintattiche del linguaggio naturale. Ambiguità lessicale:, ambiguità sintattica:. La seconda frase può essere tradotta in due modi differenti: vede(Giovanni, Mario)  malato(Mario)  piange (Mario), vede(Giovanni, Mario)  malato(Mario)  piange (Giovanni). Le ambiguità lessicali si risolvono usando simboli diversi: ad esempio vecchia_adj, vecchia_sost

11 Le proprietà (attributi, come ‘pari’, ‘rosso’, ‘alto’, o verbi intransitivi, come ‘corre’, ‘piange’, ‘nasce’) divengono predicati unari, mentre le relazioni (verbi transitivi, come ‘amare’, ‘dare’, ‘leggere’) divengono predicati binari. Tuttavia per i verbi possono esserci paradigmi più complessi: diventa corre(Nicola, stadio), diventa dare(Francesco, Iliade, Maria). I pronomi si traducono usando le variabili: diventa scritto(x)  capire(Nicola,x), e diventa  x scritto(x)  capire(Nicola,x), diventa  x scritto(x)  capire(Nicola,x)

12 In genere le frasi di tipo esistenziale si traducono in formule introdotte da  x che agisce su una congiunzione: diventa  x (studente(x)  bravo(x)). Se scrivessi  x (studente(x)  bravo(x)) sarebbe da intendere come In genere le frasi di tipo universale si traducono in formule introdotte da  x e seguite da una implicazione: diventa  x (studente(x)  bravo(x)). Se scrivessi  x (studente(x)  bravo(x)) sarebbe da intendere

13 Universalità Semantica Si presume che la logica dei predicati sia semanticamente universale, sia nel senso di poter esprimere compiutamente ogni frase, sia nel senso di poter da tali espressioni poter descrivere (formalmente) tutte le argomentazioni possibili logicamente (in senso intuitivo). Tuttavia una tale espressione non è banale e richiede sempre, per essere realizzata, una ‘traduzione’ della frase di partenza in termini equivalenti intuitivamente, ma spesso abbastanza diversi. Non è in generale automatizzabile e quindi richiede una abilità che si ottiene dagli esercizi.

14 Visto che esistono frasi ambigue che ammettono una traduzione logica non ambigua, la traduzione di una frase dal linguaggio naturale al linguaggio della logica dei predicati non è quindi un algoritmo in senso stretto, ma esistono tecniche e regole (euristiche, cioè che aiutano a risolvere il problema anche se in maniera approssimata e non univoca). La traduzione di frasi o ragionamenti non formali in un linguaggio formale è ovviamente non formalizzabile, e questa è ad esempio la principale difficoltà nella comprensione o traduzione automatica dei linguaggi naturali, ma è forse la principale attività creativa nella computer science.

15 Ad esempio: si può tradurre con, e quindi  x (studente(x)   corre(x)). O equivalentemente :   x (studente(x)  corre(x)). Ma tale equivalenza, oltre che intuitiva, può essere verificata rigorosamente. Infatti la seconda formula è equivalente a  x  (studente(x)  corre(x)), equivalente a  x (  studente(x)   corre(x)), equivalente a  x (studente(x)   corre(x)), ma anche a  x (corre(x)   studente(x)), che si traduce nella frase, anch’essa equivalente intuitivamente

16 Traduci come fbf della logica dei predicati le frasi:  x  y ama(x,y)  x ama(x,padre(x)) o  x  y padre(y,x)  ama(x,y)  x  y ama(y,x)  ama(x,y)  x (ama(x,x)    y ama(y,x))  y (  x  x=y   ama(y,x))  y (ama(y,y)   x (  x=y   ama(y,x)))

17 Scrivi le fbf corrispondenti alle proposizioni matematiche, usando i predicati unari ‘numero’, ‘primo’, ‘pari’.  x (numero(x)  primo(x)   x=2)   pari(x) equiv.  x numero(x)  ((primo(x)   x=2)   pari(x)) “dati due numeri, uno maggiore dell’altro, esiste sempre un numero compreso fra di essi”, usando il predicato binario ‘maggiore’ (>)  x  y (numero(x)  numero(y)  x> y )   z (numero(z)  x>z  z>y) o anche  x  y (x> y   z (x>z  z>y)). x e y potrebbero essere uguali?

18 Traduci in linguaggio italiano le formule, trasformale in proposizioni equivalenti e traduci in linguaggio insiemistico:  x (studente (x)   tifoso(x)) «non esiste uno studente che non sia tifoso»   x  (studente (x)  tifoso(x))   x  studente(x)  tifoso(x)   x studente(x)  tifoso(x) «ogni studente è tifoso». Studenti  Tifosi  x (studente (x)  corre(x)). «non tutti gli studenti corrono»  x  (  studente(x)  corre(x))  x (studente(x)   corre(x)) «c’è almeno uno studente che non corre». Studenti  Corridori  Ø

19 Dimostrare l’equivalenza della seguente coppia di proposizioni: e (usare, oltre le primitive logiche incluso l’=, il predicato unario ‘n è un numero primo’, indicato con primo(n), e il predicato binario ‘n è maggiore o uguale di m’, indicato con n≥m). Le formule che traducono le due proposizioni matematiche sono:   x (primo(x)   y primo(y)  x≥y) e  x (primo(x)   y (primo(y)   x≥y))

20 Dalla prima   x (primo(x)   y primo(y)  x≥y) si ottiene la seconda  x (primo(x)   y (primo(y)   x≥y)) coi passaggi:  x  (primo(x)   y primo(y)  x≥y) per la regola  x equivalente a  x   x (  primo(x)    y (  primo(y)  x≥y)) per de Morgan e la regola A  B equivalente a  A  B  x (  primo(x)   x  (  primo(y)  x≥y)) per la regola  x equivalente a  x   x (  primo(x)   x ( primo(y)   x≥y)) da cui la seconda formula per la regola A  B equivalente a  A  B

21 a)Scrivere come formule della logica dei predicati le frasi “non esiste il minimo numero positivo” e “per ogni numero positivo esiste un numero positivo minore di esso”, usando la costante 0, il predicato unario numero ed il predicato binario > (maggiore di). le due frasi diventano le formule:   x (n(x)  x>0   y n(y)  y>0   (x>y))  x n(x)  x>0   y (n(y)  y>0  x>y) b) dimostrare che le due formule sono equivalenti   x (n(x)  x>0   y n(y)  y>0   (x>y))   x equival.  x   x  (n(x)  x>0   y n(y)  y>0   (x>y)) de Morgan  x  n(x)   (x>0)    y (n(y)  y>0   (x>y))   x equival.  x   x  n(x)   (x>0)   y  (n(y)  y>0   (x>y)) A  B equival.  A  B  x  n(x)   (x>0)   y  (  (n(y)  y>0)   (x>y)) de Morgan  x  (n(x)  (x>0))   y (n(y)  y>0  x>y) A  B equival.  A  B  x n(x)  x>0   y (n(y)  y>0  x>y)

22 Tra quantificatori dello stesso tipo vale la proprietà commutativa, cioè  x  y p(x,y) è equivalente a  y  x p(x,y) e  x  y p(x,y) è equivalente a  y  x p(x,y). Ma la commutatività non vale per quantificatori diversi:  x  y p(x,y) non è equivalente a  y  x p(x,y). Ad esempio può essere tradotta in due formule distinte:  x  y (uomo(x)  ama(x,y) e  y  x (uomo(x)  ama(x,y)), che in realtà traducono due sensi distinti della frase iniziale:, e.

23 Si possono eliminare i quantificatori esistenziali, sostituendo la variabile quantificata con una costante (se non è all’interno dell’azione di una quantificatore universale) o con una funzione che dipende dalle variabili quantificate universalmente nel cui campo d’azione sta la variabile quantificata esistenzialmente (skolemizzare). Nell’esempio precedente le due formule potrebbero essere espresse da  x (uomo(x)  ama(x, anima- gemella(x)), e  x (uomo(x)  ama(x,Marylin)) Questa è una delle regole che permettono di scrivere ogni fbf in forma di clausola. Eliminiamo l’  tramite A  B equivalente a  A  B

24 Il  si trasferisce sulle formule atomiche scendendo lungo l’albero tramite le trasformazioni:  P  P  (P  Q)   P  Q  (P  Q)   P  Q  x p(x)   x  p(x  x p(x)   x  p(x) Il quantificatore esistenziale viene eliminato tramite la ‘skolemizzazione’: se nessun  lo precede:  x p(x)  p(c) ove ‘c’ è una ‘costante nuova’ altrimenti  x 1  x 2 …  x n …  y p(x 1, x 2 …,x n, y)   x 1  x 2 …  x n p(x 1, x 2 …,x n, f(x 1, x 2 …,x n )) ove f è un simbolo funzionale nuovo Tutti i quantificatori universali in cima all’albero. Distributività: A  (B  C)  (A  B)  (A  C)

25 La forma di clausola  x 1  x 2 …  x n      ……  A 1 A 2 … A n   …..  B 1 B 2 B m La forma di clausola è una congiunzione di clausole. La clausola è una disgiunzione di proposizioni atomiche e di loro negazioni, con le variabili quantificate universalmente

26  y  x (p(x)    z (q(x,y)   p(z)))  y  y  x  x  x  x     p(x)    p(x)  p(x)  z  p(f(x)) p(x)  p(x)  z  q(f(x), c) q(f(x), c) p(f(x))   p(z) q(z,y)  q(z,y) p(z) 2 clausole  x (p(x)   q(f(x), c))  (p(x)  p(f(x)))

27 Interpretazione L’uso di termini come ‘amare’, ‘bravo’, etc. è solo mnemonico, poiché i segni non hanno in partenza una interpretazione definita: amare(Nicola, Francesca) rappresenta solo un predicato binario applicato a due termini costanti, e quindi potrebbe anche rappresentare la frase. Una interpretazione può essere fissata dando con il  una definizione tramite segni già interpretati. Ad esempio pari(x)   y x=2  y, supponendo già noto che stiamo parlando di numeri interi, e 2 e  già interpretati con il loro usuale significato aritmetico.

28 La semantica della logica dei predicati è estensionale, cioè il significato di un predicato p (per semplicità supponiamolo unario) è dato dall’insieme P degli individui che lo soddisfano: P = {x| p(x)}, x  P  p(x) (insieme degli x che soddisfano p) (x appartiene a P) L’interpretazione di pari è data dall’insieme dei numeri pari P={0, 2, 4, 6, 8, …}, l’insieme degli oggetti rossi è dato dagli oggetti rossi, un oggetto appartiene all’insieme degli oggetti rossi se è rosso: a  P b  P a b P a b P

29 L’interpretazione dei connettivi e quantificatori (costanti logiche) è fissa, ed è data dal loro uso nelle derivazioni oltre che dal loro ruolo nella semantica. In matematica useremo anche l’= come una primitiva L’interpretazione di predicati, funzioni e termini costanti, se non è data da una definizione logica, è data dall’esterno. Una interpretazione può essere anche fissata tramite una definizione ricorsiva. Ad esempio, parlando di numeri interi, pari(x) può essere così definita: i) pari(0), ii) pari(x)  pari(x+2), iii) per nessun altro x si ha pari(x).

30 Per esempio interpretiamo la formula:  x  y f(x,y)=c. Le primitive sono , , = Prendiamo  -{0} come universo del discorso. Interpretiamo la costante c con 1, il simbolo funzionale binario f come la funzione ‘prodotto’. Con questa interpretazione, l’interpretazione della fbf è «per ogni numero esiste un altro numero tale che il loro prodotto è uguale a 1»: in tale interpretazione la formula è soddisfatta. Prendiamo come universo il piano, c è un punto, f la funzione ‘punto medio’, la formula diventa la frase «preso un punto fisso c, ogni punto ammette un punto simmetrico rispetto a c» x c y

31 a) Scrivere come formule della logica dei predicati (con uguaglianza) le frasi: “Solo 0 e 1 soddisfano l’equazione x 2 = x.”, “Per il  vale la proprietà commutativa ed esiste l’elemento identico”  x (x 2 = x)  x=0  x=1  x  y (x  y = y  x)   z  x x  z = z  x = x b) skolemizzare la formula:  x  y  z y  z=z  y=x,  y y  f(y)=f(y)  y=c c) interpretare la  come il prodotto tra numeri, c=1, e usare come universo del discorso , e  - {0}. In quali di queste interpretazioni la formula è soddisfatta, e perchè?

32 Teoria degli insiemi. I concetti elemento/insieme col segno di ‘appartenenza’  corrispondono ai concetti di termine/predicato e la notazione predicativa nella logica dei predicati. Le operazioni e relazioni insiemistiche possono essere definite logicamente in questo nuovo ambito: A  B se e solo se  x x  A  x  B. A=B se e solo se  x x  A  x  B. C=A  B ove x  C  (x  A)  (x  B) C=A  B ove x  C  (x  A)  (x  B) B=A se e solo se  x x  A  x  B.

33 Le proprietà insiemistiche viste in precedenza in modo intuitivo possono ora essere dimostrate rigorosamente. Ad esempio la legge di de Morgan: A  B = A  B si dimostra così logicamente: x  (A  B)  x  (A  B)   (x  A  x  B)   x  A   x  B  x  A  x  B  x  A  B La coppia insiemi/predicati corrisponde alla coppia semantica/sintassi, rigorosamente distinte in logica. La distinzione non è altrettanto netta nel linguaggio naturale:,. Gli attributi nel primo caso sono congiunti, nel secondo disgiunti (non si parla delle sole ‘bambine’). Perché?

34 Siano dati gli insiemi A={rosso, verde}, B={2,3,5}, C={5,7}. Quali sono gli insiemi A  B, A  C, B  C ? Verifica che A  ( B  C) = (A  B)  (A  C) Dimostralo per A, B, C qualsiasi. A  B = {(rosso,2), (rosso,3), (rosso,5), (verde,2), (verde,3), (verde,5)} A  C = {(rosso,5), (rosso,7), (verde,5), (verde,7)} B  C = {5} A  ( B  C) = { (rosso,5), (verde,5)} = (A  B)  (A  C) Due insiemi sono uguali se hanno gli stessi elementi. Essendo prodotti cartesiani di due insiemi gli elementi sono coppie (x,y). (x,y)  A  ( B  C) sse x  A  y  ( B  C) sse x  A  y  B  y  C (x,y)  (A  B)  (A  C) sse (x,y)  (A  B)  (x,y)  (A  C) sse (x  A)  (y  B)  (x  A)  (y  C) sse x  A  y  B  y  C.

35 Traduci in forma logica le seguenti espressioni insiemistiche: A  (A  B) = A A  (A  B) = A Dimostrale con tecniche logiche o insiemistiche. In forma logica le due espressioni diventano: A  (A  B)  A A  (A  B)  A Logicamente si dimostrano con le tavole di verità: A B A  B A  (A  B) A  (A  B)  A (A  B) A  (A  B) A  (A  B)  A 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 Insiemisticamente la dimostrazione ha un carattere più intuitivo: occorre dimostrare che due insiemi sono uguali e quindi hanno gli stessi elementi: x  A se e solo se x  A  (A  B). Per la proprietà distributiva x  A se e solo se x  (A  A)  (A  B). Ma A  A = A da cui x  A se e solo se x  A  (A  B). ma A  A  B, da cui la tesi. Analogamente per l’altra espressione.

36 Se p(x) è il predicato la cui estensione è l’insieme P, e q(x) è il predicato la cui estensione è l’insieme Q, scrivi la formula della logica dei predicati la cui interpretazione insiemistica è P  Q  Ø  x (  p(x)  q(x)) Scrivere le formule di teoria degli insiemi per rappresentare le frasi: e Studenti  (Pigri  Svogliati) =  equivalente alla formula   x St(x)  P(x)  Sv(x) Studenti  (Pigri  Svogliati) ≠  equivalente alla formula  x St(x)   (P(x)  Sv(x)) Studenti  (Pigri  Svogliati) ≠  (Studenti  Pigri)  (Studenti  Svogliati) ≠ 

37 a) Scrivere come formule della logica dei predicati le seguenti frasi “Nessun A è B”, ”Qualche C è A e qualche C è B”, “Tutti i C sono D”, Non tutti i B sono D e non tutti gli A sono D”. Considerando A, B, C, D come insiemi estensione dei predicati, rappresentare graficamente la situazione descritta dalle frasi precedenti.  x A(x)  B(x)  x (A(x)  C(x))   x (B(x)  C(x))  x C(x)  D(x) D   x (B(x)  D(x))    x (A(x)  D(x)) A  B =  C A  C  , B  C   C  D A B B  D  , A  D  

38 Scrivere come formula della logica dei predicati la frase “Tutti gli studenti che non sono matricole sono ammessi”, usando i predicati unari s: ‘essere studente’, m: ‘essere matricola’, a: ’essere ammesso’. Dimostrare che la frase è equivalente alla frase “Non c’è alcuno studente non matricola che non è ammesso”. Scrivere la frase in linguaggio insiemistico e farne il diagramma di Venn. Come cambia la rappresentazione se si considera che le matricole sono studenti? La frase diventa  y s(x)  m(x)  a(x) Equivalente a  y  (s(x)  m(x))  a(x), equivalente a  y  s(x)  m(x)  a(x), equivalente a  y  (  s(x)  m(x)  a(x)), equivalente a  y s(x)  m(x)   a(x) cioè “Non c’è alcuno studente non matricola che A S M non è ammesso”. S  M  A A S M Ricordando che le matricole sono studenti


Scaricare ppt "Introduzione alla LOGICA MATEMATICA Corso di Matematica Discreta. Corso di laurea in Informatica. Prof. Luigi Borzacchini V. La logica dei predicati. Sintassi."

Presentazioni simili


Annunci Google