Dans le devenir algorithmique (1), j’ai indiqué pourquoi Platon, au moment du Gorgias, avait abandonné la méthode élenctique pour introduire des pratiques qui proviennent essentiellement des mathématiciens pré-socratiques. Le discours philosophique ne peut plus se contenter d’une apparence de vérité reposant sur des opinions vraies qui ne se contredisent pas ; il s’agit à présent d’enchaîner les idées entre elles pour produire de la science et des idées stables.

Une des méthodes mathématiques en question repose sur l’utilisation des hypothèses dans l’argumentation. Le terme d’hypothèse est protéiforme à cette époque, et il nous faudra en proposer une cartographie, mais on peut être scolaire en la matière et commencer par rappeler que l’hypothèse désigne mot-à-mot de ce qui se tient sous la thèse. La thèse étant à la fois ce qui se tient debout, qui est stable et, par extension, le propos que l’on soutient en public.

Mais pourquoi Platon doit-il en passer par l’utilisation d’hypothèses dans son discours ?
On sait que dans le Ménon, Socrate affirmait qu’il fallait considérer « comme un devoir de chercher ce que nous ignorions », car cela nous rendait « meilleurs, plus énergiques, moins paresseux » [1. Ménon, 86 b.]. Seulement voilà : comment le Socrate, qui affirme par ailleurs “savoir qu’il ne sait rien”, peut-il chercher une chose qu’il avoue ignorer ? C’est un problème frontal que n’esquive pas Platon en faisant dire à son Ménon :

“Et de quelle façon chercheras-tu, Socrate, cette réalité dont tu ne sais absolument pas ce qu’elle est ? Laquelle des choses qu’en effet tu ignores, prendras-tu comme objet de ta recherche ? Et si même, au mieux, tu tombais dessus, comment saurais-tu qu’il s’agit de cette chose que tu ne connaissais pas ?” [2. Ménon, 80d]

On comprend mieux à présent le rôle assigné aux hypothèses, et plus précisément au raisonnement par hypothèses, lorsque Socrate affirme :

« Nous allons donc, si je ne me trompe, essayer de découvrir la qualité d’une chose dont nous ignorons la nature. Que ta toute-puissance du moins me fasse une très légère concession : accorde-moi d’examiner  « par hypothèse » si la vertu peut s’enseigner ou non. »[3. Ménon, 86e]

La question « comment chercher une chose dont on ne sait rien ? » pose explicitement le problème du point de départ d’une investigation, car enchaîner les idées ne suffit pas : il faut bien commencer par quelque chose, un premier maillon qui ne tient à … rien.

Si la méthode élenctique aboutissait à un accord entre les interlocuteurs à la fin de la discussion, on voit qu’ici l’ordre est inversé, car Socrate commence par demander à Ménon son accord pour commencer la discussion. Le recours à l’hypothèse commence là où s’arrêtait la méthode elenctique, c’est-à-dire par un accord. Mais ce dernier est un accord bien particulier car c’est un accord de « concession », dont chacun des protagonistes reconnaît le caractère provisoire.

La puissance du recours à l’hypothèse réside précisément là : elle introduit l’inconnu dans le discours lui-même. Le discours qui est le lieu de la raison et de la connaissance accueille en son sein de l’inconnu. C’est l’hypothèse qui permet de poser quelque chose qu’on ne connaît pas : elle fait pénétrer de l’inconnu dans le raisonnement (et peut-être n’y a-t-il pas de raisonnement sans cette part d’inconnu sans quoi tout discours serait liturgique). Faire des hypothèses, c’est introduire l’inconnu comme moteur du raisonnement.

C’est cette technique, mise au point par les mathématiciens grecs, qui va permettre à Platon de penser à nouveau frais sa méthode dialectique en se sortant de l’aporie qui consiste à chercher quelque chose que l’on ne connaît pas.

Toutefois, la banalité avec laquelle nous utilisons aujourd’hui le terme d’ « hypothèse » ne doit pas nous faire oublier la radicale nouveauté de cette technique. Pour ce faire, remarquons avec quelle condescendance Socrate s’excuse d’avoir recours à un tel procédé. Ce qui indique le caractère inhabituel d’une telle requête (et même inédit dans l’œuvre antérieure de Platon). De plus, la façon  même dont est introduit le recours à l’hypothèse nous renseigne sur son usage ;  le terme de « concession », ainsi que l’expression « accorde-moi » indiquent clairement que ce qui va être proposé comme point de départ de la recherche n’a de validité que si l’interlocuteur donne son accord en suspendant et réservant son jugement. Aussi n’est il pas rare de constater que Platon utilise parfois le terme d’« omologemata » (ce qui est accordé) à la place de celui d’ “hypothesis“. Mais la concession et la suspention n’est que provisoire et intermédiaire : l’hypothèse est là comme “boostrap” pour nous plonger au coeur du problème, pour nous aider à mettre le pied à l’étrier du raisonnement.

*

Relativement la question du devenir algorithmique qui nous occupe, le recours à la technique des hypothèses est crucial en ce sens qu’elle autorise des opération sur des inconnues, sur des variables. Avec l’algorithmie, on commence toujours par poser les inconnus, car même si on ne les connaît pas, rien n’empêche de les manipuler dans le discours, de les élucider et de les dévoiler chemin faisant.

Dans un programme informatique on déclare souvent des variables et on donne à leur type un statut (entier, booléen, texte, etc.) pour réserver des emplacements mémoire. Ce qui nous montre également que les liens entre mémoire et hypothèse sont fort, j’irai même jusqu’à affirmer que faire des hypothèse est une mnémotechnique : on “monte” des inconnues, des variables, en mémoire.

En tant que technique de mémoire, la méthode par hypothèse n’est pas sans risque dans les techniques de programmation, car les choses en mémoire doivent avoir des emplacements et des zones réservées. Et, quand il commence à y en avoir beaucoup  – une forme de passage aux limites – cela peut devenir problématique. On essaye bien de limiter les effets de bords que des erreurs dans la manipulation de ces “emplacements mémoire” pourrait engendrer, par exemple en déclarant des variables locales et non générales, mais cela n’efface pas les difficultés auxquelles on doit faire face lorsqu’il y a des enjeux de parallélisation des calculs (notamment dans le cloud computing)

C’est ainsi une limite qu’éprouve la programmation impérative qui travaille à partir des états de mémoire. Wikepedia précise que, “en programmation impérative, on travaille sur le modèle des machines à états (cf. Automate fini, machine de Turing et Architecture de von Neumann), avec une mémoire centrale et des instructions qui modifient son état grâce à des affectations successives”. Or, au bout d’un moment, trop d’utilisations de variables en mémoire peut provoquer des effets de bords, et c’est ce à quoi pallie la programmation fonctionnelle qui, par principe, n’utilise pas des variables (des mutable states) et donc des états de mémoire variables. Le même article de Wikepedia indique en effet que “la programmation fonctionnelle s’affranchit de façon radicale des effets secondaires en interdisant toute opération d’affectation”.

*
Dans la prochaine note il me faudra donner quelques exemple d’utilisation de ces premières techniques hypothétiques. Pour cela nous parlerons de poésie avec Parménide, des travaux du géomètre Hippocrate de Chio, mais aussi de chasse, de problème et de méthode. Ce qui, je l’espère, permettra de caractériser l’invention de l’hypothèse.
Notes :