Connecteurs logiques

De Sémanticlopédie
Aller à : navigation, rechercher


par Laurent Roussarie


Les connecteurs sont des éléments de vocabulaire des langages de logique formelle et symbolique (comme le calcul propositionnel ou le calcul des prédicats). Ils font partie de ce que l'on appelle les constantes logiques de ces langages. On peut les envisager soit du point de vue de leur propriétés structurelles (c'est-à-dire syntaxiques, ou formelles), soit du point de vue de leur propriétés sémantiques. Ces deux approches sont bien plus complémentaires que concurrentes, et c'est pourquoi elles font chacune l'objet d'une présentation dans cette fiche. Dans les deux cas, les connecteurs se définissent sous forme de fonctions.


Définition syntaxique

Dans un langage logique, un connecteur est ce qui permet de composer une formule (ie une « phrase ») complexe à partir de formules plus simples. Un connecteur est donc un outil « constructeur » de formules. Par exemple, si <math>\phi</math> et <math>\psi</math> sont des formules bien formées du langage, alors <math>(\phi \wedge \psi)</math> est aussi une formule bien formée, où <math>\wedge</math> est le connecteur de conjonction. Les connecteurs logiques usuels sont binaires : ils combinent deux formules pour en former une nouvelle; mais en théorie rien n'empêche d'envisager aussi des connecteurs ternaires, quaternaires, etc. Appelons l'arité d'un connecteur le nombre de formules qu'il combine. Un connecteur peut se définir alors comme une fonction.

Définition 1 
Soit <math>\Phi</math> l'ensemble des formules bien formées du langage. Un connecteur d'arité <math>n</math> est une fonction de <math>\Phi^n</math> dans <math>\Phi</math>.

Notons alors que l'ensemble <math>\Phi</math> est clos sous le jeu de connecteurs que l'on se donne. On remarquera aussi que sous cette définition, on accepte l'idée de connecteurs d'arité 1, dits unaires ou singulaires. C'est ce qui correspond, par exemple, à la négation (<math>\neg</math>), même si le terme de connecteur devient ici impropre, puisqu'il n'est plus question de connecter des formules à proprement parler. C'est pourquoi il est souvent fait usage du terme plus général d'opérateur logique (on trouve aussi, naturellement, foncteur).

L'application de la définition supra nous donne le type de notation suivant: si <math>*</math> est un connecteur binaire et <math>\phi</math>, <math>\psi \in \Phi</math>, alors <math>*(\phi,\psi)</math> est une formule bien formée de <math>\Phi</math>. A cette écriture fonctionnelle, on préfère souvent la notation infixe plus intuitive : <math>(\phi * \psi)</math>. Les parenthèses sont, au moins a priori, indispensables pour circonscrire la connexion, les connecteurs n'étant pas tous associatifs1: ainsi la séquence <math>\phi \wedge \psi \rightarrow \chi</math> est ostensiblement mal formée car on ne sait pas exactement « qui connecte quoi »; on devra plutôt écrire soit <math>((\phi \wedge \psi) \rightarrow \chi)</math>, soit <math>(\phi \wedge (\psi \rightarrow \chi))</math>.

Une telle définition, même si elle peut être « mathématiquement » satisfaisante, ne reflète cependant pas exactement les propriétés formelles des connecteurs. Si l'on regarde <math>\Phi</math> comme un langage, celui-ci est défini par les séquences qu'il accepte, et ces séquences sont elles-mêmes définies par leur forme. De ce point de vue, les notations préfixe et infixe ne sont donc plus de simples variantes : elles définissent deux langages différents. On s'en rend immédiatemment compte si l'on explicite leurs règles syntaxiques (ie de bonne formation des formules)  les unes diront par exemple que si <math>\phi</math> et <math>\psi</math> sont des formules et si <math>*</math> est un connecteur binaire, alors <math>(\phi * \psi)</math> est une formule bien formée, tantis que les autres diront que c'est <math>*(\phi,\psi)</math> qui est bien formée.

