Albert: “Ogni volta che ho sentito un albero cadere, ha fatto un suono, così presumo che anche altri alberi cadendo producano suoni. Non credo che il mondo cambi intorno a me quando non guardo.”
Barry: “Aspetta un attimo. Se nessuno lo sente, come può esserci un suono?”
Mentre scrivevo il dialogo di Albert e Barry nella loro disputa sul fatto se un albero che cade in una foresta deserta produce suono, a volte mi rendevo conto di aver perso l’empatia nei confronti dei miei personaggi. Smettevo di comprendere come chiunque possa discutere in quel modo, anche se l’ho visto succedere tante volte.
In queste occasioni, ripetevo a me stesso: “O l’albero che cade produce suono, oppure no!” per ripristinare il mio senso di indignazione vicaria.
(P or ~P) non è sempre un’euristica affidabile, se sostituisci P con una frase arbitraria. “Questa frase è falsa” non può essere considerata né vera né falsa in maniera consistente. E poi c’è sempre il vecchio classico: “Hai poi smesso di picchiare tua moglie?”
Ora, se sei un matematico, e uno di quelli che credono nella logica classica (invece che in quella intuizionista), ci sono modi per continuare a insistere che (P or ~P) è un teorema: per esempio, decidere che “Questa frase è falsa” non è una frase.
Ma queste aggiustamenti sono sottili, il che è sufficiente a dimostrare la necessità di sottigliezza. Non puoi semplicemente caricare a testa bassa in ogni occasione con “O lo è o non lo è!”
Quindi l’albero che cade produce suono, oppure no, oppure…?
Certamente, 2 + 2 = X oppure no? Beh, forse, se è davvero la stessa X, lo stesso 2 e gli stessi + e =. Se X vale 5 in un caso e 4 in un altro, la tua indignazione può essere inopportuna.
Anche solo per poter cominciare a sostenere che (P or ~P) deve necessariamente essere vero, il simbolo P deve indicare esattamente la stessa cosa in entrambe le metà del dilemma. “O la caduta produce un suono, oppure no!” — ma se Albert::suono non è la stessa cosa di Barry::suono, non c’è niente di paradossale nel fatto che l’albero cadendo produca un Albert::suono ma non un Barry::suono.
(L’idioma :: è una cosa che risale ai tempi in cui programmavo in C++ per evitare le collisioni di namespace. Se hai due librerie diverse che definiscono la classe Sound, puoi scrivere Package1::Sound per indicare quale Sound intendi. Questo idioma non è ampiamente diffuso, credo; e questo è un peccato, perché spesso mi piacerebbe poterlo usare nelle cose che scrivo.)
La differenza può essere sottile: Albert e Barry possono aver verificato con cura il fatto che stanno parlando dello stesso albero, nella stessa foresta, e che cade nella stessa occasione, proprio per assicurarsi che il loro sostanziale disaccordo riguardi esattamente lo stesso evento. E poi dimenticano di controllare che stiano confrontando questo evento con lo stesso concetto.
Pensa al fruttivendolo dove vai di solito: è sul lato destro o sinistro della strada? Ma naturalmente non c’è “il lato sinistro” della strada, solo il tuo lato sinistro, mentre la percorri in una direzione particolare. Molte delle parole che usiamo sono in realtà funzioni di variabili implicite fornite dal contesto.
È effettivamente una fatica infernale, che richiede una maledetta quantità di lavoro, maneggiare questo tipo di problemi in un programma di Intelligenza Artificiale che debba interpretare il linguaggio — un fenomeno noto con il nome di “deissi”.
“Martin ha detto a Bob che l’edificio era sulla sua sinistra.” Ma “sinistra” è un termine funzionale il cui valore valore discende da una variabile dipendente dal parlatore invisibilmente estratta dal contesto. Si intende la “sinistra” di chi, quella di Bob o quella di Martin?
Le variabili in una fallacia delle domande variabili non sono normalmente etichettate in maniera evidente — non è semplice come “Dimmi, pensi che Z + 2 sia uguale a 6?”
Se una collisione di namespace introduce due concetti differenti che sembrano “lo stesso concetto” perché hanno lo stesso nome — oppure una compressione della mappa introduce due eventi distinti che sembrano lo stesso evento perché non hanno cartelle mentali separate — oppure la stessa funzione viene valutata in xontesti differenti — allora la realtà stessa diventa proteiforme, mutevole. Almeno, questo è quello che l’algoritmo sente dall’interno. L’occhio della tua mente vede la mappa, non direttamente il territorio.
Se hai un problema con una variabile nascosta, che assume valori diversi in contesti differenti, sembra che la realtà stessa sia instabile — quello che l’occhio della tua mente vede cambia a seconda di dove guarda.
Questo spesso confonde gli studenti (e professori postmodernisti) che trovano un’affermazione con più di un’interpretazione; pensano di aver trovato una parte della realtà che è instabile.
“Oh mio dio! ‘Il sole gira intorno alla terra’ è vero per Hunga Huntergatherer, ma è falso per Amara Astronomer! Non esiste una realtà oggettiva!” La decostruzione di questa sciocchezza infantile è lasciata come esercizio per il lettore.
Eppure, persino io mi sono trovato all’inizio a scrivere “Se X vale 5 in un caso e 4 in un altro, la frase ‘2 + 2 = X’ può non avere un valore di verità fisso.” Non c’è una frase con un valore di verità variabile. “2 + 2 = X” non ha un valore di verità. Non è nemmeno una proposizione, non ancora, non nel senso in cui i matematici intendono le proposizioni, non più di quanto lo sia “2 + 2 =”, o “Fred salta sul” sia una frase in senso grammaticale.
Ma questa fallacia tende a insinuarsi, persino se tu ritieni di saperla più lunga, perché, beh, è così che l’algoritmo sente dall’interno.