091024 9 min

Le cadre de réalité

Vrai et faux ne sont pas de vrais mots. Ce sont les parties d'un seul mot, qui est celui de la mise en équation.
Procéder à la mise en équation suppose deux objets et un opérateur. Les deux objets sont associés au moyen de l'opérateur et si l'opération renvoie l'égalité, alors on affecte à cette opération la valeur « true », « false » sinon.

Cela dit, la vérité et la recherche de vérité ne sont pas des mathématiques avec des chiffres.
Les mathématiques avec des chiffres sont une expression de la réalité qui aura été rendue possible à manipuler symboliquement au moyen des chiffres.

Si il s'agit de comparer des bananes et des pommes, au moyen de l'opérateur de leur nombre ou de leur qualité, par la proposition « les bananes sont aussi comestibles que les pommes » ou « il y a autant de bananes que de pommes », alors le résultat de la mise en équation est très rapide et simple à trouver.

Mais pourtant déjà, le simple fait de la mise en équation suppose l'existence d'un cadre à cette réalité. On aura supposé que ces objets sont visibles ou possibles à voir, qu'ils appartiennent à une même époque, et bien évidemment qu'il y a un intérêt à vouloir faire cette équation.

Le résultat de l'opération, true ou false, est déterminé par les objets, l'opérateur, la formulation de la proposition, et le cadre dans lequel cette opération est effectuée.

Si bien qu'on peut faire la réciproque, si on sait que par ailleurs l'opération a été effectuée et a donné un résultat « true », alors on peut en déduire de manière plus ou moins fiable l'ensemble des composants qui ont donné lieu à ce résultat. Et dès lors, on peut vite s'apercevoir par exemple que cette opération appartient à une époque et à des conditions qui auront probablement changé depuis.

La présence ou l'absence de chacun des objets de l'opération, de la formulation de la proposition, et de son cadre de réalité, doivent à leur tour être évalués selon la même mise en équation.
C'est de là qu'apparaît le terme de « logique » : quand, en l'absence d'une des données, la déduction depuis les autres produit un résultat cohérent avec le précédent résultat.

Si par exemple on cherche, parmi le cadre de l'expérience, le jour où elle a eu lieu, et qu'on obtient, pour la proposition « il y a le même nombre de bananes que de pommes », la liste du nombre de chaque fruit par jour :
bananes, jour 1 : 10, 2 : 7, 3 : 5, 4 : 3, 5 : 2, 6, 1 ; et
pommes, jour 1 : 10, 2 : 8, 3 : 5, 4 : 2, 5 : 0.
De là on obtient que si la proposition renvoyait « vrai », une liste de deux dates sont éligibles, tandis que si elle renvoie « faux », par exclusion les autres jours le sont.
En tous cas, il est « possible » que l'opération ait pu renvoyer la valeur « true ».

Maintenant, au cours de ces enquêtes sur la vérification des différents composants de l'équation, il est possible de tomber sur un résultat qui se trouverait impossible à vérifier tant qu'un autre n'aura pas été donné, par exemple sur l'existence de ces fruits ou de la capacité à pouvoir observer leur quantité.

Or cela arrive souvent en terme de logique, que des composants soient liés par un ordre hiérarchique, temporel ou logique, faisant qu'un composant découlent de l'état d'un autre.

Dans les logiciels, qui sont l'antre de l'étude de la logique, cela est très fréquent.
Les fonctions sont des ordonnements qui sont prévus pour recevoir des données qui n'ont pas encore été injectées.

De là apparaît le terme de la possibilité de l'échec d'une opération. Dans toutes les fonctions, il y a soi en son intérieur, soi à l'extérieur d'elle-même, une vérification qui est faite pour vérifier au préalable que les données à injecter soient éligibles.

L'algorithme récursif le plus banal à étudier est celui que j'ai découvert par inadvertance un jour, et qui produit le nombre d'Or Phi (tout le monde a admit que cette découverte était vraiment originale !).

Ce n'est pas une équation mais un algorithme dans la mesure où des deux côtés de l'opérateur « = » (qui possède la fonction de faire basculer le résultat de droite vers la gauche, sinon on utilise « == » pour faire la vérification booléenne qui renvoie true ou false), on retrouve la même variable « a ».

On a l'algorithme suivant :
a = 1+1/a ;

