Je traîne depuis longtemps l'idée de vulgariser quelques notions de logique linéaire. Du point de vue de la vulgarisation, la logique linéaire a ceci de sympathique que c'est quelque chose mathématiquement à tellement « bas niveau » que je n'ai besoin de présupposer aucune sorte de connaissance mathématique préalable pour en parler : en principe, on peut la considérer comme un pur petit jeu syntactique dont les règles ne sont pas très compliquées — même si, présenté sous cette forme, il risque de ne pas apparaître comme très intéressant, et même s'il est bon d'avoir du recul pour avoir une idée de quelles règles appliquer à quel moment, la compréhension des règles elles-mêmes ne nécessite pas de savoir particulier. Du point de vue personnel, la logique linéaire est quelque chose qui me frustre beaucoup parce que, d'un côté, je la trouve extrêmement élégante et joliment symétrique, de l'autre, à chaque fois qu'elle semble avoir une application ou une interprétation quelque part, on se rend compte qu'il y a une note en bas de page qui fait que ce n'est pas vraiment la logique linéaire (il y a par exemple un axiome en plus, ou un connecteur en moins, ou seulement un fragment du système, ou quelque autre variation), et l'élégance est rompue ; et aussi, pour cette raison, l'intuition qu'on peut se former est brouillée.
De quoi s'agit-il ? D'un système formel inventé par le logicien français Jean-Yves Girard en 1987. J'avoue ne guère avoir d'idée de ce qu'il voulait faire avec, parce que les textes de Girard sont… un peu inhabituels… bourrés de mots qu'il ne définit pas, de références cryptiques, et de blagues dont on se demande si ce sont des blagues (comme l'intervention insistante du brocoli dans beaucoup de ses papiers). Mais depuis, elle a trouvé diverses applications et connexions : en logique, en informatique théorique ou plus appliquée, en algèbre et théorie des catégories, en théorie des jeux et même en physique quantique (sauf qu'à chaque fois, comme je le dis ci-dessus, il y a quelque chose en plus ou en moins) ; mais je ne compte pas essayer de décrire ces applications et connexions, qui sont pourtant sans doute ce qu'il y a de plus intéressant dans l'histoire, parce que je n'ai pas l'espace ni le temps pour ça.
Bref. Avant d'expliquer quelles sont les règles du jeu, il faut
que j'essaye de donner une idée de ce dont il s'agit (en agitant les
mains). On parle de logique
linéaire, et il s'agit
effectivement d'une généralisation de la logique classique, mais ce
terme risque de donner une impression tout à fait fausse, et on
devrait peut-être plutôt s'imaginer que ça s'appelle formalisme
d'échanges
ou synallagologie universelle
ou quelque chose
de ce genre (le seul problème du mot synallagologie
est que
personne ne sait ce qu'il veut dire puisque je viens de l'inventer…
mais à part ça, il est parfait). La différence essentielle est la
suivante : en logique usuelle, si on fait un raisonnement tendant à
démontrer une conclusion X à partir
d'hypothèses A, B et C, disons, on
peut utiliser librement A, B et C
dans le cours du raisonnement, chacune aussi souvent qu'on veut (on
peut aussi, d'ailleurs, ne pas du tout utiliser une hypothèse) ; la
logique linéaire, pour sa part, exige que chacune des « hypothèses »
(qu'il vaut mieux, du coup, ne pas considérer comme des hypothèses)
soit utilisée une et une seule fois : on ne peut ni les
multiplier ni les faire disparaître (évidemment, il y aura des moyens
de marquer des hypothèses spéciales qu'on peut multiplier et/ou faire
disparaître, mais ce n'est pas le cas par défaut) ; dans ces
conditions, il vaut mieux, donc, considérer qu'on n'a pas du tout à
faire à une logique, à des raisonnements et à des hypothèses et
conclusions, mais à des échanges (gestion de ressources
abstraites, transactions économiques, réactions chimiques, que sais-je
encore) qui ont des entrées (réactifs) et des sorties (produits), ou
quelque chose comme ça. Par exemple, la logique linéaire pourrait
concevablement servir à formaliser des contrats financiers
(j'avais déjà évoqué quelque chose
de ce genre), mais il ne faut pas s'imaginer que la logique
linéaire elle-même dira grand-chose d'intéressant : de même
que la logique classique ne fournit que le langage le plus basique
au-dessus duquel on peut bâtir des raisonnements (il faut ajouter des
axiomes intéressants pour obtenir quelque chose d'intéressant), la
logique linéaire n'est qu'un cadre, en lui-même extrêmement
primitif pour possiblement décrire des échanges.