Introduction au calcul des propositions
Introduction
Nous allons maintenant introduire une classe de langages particuliers, que l'on va appeler langages propositionnels. Les mots de ces langages seront appelés des énoncés, parce que nous voulons pouvoir dire que ces «mots» sont vrais ou faux. Les mots des langages propositionnels seront aussi appelés formules. Nous verrons plus tard d'autres langages où l'on fera une distinction entre mots du langages, formules et énoncés.
Nous pouvons commencer par introduire un type particulier d'énoncés: les proposition. Ces propositions sont aussi appelées formules atomiques (atomique au sens de «insécable»), c'est à dire que ce sont des formules qui ne sont pas construits à partir d'autres formules.
Dans les langages propositionnels, on note les propositions par un simple symbole, généralement avec une lettre minuscule. De combien de symboles avons-nous besoin? Il n'y a pas de réponse à cette question dans le sens que l'on définit ici une classe de langages et non un langage en particulier, aussi on peut autoriser un nombre de symboles différents suivant les langages. Il en faut toutefois au moins un (sans quoi il n'y aurait aucun mot dans le langage, à part le mot vide qui ne contient aucun symbole), mais on peut en avoir autant que l'on veut, même une infinité. On conviendra d'utiliser les lettres: comme symboles propositionnels, éventuellement, on peut rajouter un indice si on manque de lettres et utiliser (notez qu'une écriture comme est considéré comme un seul symbole).
Si on s'arrête ici, on aura des langages parfaitement inutiles. L'idée est de construire des formules à partir des symboles propositionnels et d'autres symboles, qu'il reste à définir, que l'on appellera des connecteurs logiques. Comme leur nom l'indique, il vont «connecter» les formules atomiques de façon à construire des formules composées, qui seront donc des formules avec plus d'un symbole. On peut s'attendre à ce que l'on puisse les utiliser de la même façon pour «connecter» des formules atomiques et des formules composées. Ainsi, on pourra définir, étant donné un certain connecteur logique et un certain nombre d'énoncés (de formules), comment on peut construire une formule qui les combine, sans se préoccuper de savoir si les formules que l'on combine sont atomiques ou non.
Pour représenter symboliquement cette construction, un problème se pose. On voudrait disposer de symboles qui puissent représenter n'importe quel énoncé, pour définir proprement la syntaxe des langages propositionnels. On conviendra alors de noter les énoncés par des lettres majuscules , mais ici il faut bien comprendre que ces symboles ne font pas partie des langages propositionnels !! Il servent à définir plus facilement la syntaxe de tels langages, on peut dire que ces symboles font partie d'un méta-langage.
Il faudra aussi définir proprement la sémantique de ces langages, c'est à dire se poser la question de la signification des énoncés. On peut déjà dire qu'à chaque proposition correspond une valeur de vérité: soit vrai soit faux. Anticipant un peu sur la suite, on peut déjà donner des principes qui seront valable pour n'importe quel énoncé:
- principe de bivalence: les deux seules valeurs de vérité possible sont le vrai et le faux,
- principe du tiers-exclu: à tout énoncé on associe soit le vrai, soit le faux, aucun énoncé est dépourvu de valeur de vérité,
- principe de non-contradiction: aucun énoncé ne avoir plus d'une valeur de vérité, un énoncé ne peut donc être à la fois vrai et faux.
On a alors la définition suivante:
Soit un langage propositionnel. Une -assignation est une relation qui à chaque formule atomique de associe une et une seule valeur de vérité, soit (vrai), soit (faux).
Connecteurs logiques
Prenons un exemple. Considérons deux énoncés et . On peut imaginer que de on peut déduire , c'est à dire que si est vrai, alors est vrai lui aussi. On écrit alors: «si alors ». Mais on a alors que la phrase «si alors » peut être vrai ou fausse.
On peut faire un raisonnement intuitif en associant à et des énoncés du langage naturel. Si veut dire «ceci est un est cobra» et veut dire «ceci est un serpent», alors «si alors » veut dire «si ceci est un cobra alors ceci est un serpent» ce qui est vrai. Mais on peut imaginer que veuille dire «ceci est un tigre» et alors «si alors » devient faux.
On comprend alors que lorsque l'on combine des énoncés de cette manière, on obtient des énoncés qui ont aussi une valeur de vérité, et que cette valeur de vérité dépend des valeurs de vérités des énoncés et .
Les mots «si» et «alors» sont des connecteurs logiques (en fait il n'en forment qu'un puisqu'on les utilisent ensembles). Nous allons maintenant en voir d'autres et représenter chaque connecteur par un symbole différent.
Le connecteur «non» (négation)
C'est le connecteur le plus simple de tous. Considérons une proposition . La proposition «non » est vrai si est faux, et fausse si est vrai. Ce connecteur s'écrit symboliquement .
On peut illustrer cela dans un tableau que l'on appelle «table de vérité»:
V | F |
F | V |
Ce type de tableau est simple et nous l'utiliserons encore beaucoup.
Le connecteur «ou» (disjonction)
Ce connecteur permet de former des énoncés comme « ou » mais il faut faire attention que si et sont tout les deux vrais alors « ou » est vrai aussi (c'est juste une convention, ne vous casser pas la tête à savoir pourquoi!). C'est pourquoi on précise parfois «ou inclusif» (par opposition au «ou exclusif» souvent utilisé en langage courant). Ce connecteur s'écrit .
On peut tout comme avec le connecteur «non», résumer tout cela par une table de vérité:
V | V | V |
V | F | V |
F | V | V |
F | F | F |
Se souvenir de cette table est très facile: On a simplement que est faux si et sont tout les deux faux, vrai dans tout les autres cas.
Le connecteur «et» (conjonction)
Ce connecteur permet de former des énoncés comme « et ». Sa signification est exactement la même que celle du mot «et» français: « et » n'est vrai que si et sont tout les deux vrais. Il est représenté par le symbole .
Sa table de vérité est la suivante:
V | V | V |
V | F | F |
F | V | F |
F | F | F |
Le connecteur «si... alors» (conditionnel matériel ou implication)
Il est représenté par le symbole: .
V | V | V |
V | F | F |
F | V | V |
F | F | V |
«si alors » veut dire tout simplement que si est vrai, l'est nécessairement aussi.
Mais la table de vérité peut surprendre. Pourquoi les deux «V» au bas de la colonne de droite? Ici pour comprendre, considérons chaque cas un à un.
Premier cas: le vrai implique le vrai. C'est assez logique: par définition de l'implication, si est vrai, est vrai aussi. Deuxième cas: le vrai n'implique pas le faux!! Logique encore une fois: à partir d'une proposition vraie, on ne pourra jamais en déduire une proposition fausse.
Donnez une valeur de vérité à quand est faux est plus délicat. Commençons par le cas où est vrai. On voit dans la table de vérité que est vrai. Cela veut dire qu'à partir d'une proposition fausse, on peut très bien aboutir à une conclusion vraie. Cela peut paraître étrange mais nous allons donner un exemple.
Supposons donc que veuille dire: « » (proposition fausse donc). On peut en déduire facilement une proposition vraie: il suffit de multiplier chaque cotés de l'égalité par zéro. On a donc ce qui donne c'est à dire une proposition vraie! Le faux implique donc le vrai.
Enfin, montrer que le faux implique le faux est très facile. en effet de «» on peut déduire directment que... «»!!
Le connecteur «est équivalent à»
Le connecteur «équivalence» s'écrit symboliquement: et veut dire: «à la la même valeur de vérité que».
V | V | V |
V | F | F |
F | V | F |
F | F | V |
D'autres connecteurs
Ces connecteurs ne sont pas ou peu utilisés en mathématique, mais plutôt en électronique et en informatique. Comme on les utilise surtout en informatique, on utilise le «1» à la place du «V» et le «0» à la place du «F».
Ces connecteurs sont aussi appelés des «portes logiques». La porte NOT est le «non»logique, la porte AND est le «et» et la porte OR est le «ou». On trouve aussi la porte NOR (NOT OR):
A | B | A NOR B |
1 | 1 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 1 |
La porte XOR (ou exclusif):
A | B | A XOR B |
1 | 1 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
La porte NAND (NOT AND):
A | B | A NAND B |
1 | 1 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 1 |
Langages propositionnelles
Il est maintenant facile de donner l'alphabet et la syntaxe des langages propositionnels:
L'alphabet d'un langage de logique propositionnelle est constitué:
- d'un ensemble éventuellement infini de symboles propositionnels: ,
- des symboles: ,
- des séparateurs (parenthèses): «(» et «)».
Les parenthèses sont utiles dans les énoncés logiques car il faut se rendre compte par exemple qu'un énoncé de la forme n'est pas équivalent à un énoncé de la forme .
On peut ensuite définir la syntaxe:
Syntaxe: l'ensemble des formules d'un langage propositionnel est le plus petit ensemble tel que:
- si est un symbole propositionnel alors est une formule,
- si est une formule, alors est une formule,
- si et sont des formules, alors est une formule,
- si et sont des formules, alors est une formule,
- si et sont des formules, alors est une formule,
- si et sont des formules, alors est une formule.
Petite remarque: pourquoi dit-on dans la définition: «le plus petit ensemble»? L'explication est simple. Si on avait la même définition mais sans préciser cela, on ne saurait pas par exemple, si la formule est valide ou pas. En effet, la définition n'implique pas que cette formule existe, mais ne l'interdit pas non plus. C'est pour cela que l'on précise «le plus petit ensemble», sinon la définition ne serait pas correcte.
Valuation
Étant donné un langage propositionnel et une -assignation, on peut attribuer une valeur de vérité à chaque formule atomique. Mais alors, on peut assigner une valeur de vérité aux formules composées grâces aux tables de vérité, à la -assignation correspond donc une -valuation qui fait fait à tout les énoncés une valeur de vérité. On va maintenant énoncer un théorème qui dit simplement qu'étant donnée une -assignation, il existe une et une seule -valuation associée. On verra alors que les tables de vérités ne sont que des conséquences de ce théorème, qui définit comment on associe une valeur de vérité à toute formule.
Soit un langage propositionnel, à chaque -assignation possible correspond une et une seule relation appelée -valuation et notée , qui à chaque énoncé fait correspondre une et une seule valeur de vérité qui ne peut être que ou , tel que, en notant la valeur de vérité associée à la proposition par , et la valeur de vérité associée à la proposition par :
- Si est une proposition, .
- Si est une formule, si et seulement si .
- Si et sont des formules, si et seulement si et/ou .
- Si et sont des formules, si et seulement si et .
- Si et sont des formules, si et seulement si et/ou .
- Si et sont des formules, si et seulement si .
Démonstration. Montrons d'abord que pour toute formule , on a au moins une valuation. Si est une proposition, on a tout simplement . Sinon, par la syntaxe du langage, on sait que peut s'écrire sous au moins l'une des forme suivantes: , , , et , où et sont des formules. Les règles données dans le théorème nous donne alors une valeur de vérité, connaissant la valeur de vérité de et . Mais eux-mêmes peuvent se mettre sous au moins l'une des formes , , , et , donc on peut obtenir leur valeur de vérité en fonction d'autre énoncés et ainsi de suite jusqu'à arriver à la valuation de propositions.
Montrons maintenant qu'il n'y a qu'une valuation pour chaque formule. Pour les propositions, c'est trivialement vrai. Sinon, supposons deux valuations et différentes sur certaines formules. Si pour deux formules et on a et (et il est toujours possible d'en trouver puisque l'on peut choisir des propositions), alors on a , , ..., et on peut refaire le même raisonnement avec ces formules composées, et ainsi de suite. De proche en proche, on a pour toute formule .
Notons que les tables de vérités sont une conséquence de ce théorème, une façon schématique simple de représenter les règles qui définissent les -valuations.