dont la structure est « a = 1+1/(1+1/(etc... »
qui rappelle notamment le signe [@] puisque c'est finalement « 1+1/lui-même » (retourné sur lui-même)

Cet algorithme ne renvoie rien tant que la valeur « a » injectée n'est pas un nombre rationnel.
Il peut être n'importe quel nombre rationnel, il renverra toujours le résultat Phi.
Donc on affecte à « a » la valeur arbitraire de 1, afin de pouvoir lancer l'opération.

Mais ce qui est intéressant est ce qui se passe en l'absence de valeur arbitraire, ou plus généralement pour un algorithme, en l'attente d'avoir obtenu une valeur éligible.

Dans ce cas il se produit le résultat selon lequel la réponse renvoyée est « error » pour dire que la vérification n'a pas pu être effectuée, et que le résultat est indécidable, indéterminé.

C'était ça l'expérience du chat de Shrödinger, où le poison avait une chance d'atteindre le chat, mais qu'en raison du fait qu'il soit enfermé dans une boîte, on ne puisse pas le vérifier, faisant que le chat n'était ni empoisonné ni non empoisonné.

Ce résultat, stupide, est celui qui descend de la chaîne d'opérations préalables à la vérification qui veut être faite, en fait on devrait dire « le temps qu'il faut pour que le chat soit certainement empoisonné s'est 'il entièrement écoulé ? ».
Et comme ce temps est inconnu temps qu'on a pas renouvelé assez souvent l'expérience, l'opération ne peut pas avoir lieu sur la base de résultats statistiques, et elle est donc avortée, produisant le résultat stupide dit de « l'indétermination quantique ».
C'est à dire que l'information disponible est insuffisante pour produire un résultat utilisable.

- Maintenant dans un logiciel, il est important que la chaîne logique soit entièrement déroulée afin de produire un résultat.
Tous les résultats consécutifs de la chaîne sont appelés de manière temporelle et ordonnée.
(sauf en AJAX où on a inventé l'Asynchronicité, qui est la possibilité de réinjecter une information préalablement utile arrivée tardivement, faisant que par défaut l'opération revoie le résultat « Veuillez patienter... »).
Cette obligation d'ordonner les événements est en soit la première source des erreurs.
Mais en même temps on est bien obligé d'écrire le code, même si c'est de façon para-temporelle.

Parfois une opération met trop de temps à être résolue, ce qui compromet toute la séquence.
Cela oblige à une rigueur accentuée dans l'écriture, par exemple pour un simple premier démarrage d'une application, il faut au préalable localiser les bases qui seront utilisées, alors pourtant que le nom de la base à utiliser en fonction des conditions de démarrage se trouvent elles-mêmes dans la base de données.
Pour ce moment (toujours délicat) du « boot » d'un logiciel, on fait appel à des astuces, qui risquent souvent de laisser de béants trous de sécurité, si par exemple les conditions de démarrage sont données par un paramètre qui est directement injecté dans le logiciel (et donc qui peut être contrôlé facilement).

On a donc un pré-boot qui va renvoyer les données éligibles, une vérification des conditions, une déduction des bases à utiliser, une vérification de cohérence avec les données éligibles, puis enfin le « boot ».

Et même du coup on va être tenu de vouloir conditionner ce pré-boot par des motifs différents, de sorte qu'il soit lui-même l'objet d'un pré-pré-boot, qui sera situé « en dur » et rendu inaccessible par une technologie voisine.

En fait ceci sert à montrer le schéma selon lequel tout logiciel, et toute construction logique est un peu à l'image d'une pyramide posée sur la pointe. Il y a toujours un extrémité du mécanisme de la logique qui est indivisible, et qui repose sur des données arbitraires. Ce sont les limites, la frontière des systèmes, les endroits par lesquels ils peuvent se développer.

(En passant : la frontière d'un système est l'ensemble des données arbitraires ; quand on commence l'écriture d'un logiciel, la majorité des résultats exploités sont arbitraires, et quand il tend vers la perfection, les principales données arbitraires sont les paramètres.)

Si cette extrémité indivisible est rendu incertaine, ou simplement modifiée, c'est toute la mécanique qui en découle qui peut se trouver transformée (et le nombre d'erreurs qui apparaissent peut soudainement exploser).
C'est justement parce que ces données arbitraires sont très créatrices d'erreurs que le développement des systèmes tend à les rendre « fruit de l'opération logique elle-même ».

Le résultat renvoyé par toute opération logique, est nécessairement composé d'une chaîne, le plus souvent de plusieurs chaînes simultanées, de composants qui sont autant d'opérations logiques.

De là apparaît l'importance de l'écriture du mécanisme.
En particulier, dans notre cas de l'étude d'une proposition sensé renvoyer « vrai » ou « faux », cette écriture est localisée dans « la façon » dont la proposition est « formulée ».

Ce à quoi cela nous mène, est de dire que, par dogmatisme, impatience, et insuffisance de développements dans l'étude de la logique, notre société est très accoutumée à utiliser le « vrai » « faux » comme points de départ de toutes ses actions, sans jamais réellement se questionner sur ce qui a parmi d'aboutir à ces réponses, et les conditions parfois exceptionnelles où elles sont validées.

C'est une posture d'une trop grande modestie par rapport aux conséquences que cela peut engendrer, comme si ce n'étaient que des fourmis qui n'ont pas à remettre en cause le cadre d'analyse dans lequel cette opération est réalisée.

A chacune des propositions présentées (généralement, en politique surtout, avec une outrecuidance qui tend à vouloir stopper nette toute étude) il convient d'étudier à la fois la formulation et ainsi, le cadre de réalité dans lequel la proposition est validée.
(et bien souvent ce cadre de réalité n'appartient vraiment pas à celui des gens normaux !)

Or, avant que le cadre de réalité d'une proposition ne soit véritablement « universel », il faut quand même être capable de se prévaloir de la maîtrise conceptuelle et philosophique d'un mécanisme et d'une logique qui sont ceux de la fonction proto-mathématique Dieu.

8119