Vi è la necessità di pensare a un nuovo paradigma logico – una logica computazionale – che a differenza della logica matematica sappia gestire sistemi di conoscenza aperti, cioè dinamici e distribuiti. Le sollecitazioni provenienti dall’informatica sono feconde per tale finalità, come anticipato nella lezione precedente. Nel Prolog, linguaggio di programmazione sviluppato negli anni ‘70, a differenza dei sistemi assiomatici si possono cambiare le ipotesi e la strategia nel corso della dimostrazione: l’ordine delle ipotesi è quindi fondamentale per il risultato, e inoltre le regole adottate tengono conto delle informazioni del sistema proprio come avviene con il metodo analitico. Inoltre la programmazione orientata a oggetti, altro linguaggio di programmazione sorto negli anni ’80, permette una maggiore interazione e scambio di informazione tra i sistemi. Tuttavia, entrambi i linguaggi hanno un limite: non riescono a trattare in maniera esaustiva i sistemi chiusi. Inoltre mentre la programmazione a oggetti riesce a trattare meglio una conoscenza modulare – cioè, capace di spaziare tra i diversi sistemi di conoscenza –, il Prolog, al contrario, ha ereditato l’impostazione assiomatica e statica di Frege, e quindi non è programmato per tale duttilità. In realtà anche la programmazione a oggetti non ha una logica adeguata per trattare in maniera feconda un “negoziato” tra i diversi moduli. Pertanto, vi è la necessità di elaborare una nuova logica che sappia giustificare le ipotesi di partenza, ma anche inglobare nel corso delle ipotesi le anomalie o incoerenze all’interno della regola generale. Nella logica matematica, quando sorgono anomalie tra diverse teorie, si è cercato un approccio globale, come è avvenuto con i paradossi dell’insieme da parte di Zermelo: cioè ripensare una fondazione assoluta di tutti i principi per eliminare la contraddizione. Mentre, seguendo il metodo di Newton, c’è bisogno di adottare una modularità che permetta di superare queste anomalie anche a livello locale, cioè che permetta di volta in volta di inglobare le incoerenze nella regola provvisoria di partenza. Un sistema chiuso comunicante, cioè un sistema di assiomi incompleto, non permette questa duttilità nella comunicazione tra i diversi sistemi: vi è quindi bisogno di un sistema aperto (un ambiente) comunicante per gestire questo tipo di comunicazione. In questo nuovo sistema si possono scambiare sia le ipotesi che risultati già dimostrati. La comunicazione tra i diversi sistemi deve essere broadcasting, cioè, a differenze della programmazione a oggetti, non deve essere indirizzata a mittenti specifici. Deve inglobare sistemi capaci di generare ipotesi al loro interno e avviare un negoziato tra le diverse ipotesi, in modo da superare nel corso della comunicazione le diverse incompatibilità modificando, ove opportuno, le regole iniziali. Queste nuove logiche dovrebbero possedere un dispositivo che sia in grado di selezionare le migliori ipotesi, inglobando le contraddizioni senza neutralizzare il principio logico dell’ex falso sequitur quodlibet (circostanza che avrebbe conseguenze nefaste per la scienza). Da queste osservazioni è chiaro che il metodo analitico, che presuppone una cornice di conoscenza aperta – cioè le cui ipotesi sono provvisorie e modificabili e che procede attraverso una continua interazione tra diversi sistemi – è superiore al metodo assiomatico, non solo nel rappresentare il ragionamento umano ma anche quello scientifico. Anche nella matematica la strategia dimostrativa, la scelta delle definizioni oltre che quella delle ipotesi, è fondamentale per il contesto della scoperta.
- Giuseppe O. Longo, Le idee del Novecento: informatica, 21-23 aprile 1997