Le robot mathématicien

Dans "Les Ombres de l'Esprit", chapitre 3.16 page 154, Roger Penrose propose une démonstration du fait qu'un robot mathématicien ne peut fonctionner selon un mécanisme algorithmique. Il explique qu'il n'y pas besoin que le robot soit convaincu de connaitre son véritable mécanisme pour qu'une contradiction aparaisse. Mais son raisonnement me semble comporter certaines imprécisions.

Tout d'abord, Penrose passe sous silence un fait important :
Si le robot fait l'hypothèse m selon laquelle il est régi par l'ensemble de mécanismes M et qu'il veut tirer des conséquences de cette hypothèse, alors il devient logiquement illégitime pour lui de continuer à raisonner normalement : s'il veut tenir compte de toutes les conséquences de l'hypothèse m, il doit aussi tenir compte du fait que sous cette hypothèse, il ferait ses déductions selon les règles découlant de M, et non pas selon celles découlant de ses mécanismes réels qui, ne l'oublions pas, de son point de vue sont des mécanismes M' à priori différents de M, même si son constructeur sait qu'en fait M = M'. De son point de vue, il ne peut plus légitimement utiliser directement M' pour raisonner, mais il ne peut utiliser M' que comme "interpréteur" de M.
Cependant, si on se place du point de vue du constructeur, cela ne change rien car cela revient au même d'exécuter directement M (qui est égal à M') ou d'interpréter M avec M (a part que c'est plus lent). Mais il me semble quand même important de mentionner ce problème.

Voyons comment le problème se présente de ce point de vue.

Les assertions *m sont celles que le robot peut déduire en interprétant M avec M' (qui, nous le savons, est égal à M), c'est à dire celles qu'il peut déduire directement avec M, autrement dit les assertions *m ne sont ni plus ni moins que les assertions * !

Où est l'erreur ?

En fait, pour que le robot puisse attribuer l'imprimatur *m à l'assertion G(Qm(M)), il ne suffit pas de faire l'hypothèse m : "Les mécanismes M sous-tendent la compréhension mathématique du robot.". Il faudrait faire l'hypothèse plus forte n: "m et le robot sait que m".

Le raisonnement de Penrose ne prouve donc pas que le robot ne peut fonctionner suivant des mécanismes algorithmiques, mais seulement que s'il fonctionne selon des mécanismes algorithmiques alors il ne peut pas connaitre complètement ses propres mécanismes.

Examinons maintenant ce qui pourrait se passer concrétement si on communiquait au robot ses mécanismes M et qu'on réussisait à le convaincre du fait que ce sont bien ses propres mécanismes.

Cette nouvelle conviction modifierait les mécanismes en question, qui deviendraient une version améliorée de M que nous appelerons M+.

Voyons en quoi consiste exactement M+.

Dans un premier temps, avec ses mécanismes M et la connaissance du fait que ses mécanismes sont M, le robot peut faire des déductions plus puissantes générées par des mécanismes que nous appellerons M1.
Mais le robot sachant que ses nouveaux mécanismes incluent M1, ajouterait cette connaissance à ses propres mécanismes qui deviendrait M2. et ainsi de suite. Supposons que ses mécanismes d'origine M lui permettent d'accéder à tous les ordinaux transfinis inférieurs à x0. Il pourrait déduire de la connaissance de M le fait que x0 est un ordinal transfini et ainsi passer directement aux mécanismes Mx0. et continuer ainsi de suite à l'infini. Cependant, ses mécanismes M+ restant algorithmiques et finis, il n'aura jamais accès qu'aux ordinaux transfinis inférieurs à un certain ordinal X, ce qui est cohérent par rapport au fait que M+ reste un ensemble de mécanismes algorithmique fini et donc nécessairement limité.