collana di istruzione scientifica serie di matematica Toffalori_Interno_v2.indd 1 23/03/12 14.33 Al lettore La realizzazione di un libro comporta costi variabili (carta, stampa, legatura) e costi fissi, cioè indipendenti dal numero di copie stampate (traduzione, preparazione degli originali, redazione, composizione, impaginazione). I fotocopiatori possono contenere il prezzo perché, oltre a non pagare i diritti d’autore, non hanno costi fissi. Ogni fotocopia, d’altra parte, riducendo il numero di copie vendute dall’editore, aumenta l’incidenza dei costi fissi a copia e costringe l’editore ad aumentare il prezzo; questo, naturalmente, fornisce un ulteriore incentivo a fotocopiare. Se questo circolo vizioso non verrà spezzato, arriveremo al punto in cui gli editori non avranno più convenienza economica a realizzare libri di testo per l’università. In quel momento non ci saranno più neppure fotocopie L’editore Toffalori_Interno_v2.indd 2 23/03/12 14.33 Carlo Toffalori Patrizio Cintioli Logica matematica McGraw-Hill Milano • New York • San Francisco • Washington D.C. • Auckland Bogotá • Lisboa • London • Madrid • Mexico City • Montreal New Delhi • San Juan • Singapore • Sydney • Tokyo • Toronto Toffalori_Interno_v2.indd 3 23/03/12 14.33 Copyright © 2000 The McGraw-Hill Companies, S.r.l. Publishing Group Italia Via Ripamonti, 89 – 20139 Milano McGraw-Hill A Division of the McGraw-Hill Companies I diritti di traduzione, di riproduzione, di memorizzazione elettronica e di adattamento totale e parziale con qualsiasi mezzo (compresi i microfilm e le copie fotostatiche) sono riservati per tutti i Paesi. Revisione: Giovanni Malafrina Impaginazione: a cura di Patrizio Cintioli Grafica di copertina: 46 xy studio, Milano Realizzazione print on demand: Ilovebooks, Fara Gera d’Adda (Bergamo) Stampa: Prontostampa, Fara Gera d’Adda (Bergamo) ISBN 978-88-386-7320-7 Printed in Italy Toffalori_Interno_v2.indd 4 23/03/12 14.33 Indice generale Prefazione vii 1 Elementi di teoria degli insiemi 1.1 1.2 1.3 1.4 Introduzione Cardinalità di un insieme Il Teorema di Cantor-Bernstein Il paradosso di Russell e gli assiomi di Zermelo-Fraenkel Esercizi Riferimenti bibliografici 1 1 4 7 11 12 2 Logica proposizionale 13 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Alfabeto e formule Semantica e valutazioni Cenni di sintassi Connettivi, forme normali Il problema della soddisfacibilità Forme normali e clausole Il Teorema di decomposizione e le regole di Davis-Putnam Il Teorema di risoluzione Primi cenni sul problema P=NP Esercizi Riferimenti bibliografici 13 14 20 20 24 26 32 35 37 38 38 3 Logica dei predicati del primo ordine 39 3.1 3.2 3.3 3.4 Linguaggi e formule Strutture e verità Un teorema tecnico: il Teorema di coincidenza Un altro teorema tecnico: il Teorema di sostituzione Il Teorema di completezza Il Teorema di compattezza Verso il problema della classificazione Il problema di decisione Teorie complete Insiemi definibili 39 43 47 2.8 2.9 3.5 3.6 3.7 3.8 3.9 3.10 Toffalori_Interno_v2.indd 5 1 51 52 53 60 68 72 76 23/03/12 14.33 vi Indice generale 3.11 3.12 3.13 3.14 3.15 Tipi in una teoria completa Il problema della soddisfacibilità Enunciati universali Il Teorema di Herbrand Il Teorema di J.A. Robinson Esercizi Riferimenti bibliografici 79 82 84 90 91 102 103 4 Funzioni computabili 105 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 Una introduzione Le funzioni parziali ricorsive e la tesi di Church Insiemi ricorsivamente enumerabili Insiemi aritmetici Teorie decidibili Teorie indecidibili: i teoremi di incompletezza di Gödel Funzioni computabili secondo Turing Il problema dell’arresto Problemi non risolubili per algoritmi Il decimo problema di Hilbert Il problema della parola per i gruppi La classe P e la tesi di Cook-Karp Le macchine di Turing non deterministiche e la classe NP P = NP e il Teorema di Cook Problemi NP-completi Le macchine di Turing probabilistiche Cenni sui calcolatori quantistici Esercizi Riferimenti bibliografici 105 109 117 118 124 126 135 145 148 149 151 154 159 163 167 171 179 180 182 Logica e logiche 183 Riferimenti bibliografici 187 4.14 4.15 4.16 4.17 A Bibliografia Toffalori_Interno_v2.indd 6 189 23/03/12 14.33 Prefazione Che cosa è la logica Che cosa sia la Logica molte barzellette, anche divertenti, si preoccupano di spiegarlo. Ma, escluso che la Logica, in particolare quella Matematica, sia una barzelletta, resta da chiarire che cosa essa rappresenti seriamente: perché nasce, a che cosa serve. Ora, è comune e facile constatazione che un qualunque testo classico di Matematica si sviluppi spesso attraverso un succedersi di definizioni e teoremi. Ma la definizione di ogni nuovo concetto fa riferimento ad altre nozioni più vecchie e prima introdotte. Allo stesso modo, la dimostrazione di ogni nuovo risultato si basa su premesse stabilite in precedenza. All’origine di questo procedimento a ritroso, allora, dovranno esserci concetti primitivi, non definiti rigorosamente ma assunti intuitivamente, e, d’altro lato, proposizioni non provate direttamente ma accettate sulla base della loro evidenza (gli assiomi). È anche ovvia osservazione che ogni dimostrazione matematica, a prescindere dagli ingredienti (e cioè dai risultati precedenti cui si riferisce), si sviluppa secondo schemi spesso ripetitivi e comunque ricorrenti: ad esempio, il procedimento per assurdo, o quello per induzione. Né lo stile in cui il linguaggio matematico si estrinseca rivela maggiore fantasia: proposizioni e dimostrazioni si enunciano snocciolando i soliti per ogni..., esiste..., se ... allora. Molte di queste considerazioni erano già patrimonio degli antichi Greci. Ad esempio, la paternità del metodo assiomatico sopra citato è fatta risalire ad Euclide; ed anche a quei tempi lo studio del ragionamento era obiettivo di molti filosofi. Ma, dalla seconda metà del diciannovesimo secolo, il concetto di insieme, introdotto da Cantor, Dedekind e Peano, si propose come fondamento comune di tutta la Matematica. Cosı̀ Hilbert poté formulare un ambizioso progetto: assicurare solide basi assiomatiche alla teoria degli insiemi ed a tutte le teorie matematiche, sviluppare poi la Matematica come una sorta di gioco meccanico di deduzione a partire dagli assiomi scelti. Nel 1931, i teoremi di incompletezza di Gödel affossarono il progetto di Hilbert, e rivelarono l’impossibilità umana di cogliere i fondamenti matematici generali. Sull’importanza di questi teoremi (che affermano in termini scientifici la limitatezza umana e, pur tuttavia, la coscienza umana del proprio limite) torneremo in dettaglio nel Capitolo 4. Comunque il progetto hilbertiano ed i teoremi di Gödel concentrarono l’attenzione generale, da un lato proprio sul problema delle basi assiomatiche della Matematica, dall’altro sullo studio dell’altra questione che ri- Toffalori_Interno_v2.indd 7 23/03/12 14.33 viii Prefazione guarda il linguaggio strutturale in cui scrivere la Matematica ed i procedimenti mentali attraverso cui sviluppare le dimostrazioni. La Logica Matematica si interessa a questi problemi. Infatti, con la teoria degli insiemi, approfondisce la Matematica di base entro la quale tutta la Matematica (l’Analisi, la Geometria, l’Algebra) può svilupparsi: a questo argomento dedicheremo rapidi cenni nel Capitolo 1, soprattutto a proposito del concetto di numero cardinale. D’altro canto, la Logica si preoccupa del linguaggio e del ragionamento matematico. In questo ambito, tre sono i punti fondamentali da chiarire: 1. quali sono le proposizioni (le formule) che si vogliono trattare; 2. quali sono gli osservatori (le valutazioni, o le strutture) che giudicano la verità di una formula; 3. e, finalmente, che cosa è la verità: con quali criteri, cioè, un osservatore riconosce una formula come vera. Nascono allora varie possibili logiche, ad esempio: • la logica proposizionale (argomento del Capitolo 2); • la logica dei predicati del primo ordine (che sarà trattata nel Capitolo 3). La logica proposizionale è molto semplice. In essa formule e valutazioni sono povere ed essenziali, e la relativa verità altrettanto schematica. Pur tuttavia la logica proposizionale contiene in sé, come vedremo, il germe e la sostanza di uno dei principali problemi della scienza dei calcolatori, e cioè P = N P . La logica dei predicati del primo ordine è più fine: formule e, conseguentemente, valutazioni e verità hanno una introduzione più complicata, che consente l’uso dei classici quantificatori ∀, ∃ (per ogni..., esiste...) che costituiscono una delle basilari peculiarità del linguaggio matematico, ed insieme uno dei principali tormenti degli studenti che vi si accostano. Al concetto generale di logica dedicheremo comunque una breve Appendice, nella quale si mostrerà come, in un senso opportuno, la logica dei predicati del primo ordine sia la migliore possibile. In ogni logica, si definiscono poi due concetti: • conseguenza (una formula si dice conseguenza di altre se ogni osservatore che giudica vere le ipotesi giudica vera anche la formula); • dimostrabilità (una formula si dice dimostrabile da altre se ad essa si può arrivare a partire dalle ipotesi tramite classici schemi di ragionamento). Si dice che una logica soddisfa la proprietà di completezza se i due concetti di conseguenza e dimostrabilità si equivalgono: la logica dei predicati del primo ordine ha la proprietà di completezza. Queste nozioni hanno chiare applicazioni pratiche. Ad esempio, può essere utile disporre, per una data logica, di un metodo generale che sappia decidere se una certa formula è o no conseguenza di alcune date ipotesi (ovvero se è dimostrabile da Toffalori_Interno_v2.indd 8 23/03/12 14.33 Prefazione ix esse, quando vale la completezza). La ricerca di questi metodi generali è chiamata problema della soddisfacibilità. Vedremo che non sempre è facile trovare un algoritmo per la soddisfacibilità; anche quando l’algoritmo esiste, non sempre è semplice trovarne uno realmente utile e rapido nella pratica. Queste riflessioni porteranno, nel Capitolo 4, alla trattazione dei due concetti di esistenza ed efficienza degli algoritmi. La relativa teoria, anche se risale, almeno in parte, agli anni Trenta e dunque precede storicamente i moderni calcolatori, ha tuttavia ovvie e forti intersezioni con l’Informatica. Le tratteremo ancora nel Capitolo 4, che includerà cenni su recenti sviluppi, quali macchine probabilistiche, calcolatori quantistici, il problema P = N P . Ogni capitolo sarà corredato da opportuni riferimenti bibliografici (la bibliografia è in fondo al volume) per lettori interessati ad eventuali integrazioni ed approfondimenti. Segnaliamo comunque sino da adesso come riferimenti generali di Logica Matematica [1, 12, 23, 24, 25, 27]. Circa il possibile svolgimento degli argomenti inclusi in questi appunti, un’ovvia scelta (non bisognosa di troppa logica) è quella di procedere secondo l’ordine delle pagine. Segnaliamo però la possibilità di trattare autonomamente il Capitolo 2, la parte del Capitolo 3 strettamente connessa al problema della soddisfacilità (dunque i paragrafi 3.12 - 3.15 e le minime premesse necessarie) e il Capitolo 4 (esclusi semmai i paragrafi 4.4 - 4.6) per un modulo di carattere applicativo ed informatico. Il Capitolo 1, insieme al resto dei Capitoli 3 e 4 e all’Appendice, può invece essere l’argomento di un modulo di carattere maggiormente teorico e didattico. Toffalori_Interno_v2.indd 9 23/03/12 14.33 Toffalori_Interno_v2.indd 10 23/03/12 14.33