Evidemment avec cette définition syntaxique, seule la convention (typo)graphique, c'est-à-dire le choix des symboles, permet de distinguer deux connecteurs. Et cela a pour conséquence que, pour une arité donnée, il n'y a pas de limite au nombre de connecteurs que l'on peut se donner. Cependant les connecteurs logiques respectent d'autres propriétés, qui les contraignent et qui découlent de leur définition sémantique2.

Définition sémantique

La valeur sémantique (en l'occurrence la dénotation) d'une formule, atomique ou complexe, est sa valeur de vérité. Un connecteur logique est ce qui indique la valeur de vérité d'une formule complexe à partir des valeurs de vérité des formules plus simples qui la composent. La sémantique d'un connecteur est donc sa table de vérité, et formellement, une table de vérité est ce que l'on appelle une fonction de vérité.

Définition 2 
Soit <math>\mathbb{B}</math> un ensemble de valeurs de vérités (par exemple <math>\{0;1\}</math>). Une fonction de vérité3 d'arité <math>n</math> est une fonction de <math>\mathbb{B}^n</math> dans <math>\mathbb{B}</math>.


Du point de vue sémantique, on dira qu'un connecteur logique est une fonction, ou un foncteur, de vérité. Cette définition a plusieurs conséquences. D'abord, si l'on admet un nombre de valeurs de vérité fini (notons ce nombre <math>b</math>), alors pour toute arité <math>n</math>, le nombre de connecteurs <math>n</math>-aires différents est fini et vaut <math>b^{(b^n)}</math> dans le cas de la logique standard divalente4. On dispose donc de 4 (<math>2^2</math>) « connecteurs » unaires différents, de 16 (<math>2^4</math>) connecteurs binaires, de 256 (<math>2^8</math>) connecteurs ternaires, etc. Des 4 unaires, seule la négation est vraiment intéressante, c'est la fonction qui inverse les valeurs de vérité; les trois autres étant la fonction constante 1, la fonction constante 0 et la fonction identitaire. Le tableau ci-dessous donne l'inventaire des 16 connecteurs binaires.

<math> \phi</math> <math>\psi</math> <math>*_1 </math> <math>*_2 </math> <math>*_3 </math> <math>*_4 </math> <math>*_5 </math> <math>*_6 </math> <math>*_7 </math> <math>*_8</math> <math>*_9 </math> <math>*_{10} </math> <math>*_{11} </math> <math>*_{12} </math> <math>*_{13} </math> <math>*_{14} </math> <math>*_{15} </math> <math>*_{16} </math>
<math>1</math> <math>1</math> <math>1</math> <math>1</math> <math>1</math> <math>1</math> <math>1</math> <math>1</math> <math>1</math> <math>1</math> <math>0</math> <math>0</math> <math>0</math> <math>0</math> <math>0</math> <math>0</math> <math>0</math> <math>0</math>
<math>1</math> <math>0</math> <math>1</math> <math>1</math> <math>1</math> <math>1</math> <math>0</math> <math>0</math> <math>0</math> <math>0</math> <math>1</math> <math>1</math> <math>1</math> <math>1</math> <math>0</math> <math>0</math> <math>0</math> <math>0</math>
<math>0</math> <math>1</math> <math>1</math> <math>1</math> <math>0</math> <math>0</math> <math>1</math> <math>1</math> <math>0</math> <math>0</math> <math>1</math> <math>1</math> <math>0</math> <math>0</math> <math>1</math> <math>1</math> <math>0</math> <math>0</math>
<math>0</math> <math>0</math> <math>1</math> <math>0</math> <math>1</math> <math>0</math> <math>1</math> <math>0</math> <math>1</math> <math>0</math> <math>1</math> <math>0</math> <math>1</math> <math>0</math> <math>1</math> <math>0</math> <math>1</math> <math>0</math>


<math>*_1</math> et <math>*_{16}</math> sont les deux fonctions constantes binaires, parfois savamment dites tautologisation et absurdisation, respectivement (elles sont parfois symbolisées par <math>\mathcal{V}</math> et <math>\mathcal{F}</math>, par exemple dans (Salem 1987)). Les colonnes chapeautées par <math>*_4</math>, <math>*_6</math>, <math>*_{11}</math>, <math>*_{13}</math>, correspondent aux connecteurs qui « occultent » l'un de leurs deux termes ; on pourrait les symboliser respectivement par ⊳, ⊲, ⋫, ⋪5. Ainsi (φ⊳ψ) équivaut simplement à <math>\phi</math> et (φ⋫ψ) à <math>\neg\psi</math>, etc.


Les connecteurs les plus usités sont :

<math>\wedge</math> (<math>*_8</math>)
la conjonction (<math>(\phi \wedge \psi)</math> se lit « <math>\phi</math> et <math>\psi</math> »),
<math>\vee</math> (<math>*_2</math>)
la disjonction (<math>(\phi \vee \psi)</math> se lit « <math>\phi</math> ou <math>\psi</math> »),
<math>\rightarrow</math> (<math>*_5</math>)
l'implication matérielle (<math>(\phi \rightarrow \psi)</math> se lit « si <math>\phi</math> alors <math>\psi</math> »),
<math>\leftrightarrow</math> (<math>*_7</math>)
l'équivalence, ou bi-implication, matérielle (<math>(\phi \leftrightarrow \psi)</math> se lit « <math>\phi</math> si et seulement si <math>\psi</math> »).

∨∨ (<math>*_{10}</math>) représente la disjonction exclusive ((φ∨∨ψ) pour « <math>\phi</math> ou <math>\psi</math>, mais pas les deux »).

<math>*_3</math> est l'implication inverse ; on peut la représenter par <math>\leftarrow</math> et <math>(\phi \leftarrow \psi)</math> équivaut à <math>(\psi \rightarrow \phi)</math>, <math>*_{12}</math> est la négation de l'implication ; on peut la représenter par ↛ ((φ↛ψ) équivaut ainsi à <math>\neg(\phi \rightarrow \psi)</math>), de même <math>*_{14}</math> est la négation de l'implication inverse, représentable par ↚.

Enfin, <math>\mid</math> (<math>*_9</math>), nommé barre de Sheffer, représente le connecteur d'exclusion ou d'incompatibilité (<math>(\phi \mid \psi)</math> peut se traduire en « <math>\phi</math> exclut <math>\psi</math> »), c'est la négation de la conjonction; et <math>\downarrow</math> (<math>*_{15}</math>), la flèche de Pierce (ou de Quine), représente le connecteur de rejet (<math>(\phi \downarrow \psi)</math> correspond à « ni <math>\phi</math>, ni <math>\psi</math> »), c'est la négation de la disjonction. Les symboles utilisés ici sont relativement arbitraires (voir ci-dessous pour des variantes courantes), ce qui importe et ce qui détermine fondamentalement un connecteur, c'est bien sa table de vérité.


Un jeu de connecteurs qui permet, par composition, d'exprimer toutes les fonctions de vérités possibles est dit fonctionnellement complet, ou suffisant. Par exemple <math>\{\neg;\vee\}</math>, <math>\{\neg;\wedge\}</math> et <math>\{\neg;\rightarrow\}</math> sont chacuns fonctionnellement complets; c'est également le cas de <math>\{\mid\}</math> et de <math>\{\downarrow\}</math>.

Connecteurs (non) vérifonctionnels

Une autre conséquence importante de la définition sémantique des connecteurs logiques est qu'elle permet de caractériser, négativement, une classe de connecteurs non logiques. En effet, par définition, les connecteurs logiques sont vérifonctionnels, c'est-à-dire que la valeur de vérité des formules qu'ils construisent dépend de, et seulement de, la valeur de vérité des sous-formules combinées. Par exemple pour la formule <math>(p \rightarrow q)</math>, si l'on sait (ou suppose) que <math>p</math> est fausse et que <math>q</math> est vraie, alors, en vertu de la sémantique de <math>\rightarrow</math>, on sait automatiquement que la formule globale est vraie. Il s'avère donc que certains connecteurs linguistiques ne sont pas vérifonctionnels, c'est le cas par exemple de parce que. Cela se montre aisément à l'aide des exemples suivants6 :

(1) Le soleil est jaune parce que sa température de surface est de l'ordre de 6000° C.
(2) Le soleil est jaune parce qu'il est rond.

Dans ces deux phrases, parce que connecte à chaque fois deux propositions qui sont vraies par rapport à la réalité astronomique. Si parce que était vérifonctionnel, alors (1) et (2) devraient avoir la même valeur de vérité. Or il se trouve que (1) est vraie et (2) est fausse, toujours selon nos connaissances de l'univers. Par conséquent, parce que ne peut pas être analysé sémantiquement comme un connecteur logique7. Il en va de même pour le connecteur donc.


C'est aussi cette propriété de vérifonctionnalité qui explique que l'effet de sens concessif ou contrastif véhiculé par le connecteur mais ne peut pas être exprimé à l'aide d'un connecteur logique. Car un énoncé de la forme « <math>\phi</math> mais <math>\psi</math> » aura toujours la même table de vérité que <math>(\phi \wedge \psi)</math>.

Connecteurs vs. métarelations

(Note: Une fiche spécifiquement consacrée aux (méta-)relations logiques est à venir.)

Les connecteurs sont des constantes logiques d'un langage symbolique dans lequel on code les expressions d'énoncés (ie des formules). Ce langage et ses énoncés constituent les données qu'étudie la discipline (la logique, et dans une certaine mesure la sémantique). Et il est très important de ne pas confondre les propos que l'on peut traduire sous forme de formules dans ce langage avec les jugements ou observations que la logique porte au sujet de ces formules8. En reprenant les termes de S. Kleene, on dira que les formules appartiennent au langage objet (d'étude) alors que les jugements sur les formules relèvent du langage de l'observateur, ou métalangage.

Pour dire les choses en termes linguistiques, une formule en soi ne possède pas de force assertive; elle se contente de traduire une idée, sans préjuger de sa vérité ou de sa validité.

Par exemple <math>(p \rightarrow \neg p)</math> est une formule parfaitement correcte du langage objet, en ce sens qu'elle est bien formée syntaxiquement et donc interprétable sémantiquement. C'est ensuite au niveau du métalangage qu'il conviendra d'exprimer le fait que cette formule n'est vraie que dans le cas où <math>p</math> est fausse.

Pour éviter toute confusion, le plus sûr serait encore d'utiliser une langue naturelle (le français ou l'anglais, par exemple) comme métalangage et de réserver l'idéographie symbolique pour le langage objet. Cependant, comme le métalangage fait usage de notions formelles et parfois complexes, il est souvent confortable de les manipuler sous forme de symboles. Par exemple <math>\models</math> est le symbole qui représente la relation de conséquence, ou inférence, logique; c'est une notion du métalangage du logicien. Poser <math>\phi \models \psi</math> (dans le métalangage) c'est stipuler que <math>\psi</math> est vraie dans tous les cas où <math>\phi</math> est vraie. Ecrire <math>p \models \neg p</math> serait donc ni plus ni moins qu'une erreur de logique. En revanche, dans le langage objet, on a tout à fait le droit d'écrire (ou de composer) la formule <math>(p \rightarrow \neg p)</math>. Car le logicien a, tout simplement, le droit d'étudier de telles formules.

Variantes de notation des connecteurs logiques usuels

Les conventions (et probablement les moyens) typographiques n'étant pas complètement unifiées dans une littérature aujourd'hui plus que séculaire, voici, pour terminer, un concordancier de quelques variantes de symboles parmi les plus usitées.

Négation
<math>\neg\phi</math>, <math>\sim\phi</math>. Par analogie avec la théorie des ensembles, on trouve aussi <math>\overline{\phi}</math>.
Conjonction
<math>\phi \wedge \psi</math>, <math>\phi</math> & <math>\psi</math> (ainsi que <math>\phi {.} \psi</math> dans l'algèbre de Boole)
Disjonction
<math>\phi \vee \psi</math> (et <math>\phi + \psi</math> dans l'algèbre de Boole)
Implication matérielle
<math>\phi \rightarrow \psi</math>, <math>\phi \Rightarrow \psi</math>, <math>\phi \supset \psi</math>
Equivalence matérielle
<math>\phi \leftrightarrow \psi</math>, <math>\phi \Leftrightarrow \psi</math>, <math>\phi</math> ⇌ <math>\psi</math>, <math>\phi \equiv \psi</math>
Disjonction exclusive
<math>\phi \vee\!\!\vee \psi</math>, <math>\phi \underline{\vee} \psi</math>, <math>\phi \infty \psi</math>, <math>\phi \oplus \psi</math>, <math>\phi \not\equiv \psi</math>

Notes

1 Cependant il est possible de faire systématiquement l'économie de ces parenthèses tout en préservant l'univocité des formules, en adoptant la notation de J. Łukasiewicz, dite aussi notation polonaise. Selon cette notation, qui préfixe le symbole du connecteur comme dans la notation fonctionnelle, on écrit <math>*\phi\psi</math> pour <math>*(\phi,\psi)</math>. Par exemple, à la formule infixe <math>((\phi \wedge \psi)\rightarrow \neg \chi)</math> correspond <math>\rightarrow\wedge\phi\psi\neg\chi</math> et à <math>(\phi \wedge (\psi \rightarrow \neg \chi))</math> correspond <math>\wedge\phi\rightarrow\psi\neg\chi</math>.

2 En fait, on peut définir de manière complète et suffisante la notion de connecteur logique en restant dans la syntaxe du langage formel, à condition de faire intervenir un certain nombre d'axiomes — ce qui n'est pas d'un intérêt fondamental ou primordial lorsqu'il s'agit d'appliquer la logique à l'étude de la sémantique du langage naturel.

3 On trouve aussi les appellations de fonctions (ou foncteurs) logiques, ou booléen(ne)s.

4 Et par conséquent, les logiques non classiques peuvent, en se donnant les sémantiques idoines, définir un plus grand nombre de connecteurs. Par exemple, la logique linéaire dispose de deux connecteurs de conjonctions, deux connecteurs de disjonctions, etc. Le reste de cette fiche se place uniquement dans le cadre de la logique classique.

5 Ces symboles ne sont donnés ici que pour l'exhaustivité de la liste; ils ne sont pas usuels (on comprend pourquoi), ni officiellement consacrés. Ils m'ont été amicalement suggérés par Olivier Bonami.

6 Exemples empruntés à (Lucas et al. 2003).

7 La raison est bien connue. D'un point de vue strictement vériconditionnel, on sait que parce que introduit dans l'analyse sémantique un troisième terme, possiblement d'ordre supérieur, qui établit une relation de causalité entre les deux propositions connectées.

8 Cette mise en garde a été formulée par de nombreux philosophes et logiciens, dont Frege, Russell, Reichenbach, Church et Kleene.


Références bibliographiques

  • Blanché, R. (1957). Introduction à la logique contemporaine. Armand Colin, Paris.
  • Gamut, L. T. F. (1991). Logic, Language, and Meaning. Volume 1: Introduction to Logic. University of Chicago Press, Chicago.
  • Kleene, S. C. (1967). Mathematical Logic. Wiley & Sons, New York. (trad. fr. Logique mathématique, Armand Colin, 1971).
  • Lucas, T., Berlanger, I., and De Greef, I. (2003). Initiation à la logique formelle. De Boeck, Bruxelles.
  • Quine, W. V. O. (1941). Elementary Logic. Ginn, Boston. (trad. fr. Logique élémentaire, Armand Colin, 1972).
  • Salem, J. (1987). Introduction à la logique formelle et symbolique. Nathan Université. Nathan, Paris.

Renvois