15. Lezione Corso di Logica 8 giugno 2011 Maria Emilia Maietti ricevimento: mercoledi ore 17.30-19.30 email: maietti@math.unipd.it 604
lucidi lezioni in http://www.math.unipd.it/ maietti/lez.html esercitazioni in http://www.math.unipd.it/ maietti/did.html 605
Verso l uso di funzioni nella formalizzazione Come esprimere Ogni uomo ha come antenato suo padre?? 606
Verso l uso di funzioni nella formalizzazione una formalizzazione di Ogni uomo ha come antenato suo padre è x(u(x) y (P(y,x)&A(y,x)) ove U(x)= x è un uomo A(y,x)= y è antenato dix P(y,x)=y è padre dix però il padre di qualcuno è unico introduciamo nel linguaggio simbolo per la funzione y= padre di x 607
Uso di funzione nella formalizzazione una formalizzazione di Ogni uomo ha come antenato suo padre è x(u(x) A(p(x),x)) ove U(x)= x è un uomo A(y,x)= y è antenato dix p(x) = padre di x è funzione tra termini 608
esempio funzioni di termini in matematica per esprimere x+1=5 oppure x 2 +y 2 =1 usiamo simboli di funzione x+1 : Nat Nat x 2 +y 2 : Nat Nat pensando che x,y varino su numeri naturali soltanto 609
Cosè un linguaggio predicativo L? un linguaggio predicativo L è l insieme di simboli per termine e per formula generato dai seguenti simboli PRIMITIVI: - costanti per termini : c j in numero a piacere - funzioni tra termini: f k (x 1,...x n ) in numero a piacere - predicati atomici : P k (x 1,...x m ) in numero a piacere 610
Grammatica termini simbolici di linguaggio predicativo i termini di un linguaggio predicativo L sono così formati: - ogni variabilex 1,...x n... peri Nat è un termine (ce ne sono in quantità infinita) - ogni costantec j è un termine (ce ne possono essere in quantità infinita) - ogni funzionef k (t 1,...,t n ) è un termine se ognit j è termine perj = 1,...,n (glif k possono essere in quantità infinita) Poi le formule per un linguaggio predicativo con uguaglianza sono generate come già definito precedentemente. 611
come si interpreta in un dominio una funzione tra termini??? dato linguaggiolcon costantic j, funzionif k (x 1,...,x n ) e predicati atomici P k (x 1,...,x m ) e fissato un dominiod, ovvero insieme NON vuoto, con interpretazione di costantic D j εd e predicati atomici P k (x 1,...,x m ) D (,..., ) : D n {0,1} si interpreta una funzione tra termini come funzione tra domini f k (x 1,...,x n ) D (,..., ) : D n D per esempio nel caso di sostituzione con costanti f k (c 1,...,c n ) D f k (x 1,...,x n ) D (c 1 D,...,c n D )εd 612
come risulta l interpretazione di una variabile libera??? dato linguaggiolcon costantic j, funzionif k (x 1,...,x n ) e predicati atomicip k (x 1,...,x m ) e fissato un dominiod, ovvero insieme NON vuoto, con interpretazione di costantic D j εd e predicati atomici P k (x 1,...,x m ) D (,..., ) : D n {0,1} interpretiamo una variabile x come la FUNZIONE IDENTICA: quindi x D ( ) : D D x D (d) d 613
esempio di modello Un modello per il linguaggio predicativolcon simbolia(x,y) ep(x) è questo: D= insieme degli uomini A(x,y) D (d,d ) = p(x) D (d) = padre did 1 se d è antenato did 0 se d NON è antenato did ben definita perchè tutti hanno un padre!!! 614
Semantica della logica classica richiede dominio interpretazione individui NON vuoto È derivabile il sequente in LC = xx=x?? Certo, per esempio in tal modo = -ax y=y xx=x re ma per dimostrarlo occorre ASSUMEREy D εd, ovvero che il dominio è NON vuoto. 615
Nozione di teoria Un applicazione dell uso della logica classica con uguaglianza LC = è la nozione di teoria TEORIA = calcolo logico per LC = + assiomi (extralogici)+ composizioni sx,dx Γ A Γ,A,Γ Σ Γ,Γ,Γ Σ comp sx Γ Σ,A,Σ A Σ Γ Σ,Σ,Σ comp dx 616
differenze teoria e calcolo LC = L aggiunta delle regole di composizione e di assiomi extralogici a LC = per formare una teoria fa sì che NON sia più evidente che la teoria È consistente ovvero che NON sia derivabile nella teoria. 617
CONSISTENZA calcolo LC = Teorema [consistenza di LC = ]: il calcolo LC = NON può derivare il falso ovvero NON è derivabile in LC = motivo: se fosse derivabile in LC = allora ci sarebbe una derivazione con radice ma NESSUNA regola di LC = è applicabile dal basso verso l alto a partire da NON è derivabile in LC = 618
regole di composizioni sono valide in LC Teorema [validità composizioni in LC = ]: I calcoli formali LC = e LC = + composizioni a dx e sx sono EQUIVALENTI. le regole di composizione a dx e a sx sono valide in LC =. un compito dei logici: trovare formulazioni senza composizioni equivalenti a calcoli con composizioni 619
esempio di teoria informatica: teoria di Hoare si aggiungono all aritmetica di Peano classica le regole seguenti per derivare correttezza parziale dei programmi 620
621
esempio di derivazione di correttezza testo di riferimento 622
623
applicazioni calcolo logico dei sequenti potete fare un programma che certifica la correttezza dei programmi all interno della logica di Hoare e il calcolo dei sequenti dell aritmetica 624
Linguaggio per aritmetical PA L PA ha i seguenti simboli: 0 il numero zero s(x) il successorex+1 dix x+y la somma dixcony x y la moltiplicazione dixcony è esempio di linguaggio predicativo con funzioni di termine che sono il successore (funzione unaria) la somma e la moltiplicazione (funzione binarie) 625
Modello standard per aritmetical PA d Nat insieme dei numeri naturali 0 D 0 s(x) D ( ) : D D s(x) D (n) n+1 x+y D (, ) : D D D x+y D (n,m) n+m x y D (, ) : D D D x y D (n,m) n m 626
l Aritmetica di Peano come teoria della logica classica PA LC+ Ax 1. +... + Ax 7. + comp sx +comp dx ove x, y, z sono supposti numeri naturali 627
Ax1. x s(x) 0 ogni numero successore è diverso da zero Ax2. x y (s(x)=s(y) x=y ) la funzione successore è iniettiva Ax3. x x+0=x lo zero è elemento neutro della somma Ax4. x y x+s(y)=s(x+y) definizione di somma Ax5. x x 0=0 zero è annullatore del prodotto Ax6. x y x s(y)=x y+x definizione di prodotto Ax7. A(0)& x(a(x) A(s(x))) xa(x) principio di induzione 628
a cosa servono le composizioni? in PA si deriva 1+0=1 oven s(s...(0)))) }{{} n-volte derivandolo così Ax.3 ax-id Ax.3, s(0)+0=s(0) s(0)+0=s(0) x x+0=x s(0)+0=s(0) s(0)+0=s(0) comp sx S 629
a cosa servono le composizioni? in PA si deriva 5+1=6 ad esempio come segue: 630
Ax 4. Ax 3. ax-id 5+0=5, 5+1=s(5+0) s(5+0)=s(5+0) = S f 5+1=s(5+0), 5+0=5 s(5+0)=s(5) 5+1=s(5+0), Ax 3.,5+0=5 s(5+0)=s(5) in sx 5+1=s(5+0), x(x+0=x) s(5+0)=s(5) S comp sx 5+1=s(5+0) 5+1=6 Ax 4., y.., 5+1=s(5+0) 5+1=6 in sx Ax 4., y (5+s(y)=s(5+y)) 5+1=6 S x y (x+s(y)=s(x+y)) 5+1=6 S comp sx 5+1=6 ove si ricorda che6 s(5) e nell ultimo passaggio sopra si è sostituitos(5) con s(5+0). 631
Esempio di uso induzione Mario afferma: In una una valigia è sempre possibile aggiungere un fazzoletto di carta È corretto quanto dice Mario? 632
Esempio di uso induzione No, non è corretto. Perchè possiamo dimostrare che Se in una valigia è sempre possibile aggiungere un fazzoletto di carta allora la valigia contiene un INFINITÀ di fazzoletti di carta il che non è possibile. 633
Esempio di uso induzione Se in una valigia è sempre possibile aggiungere un fazzoletto di carta allora nella valigia c e un INFINITÀ di fazzoletti di carta dim. caso zero: Se la valigia è vuota aggiungiamo un fazzoletto. caso induttivo: Se nella valigia ci sono n fazzoletti siccome è sempre possibile aggiungere un fazzoletto allora ci stanno s(n) n + 1 fazzoletti Quindi per il principio di induzione ci stanno k fazzoletti per k grande a piacere!!! 634
definizione induttiva dei naturali vedi capitolo 4 libro Sambin L insieme dei numeri naturali è un ASTRAZIONE che colleziona POTENZIALMENTE i numeri costruibili con tali regole 0 Nat n Nat s(n) Nat da intendersi appunto come istruzioni per costruire numeri naturali. L esecuzione completa di tali istruzioni non si dà nella realtà. Esiste solo nel nostro pensiero. 635
definizione induttiva dei naturali Per dimostrare la validità di una proprietà su TUTTI gli infiniti numeri naturali basta provare che le regole di costruzioni dei numeri CONSERVANO tale proprietà: Principio di induzione Sia P(n) una proprietà definita sui numeri naturali. Se valep(0) (caso zero) e, qualunque sian, se dal fatto chep(n) vale segue che anche P( s(n)) vale (caso induttivo), allora per ogni naturalensi ha chep(n) vale. 636
Altro esempio: definizione di mucchio Senchicchi di grano non sono un mucchio alloran+1chicchi di grano non sono un mucchio? 637
sulla definizione di mucchio Senchicchi di grano non sono un mucchio alloran+1chicchi di grano non sono un mucchio? sembrerebbe di sì.. Ma se ciò fosse vero allora per il principio di induzione applicato a P(n) n chicchi non sono un mucchio dimostreremmo che NESSUN numero di chicchi di grano formano un mucchio in tal modo: 0 chicchi non sono un mucchio Senchicchi non sono un mucchio, allora per quanto detto sopras(n) n+1chicchi non sono un mucchio. Dunque per il principio di induzione, ogni numero naturale n arbitrario di chicchi non sono un mucchio!!! 638
sulla definizione di mucchio Dall altra parte dire che ad un certo punto si ha chenchicchi di grano NON sono un mucchio man+1chicchi di grano sono un mucchio neppure sembra sensato... 639
sulla definizione di mucchio Infine dire che senchicchi di grano sono un mucchio allora puren 1chicchi di grano sono un mucchio sembrerebbe sensato Ma se ciò fosse vero allora per il principio di induzione applicato all incontrario avremmo che n 2 chicchi di grano formano un mucchio... e quindi puren 3ecosì via per induzione fino a dire 1 chicco di grano forma un mucchio che NON appare sensato...così come dire che 0 chicchi di grano formano un mucchio!! 640
sulla definizione di mucchio è un problema dare la definizione di mucchio!! 641
Paradosso del prigioniero Durante la guerra venne detto ad un prigioniero: Tu sarai ucciso la settimana prossima in un giorno a sorpresa che non potrai predire neppure la mattina del giorno stesso 642
Paradosso del prigioniero Durante la guerra venne detto ad un prigioniero: Tu sarai ucciso la settimana prossima in un giorno a sorpresa che non potrai predire neppure la mattina del giorno stesso Quando verrà ucciso il prigioniero? 643
per capire paradosso prigioniero Si dimostra che l affermazione è una contraddizione perchè per induzione sull n-esimo giorno della settimana si dimostra che P(n) il prigioniero non può essere ucciso il giornondella settimana contando 0 la domenica, 1 il sabato, etc.. ovvero assegnamo ai giorni della settimana un numero contando a ritroso 0=domenica 1=sabato. 6=lunedì 644
per capire paradosso prigioniero ricordando che P(n) il prigioniero non può essere ucciso il giornondella settimana Valgono le ipotesi del principio di induzione: contando0la domenica,1il sabato, etc.. P(0) il prigioniero non può essere ucciso il giorno entro il giorno0della settimana ovvero la domenica vale perchè non può essere ucciso di domenica perchè giunto alla mattina della domenica saprebbe di venir ucciso in giornata, quindi senza sorpresa Se valep(n) allora vale anchep(s(n)): infatti, se valep(n) allora non può essere ucciso dal giorno0fino al giornon ma a questo punto non può essere ucciso nemmeno il giorno prima che ès(n) perchè giunto alla mattina del giorno s(n) lo prevederebbe, sapendo che valep(n) ovvero che non può essere ucciso i giorni dopo danfino a0. per il principio di induzione si conclude chep(n) vale per ogni n 645
Essenza paradosso prigioniero applicando il principio di induzione sui naturali si conclude che: Non esiste n numero di giorni entro cui il prigioniero può essere ucciso a sorpresa. 646