• Non è degno di uomini eccellenti perdere ore come schiavi e faticare su calcoli che potrebbero essere affidati a chiunque se venissero usate le macchine Leibniz • • Machina arithmetica in qua non additio tantum et subtractio sed et multiplicatio nullo, divisio vero paene nullo animi labore peragantur LOGICA CLASSICA E LOGICA FORMALE La nascita della logica, che potrebbe essere definita come la scienza che studia le forme e le leggi del pensiero, coincide con la nascita del pensiero filosofico ( occidentale) . La logica classica , il cui primo teorizzatore fu Aristotele( anche se il termine logica fu introdotto probabilmente dagli stoici) si fonda prevalentemente sul sillogismo, cioè "un ragionamento consistente di tre parti, una premessa maggiore, una premessa minore e una conclusione" e sulla deduzione. Con logica matematica o formale si vuole indicare quella branca della logica moderna che rappresenta i modi del pensiero con combinazioni di stringhe di segni e, spogliate queste di ogni significato, riconduce lo studio del pensiero allo studio di tali stringhe e alle leggi che ne regolano le trasformazioni. La differenza fondamentale tra logica aristotelica e logica matematica (a parte l'aspetto puramente estetico: parole nella prima, segni nella seconda) è che a differenza della seconda, la prima concepisce una dimostrazione soprattutto come metodo di "persuasione". Cioè in essa si dà molto peso alla componente psicologica che, al contrario, è totalmente assente nella logica matematica. Il precursore della logica matematica fu Gottfried Wilhelm Leibniz (1646-1716) che nel 1666 espresse, nel suo primo lavoro matematico, l'idea-utopia di creare un alfabeto universale di segni tale che tutti i possibili pensieri potessero essere espressi tramite stringhe di tali segni, così che "lo stesso sillogismo avrebbe dovuto essere ridotto a una sorta di calcolo espresso in un simbolismo universale comprensibile in tutte le lingue. La verità e l'errore si sarebbero ridotti allora semplicemente a una questione di calcoli esatti o errati all'interno del sistema, e si sarebbe posto fine a tutte le controversie filosofiche" 1 <<Di conseguenza, quando sorgeranno controversie fra due filosofi, non sarà più necessaria una discussione, come [non lo è] fra due calcolatori. Sarà sufficiente, infatti, che essi prendano in mano le penne, si siedano di fronte agli abachi e (se così piace, su invito di un amico) si dicano l’un l’altro: Calculemus!>>(Leibniz, ) ·· Nonostante quella di Leibniz fosse un'idea pionieristica di grande portata, essa fu accolta con scarsissimo entusiasmo dai suoi contemporanei e la logica matematica dovette rimandare la sua nascita di circa due secoli. Kant, in particolare, riteneva - come asserisce esplicitamente nell'Introduzione della Critica alla Ragion Pura - che la logica formale avesse avuto la sua formulazione definitiva in Aristotele, e non fosse passibile di alcun progresso L'anno che di solito si sceglie per datare la nascita della logica matematica è il 1847, anno di pubblicazione di The mathematical Analysis of Logic (L'analisi matematica della logica) di George Boole (1815-1864), anche se forse sarebbe più giusto scegliere l'anno 1854, in cui uscì l'Investigation of the Laws of Tought (Investigazione sulle leggi del pensiero) sempre di Boole. Per comprendere perché le innovazioni nella logica provengono non dall'ambiente filosofico ma dall'ambiente dei matematici e in particolare degli algebristi inglesi, è importante soffermarci sui mutamenti del pensiero matematico nella prima metà dell'800. Gli algebristi inglesi e L'analisi matematica della logica di Boole L’orientamento della matematica del primo Ottocento è quello di giungere a dare una fondazione logica autonoma ai sistemi matematici, nel senso di scindere la loro giustificazione dalla particolare natura degli enti cui si riferivano . La scoperta delle Geometrie non euclidee contribuì da un lato a togliere alla Geometria il posto privilegiato che fino allora aveva occupato nella definzione dei concetti matematici, dall’altro a sottolineare l’importanza dei sistemi assiomatici e a spostare i sempre più i canoni estetici verso il rigore e l’essenzialità. In Inghilterra in particolare si sviluppa una tematica originale soprattutto nel campo dell’Algebra , intesa fino allora come una sorta di generalizzazione dell’aritmetica, con un progressivo distacco dell’algebra astratta o simbolica da quella concreta , legata ancora cioè al momento numerico, aprendo la strada al concetto di sistema formale , attraverso un processo che porta all’analisi delle strutture formali dell’algebra fino all’algebra della logica. Alcuni matematici (tra cui Babbage e Peacock) fondarono nel 1812 la Cambridge Analytical Society, società il cui scopo era favorire la diffusione e lo sviluppo dei metodi algebrici dei matematici continentali. Babbage divenne famoso per i suoi progetti di macchine di calcolo automatiche. Peakock, algebrista di Cambridge, sviluppò una concezione del calcolo come manipolazione puramente meccanica di simboli: l'attività combinatoria è distinta dall'interpretazione dei risultati ottenuti. Peakock è il primo a distinguere esplicitamente una "algebra aritmetica" e una "algebra simbolica". Negli anni '30, insieme a queste nuove idee, si sviluppò una grossa disputa tra il matematico Augustus De Morgan (membro anch'egli della Analitical Society) e il filosofo William Hamilton sulla priorità di alcune idee sul modo di trattare il sillogismo. La disputa mostrava dopotutto, sia pur in negativo, un primo intrecciarsi di interessi comuni tra filosofi e matematici, e portava l'attenzione del mondo accademico sulla logica. Ma Hamilton in seguito, alla fine degli anni '30, criticò aspramente l'irruzione della matematica nella logica, insistendo sul primato della filosofia sulla matematica e sull'idea che la logica è parte della filosofia e non della matematica. 2 Nel 1847 Boole entra nel vivo della discussione con L'analisi matematica della logica, dove, contro Hamilton, sostiene che la logica non deve associarsi alla metafisica, ma alla matematica . Nella sua prefazione all’Analysis (1847) Boole afferma: << Nella primavera di quest’anno la mia attenzione fu attratta dalla disputa allora sorta fra Sir W.Hamilton e il Professor De Morgan; e fui indotto dall’interesse che la ispirava a riesumare trame, ormai quasi dimenticate, di indagini precedenti. Mi sembrava che, malgrado la logica possa essere riguardata con riferimento all’idea di quantità , essa fosse caratterizzata anche da un altro e più profondo sistema di relazioni. Se era legittimo riguardarla dall’esterno, come una scienza che attraverso la mediazione del numero si connette con le intuizioni di spazio e tempo, era legittimo anche riguardarla dall’interno come basata su fatti di ordine diverso che hanno la loro sede nella costituzione della mente…>> <<Coloro che hanno familiarità con lo stato attuale della teoria dell’algebra simbolica , sono consapevoli che la validità dei procedimenti dell’analisi non dipende dall’interpretazione dei simboli che vi sono impiegati , ma soltanto dalle leggi che regolano la loro combinazione . Ogni sistema di interpretazione che non modifichi la verità delle relazioni che si suppone esistano tra i simboli è ugualmente ammissibile , ed è così che il medesimo processo può, secondo uno schema di interpretazione, rappresentare la soluzione di una questione riguardante le proprietà dei numeri , secondo un altro schema quello di un problema di dinamica o di ottica. Questo principio possiede un’importanza fondamentale e si può affermare che i recenti progressi dell’analisi pura sono stati in larga misura promossi dall’influenza che esso ha esercitato nel dirigere l’indirizzo della ricerca>> << La caratteristica che definisce un calcolo autentico consiste in questo: che esso è un metodo fondato sull’impiego di simboli le cui leggi di combinazione sono note e generali, e i cui risultati ammettono un’interpretazione coerente. Il fatto che alle forme oggi esistenti di analisi venga assegnata un’interpretazione quantitativa è il risultato delle circostanze che determinarono il sorgere di tali forme, e noi non dobbiamo farne una condizione universale dell’analisi. Sulla base di questo principio generale , io intendo appunto fondare il calcolo logico , e reclamare per esso un posto tra le forme di analisi matematica ormai generalmente riconosciute , senza tener conto del fatto che, dato il suo oggetto e gli strumenti di cui si avvale, esso deve, per il momento, rimanere isolato.>> In termini moderni potremo esprimere il punto di vista di Boole ( e dei suoi precursori) individua e distingue i due momenti (sintattico e semantico) del discorso inferenziale . L’aspetto sintattico viene privilegiato durante la conduzione dell’argomentazione, una conduzione puramente formale, l’interpretazione semantica interviene nel momento iniziale quando si fissano gli oggetti e i principi formali del calcolo, e nel momento finale . quando si interpretano i risultati. Logica dei termini nell' Analisi di Boole: Leibniz aveva notato come fosse possibile accostare la disgiunzione e la congiunzione fra concetti alle operazioni matematiche di addizione e moltiplicazione; Boole sviluppò ulteriormente e in maniera rigorosa questa intuizione, costruendo una rappresentazione algebrica non solo per la congiunzione e la disgiunzione ma anche per i quantificatori 'ogni' e 'qualche', e utilizzando le normali variabili algebriche 'x', 'y' ecc. come variabili sui due valori di verità 'vero' e 'falso', rappresentati rispettivamente dall''1' e dallo '0' Supponiamo di partire da un <<universo del discorso>> , ossia da un insieme di <<cose>> concrete o no che Boole indica con <1>, il vero <<oggetto>> del nostro sistema. 3 Nell’ambito di questo universo possiamo scegliere alcuni oggetti x che godono di una certa proprietà X e costituire così la classe x. Tra le classi si può definire la relazione di <<uguaglianza di estensione>>, indicata con il simbolo (=) Se tra gli elementi di x facciamo un’ulteriore selezione scegliendo quegli elementi che godono anche della proprietà Y definiamo sostanzialmente un’operazione tra classi che chiameremo <<prodotto logico>> , indicato con il simbolo ( ). Il risultato del prodotto logico si indica brevemente con xy (elementi dell’universo che godono sia della proprietà X ,sia della proprietà Y) X Y . Vale la proprietà xy=yx ( proprietà commutativa) Ovvero si ottiene lo stesso risultato se si scelgono gli elementi della classe x che godono della proprietà Y o, viceversa , gli elementi della classe y che godono della proprietà X. Somma logica Date due classi x e y disgiunte, cioè non aventi elementi in comune, si opera la scelta degli elementi dell’universo che appartengono ad una almeno delle due classi. L’operazione si chiama somma logica e si indica con il simbolo (+). Il risultato dell’operazione si indica con x+y (elementi dell’universo che godono o della proprietà X o della proprietà Y) Vale anche in questo caso la proprietà commutativa x+y=y+x Sottrazione (-). Si osserva facilmente che x-y rappresenta il risultato della scelta : gli elementi dell’universo che godono della proprietà X ma non della proprietà Y L’operazione(-) è l’ inversa della somma in quanto (x-y) + y =x 4 In particolare la classe 1-x (completare) rappresenta tutti gli elementi dell’universo che non godono della proprietà X 1- X Le quattro forme di proposizione categorica ( secondo la logica aristotelica) A Tutti gli X sonoY ( universale affermativa) E Nessun X è Y ( universale negativa) I Qualche X è Y ( particolare affermativa) O Qualche X non è Y ( particolare negativa) Le quattro vocali a , e , i , o che si usano per rappresentare simbolicamente i quattro tipi di categoriche derivano convenzionalmente dalle parole adfirmo (a: univ. affermativa, i: partic. affermativa) e nego (e: univ. negativa, o: partic. negativa). Si scrivono , rispettivamente A xy=x oppure x(1-y)= 0 E xy = 0 I xy = u (vi è una classe U non vuota, i cui membri sono sia x che y) O x(1-y)=u (vi è una classe U non vuota, tra i cui membri vi sono degli X, e qualcosa di ciò che non è Y). 5 La traduzione del linguaggio del pensiero in linguaggio algebrico però non si ferma qui, Boole enuncia le leggi generali del pensiero sotto forma di leggi matematiche alle proprietà di alcune operazioni tipiche dell'algebra e che sono comuni anche alla logica, e cioè: 1. xy = yx Proprietà commutativa del prodotto 2. x+y=y+x Proprietà commutativa della addizione 3.z(x+y)=zx+zy Proprietà distributiva della moltiplicazione risp. all'add. 4.z(x-y)=zx-zy Proprietà distributiva della moltiplicazione risp. alla sottr. 5 Sostitutività di elementi uguali rispetto a moltiplicazione, addizione e sottrazione se x=y allora: zx=zy , z+x=z+y , x-z=y-z 6.x2=x Legge degli indici. Si noti che mentre le prime 5 proprietà ( o meglio <<assiomi>>) sono tutte applicabili nell’ordinaria algebra numerica, interpretando i segni x,y,z come numeri e le due operazioni ( ).e (+) rispettivamente come prodotto e somma aritmetica, la legge n.6 si discosta dall’ordinario calcolo algebrico, a meno che non si operi solo su variabili che assumano solo i valori <0> e <1>. Questa caratteristica ,lungi dall’essere una limitazione, si rivelerà molto importante in tutte le applicazioni dell’Algebra Booleana. dal calcolo proposizionale alla logica dei circuiti elettrici .Infatti alla fine degli anni' 40, con il primo impiego della tecnologia elettronica nella realizzazione di elaboratori numerici, l'algebra di Boole si rivelò subito uno strumento prodigioso per la progettazione dei circuiti dei calcolatori OPERAZIONI TRA NUMERI E OPERAZIONI TRA CLASSI L’analogia tra operazioni numeriche (nell’insieme che contiene i due soli elementi 0 e 1) e le operazioni tra classi risulta più evidenti se si opera nel modo seguente: Dato una classe x , per ogni elemento a dell’insieme universo U si costruisce la variabile logica <<appartenenza di a ad x). Si assegna alla variabile il valore 1 se a appartiene ad x, il valore 0 in caso contrario Si confrontano le tabelle relative a ciascuna operazione Operazioni tra numeri x 1 1 0 0 prodotto y 1 0 1 0 x y 1 0 0 0 x 1 1 0 0 somma y 1 0 1 0 x+y 1 1 1 0 x 1 0 x 0 1 Negazione o complementarità 6 . Operazioni tra classi x y x∩y 1 1 1 1 0 0 0 1 0 0 0 0 And (intersezione) x y 1 1 1 0 0 1 0 0 Or (unione) xV y 1 1 1 0 x 1 0 x 0 1 Not (Negazione o complementarità) VARIABILI BINARIE Il discorso può essere esteso a qualsiasi altra variabile binaria. Esempio : Sia x il risultato del lancio di una moneta: si può assegnare alla variabile il valore 1, per esempio, se esce testa e 0 se esce croce. Le terze colonne , nelle tre tabelle, rappresenteranno rispettivamente le variabili: In due lanci si ottengono due teste In due lanci si ottiene almeno un volta testa In un lancio non esce testa La logica delle proposizioni Una variabile binaria di particolare importanza è il valore di verità di una proposizione Dopo aver trattato la sillogistica, Boole fa un enorme passo in avanti: usa gli stessi simboli algebrici (lettere e segni di operazione) per trattare le proposizioni ipotetiche del tipo di quelle che si trovano nel sillogismo condizionale ("se A è B allora C è D; Ma A è B dunque C è D). Ma invece di trattare i termini del sillogismo, ritiene più utile trattare in generale la verità di proposizioni, cioè formule del tipo:se X è vera allora Y è vera In questo caso X e Y rappresentano non più classi, ma proposizioni. Occorre dunque dare ai simboli algebrici una interpretazione diversa da quella del calcolo delle classi, e cioè, prima di tutto, il simbolo "1" assume un significato diverso dal significato che ha nella logica dei termini, dove significa "dominio di discorso" (o insieme delle classi di cui si parla). Il simbolo "1" in questo caso significherà l'universo, che comprende tutti i casi e le congiunture di circostanze concepibili. Se vi è una sola circostanza concepibile rappresentata da una sola proposizione X, allora vi sono solo due possibili congiunture: che X sia vera o X sia falsa; e Boole le esprime così: x = la proposizione X è vera 1-x = la proposizione X è falsa 7 Se vi sono due circostanze concepibili rappresentate da due proposizioni X e Y, allora vi sono quattro possibili congiunture così simbolizzate da Boole: X è vera Y è vera = xy X è vera Y è falsa = x(1-y) X è falsa Y è vera = (1-x)y X è falsa Y è falsa = (1-x)(1-y) Con linguaggio più moderno possiamo dire Il valore di verità di una proposizione p può assumere due valori : Vero (V) e Falso (F). Si possono definire tre operazioni fondamentali, regole di composizione tra proposizioni, analoghe a quelle tra classi e si costruiscono le relative tabelle, chiamate Tavole di verità Tavole di Verità p q p∩q V V V V F F F V F F F F And (intersezione) p q V V V F F V F F Or (unione) pV q V V V F p V F q F V Not (Negazione o complementarità) . .Verifichiamo che nel calcolo preposizionale vale , per esempio, la proprietà 3 p(q+r) = pq+pr Costruiamo le tavole di verità p V V V V F F F F q V V F F V V F F r V F V F V F V F p∩q V V F F F F F F p∩r V F V F F F F F qVr V V V F V V V F (p∩q)V(p∩r) V V V F F F F F p∩( qVr) V V V F F F F F 8 Circuiti logici Consideriamo un circuito elettrico in cui siano inseriti: Un generatore (pila) Una lampadina Un interruttore Possiamo introdurre due variabili binarie: o Lo stato dell’interruttore (basso/alto) o Lo stato della lampadina (accesa/spenta) e si possono definire anche in questo caso i tre operatori fondamentali Oltre alle porte AND e OR, c'è la porta NOT, capace di invertire il segnale in ingresso: se vale 1, diventa 0 e viceversa. 9 Sillogismi Oltre a dare una "traduzione" delle proposizioni categoriche aristoteliche secondo modalità logiche, Boole definisce in termini analoghi le regole di conversione della logica classica e mostra come le premesse e le conclusioni del sillogismo possono essere tradotte in termini di operazioni algebriche. Esempio Tutti gli X sono Y . 0 tutti i greci sono uomini Tutti gli Y sono Z . . 0 tutti gli uomini sono mortali . x(1-y) = y(1-z) = Un modo di vedere il funzionamento del sillogismo è il seguente: Riscriviamo le due equazioni di cui sopra nel modo seguente (1) x = xy (tutti gli Xsono Y) (2) y = yz (tutti gli Y sono Z) moltiplichiamo ambo i membri di (2) per x e otteniamo (3) xy = xyz d'altra parte, per (1), possiamo sostituire in (3) xy con x e otteniamo: (4) x = xz che equivale a x(1-z) = 0 che è interpretabile come Tutti gli X sono Z. tutti i greci sono mortali Consideriamo ora il seguente sillogismo Nessun triangolo rettangolo è equilatero Qualche triangolo isoscele è equilatero Qualche triangolo rettangolo non è isoscele. La conclusione è vera ma non è conseguenza delle premesse.Infatti, se la deduzione fosse valida, potrebbe essere applicato lo stesso metodo a queste altre proposizioni, la cui conclusione è indubbiamente errata. Nessun cane è ruminante Qualche quadrupede è ruminante Qualche cane non è quadrupede 10 In generale: Date le due premesse Nessun X è Y Qualche Z è Y Quale sarà la conclusione? CALCULEMUS! xy=0 zy=u y(1-x) =y zy(1-x) =uu(1-x) =u Ma l’ultima relazione può essere interpretata così: qualche U non è X, ovvero qualche Z non è X La forma corretta dei due sillogismi è pertanto Nessun triangolo rettangolo è equilatero Nessun cane è ruminante Qualche triangolo isoscele è equilatero Qualche quadrupede è ruminante Qualche triangolo isoscele non è rettangolo Qualche quadrupede non è cane RAPPRESENTAZIONE INSIEMISTICA Le proposizioni dei sillogismi possono essere rappresentate con i diagrammi di Eulero 11 Rivediamo gli esempi precedenti Tutti gli X sono Y Tutti gli Y sono Z Tutti gli X sono Z X insieme dei cani Y insieme dei ruminanti Z insieme dei quadrupedi A Esistono quadrupedi che non sono cani X insieme dei triangoli rettangoli Y insieme dei triangoli equilateri Z insieme dei triangoli isosceli B Esistono triangoli isosceli che non sono rettangoli 12 13 14 15