Cours de logique Roland Christophe 8 septembre 2008 Table des matières 1 Qu’est ce que la logique ? 1.1 Définition . . . . . . . . 1.2 Le concept de théorie en 1.2.1 Les définitions . 1.2.2 Les axiomes . . . 1.2.3 Les théorèmes . . 1.3 Bref historique . . . . . . . . . . . 2 2 2 2 2 4 4 2 Le langage formel 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Langage formel et langage naturel . . . . . . . . . . . . . . . 2.3 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 5 5 3 Introduction au calcul des propositions 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Connecteurs logiques . . . . . . . . . . . . . . . . . . . . . 3.2.1 Le connecteur « Non » (négation) . . . . . . . . . . 3.2.2 Le connecteur « ou » (disjonction) . . . . . . . . . 3.2.3 Le connecteur « et » (conjonction) . . . . . . . . . 3.2.4 Le connecteur « si... alors » (conditionnel matériel) 3.2.5 Le connecteur « est équivalent à » . . . . . . . . . 3.2.6 D’autres connecteurs . . . . . . . . . . . . . . . . . 3.3 Langage de la logique propositionnelle . . . . . . . . . . . 6 6 7 7 7 8 8 8 9 9 . . . . . . . . . mathématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Tautologies 10 4.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.2 Tautologies remarquables . . . . . . . . . . . . . . . . . . . . 11 5 Calcul des prédicats 5.1 Les prédicats . . . . . . . . . . . . . . . 5.2 Quantificateurs existenciels et universels 5.2.1 Le quantificateur existenciel . . . 5.2.2 Le quantificateur universel . . . . 5.3 Alphabet et syntaxe . . . . . . . . . . . 5.4 Égalité . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 12 13 13 13 14 15 1 Qu’est ce que la logique ? 1.1 Définition La logique vient du grecque « logos » qui signifie « parole, discours », et par extension « rationalité », la logique est donc la science de la raison. Plus précisément, c’est la sciences qui étudie les règles que doivent respecter tout raisonnement valide, qui permet de distinguer un raisonnement valide d’un raisonnement qui ne l’est pas. 1.2 Le concept de théorie en mathématique Un premier concept important en logique est le concept de théorie. Une théorie est un ensemble de définitions, d’axiomes (on vera un peu plus tard ce concept), de théorèmes,... qui traite d’un sujet particulier. 1.2.1 Les définitions Un élément important d’une théorie sont les définitions. Formellement, une définition est un énoncé qui introduit un nouveau symbole appelé terme a partir d’une suite de symboles déjà connus, appellé assemblage. On vera en effet plus loin que nous utiliserons un langage symbolique. Toutefois, on ne peut utiliser exclusivement les symboles pour des raisons pratiques : une définition utilisant les symboles logiques exclusivement est très « lourde » à lire, on utilise alors le langage courant. Toutefois, pour ne pas perdre toute la rigueur de ces définitions, on utilise souvent les deux sortes de définition (par le langage courant et par le langage mathématique). 1.2.2 Les axiomes Ce qui forme la base d’une théorie (le point de départ), sont les axiomes. Ce sont simplement des affirmations que l’on tient pour vrai. Il est d’ailleurs inutile de contester la véracité d’un axiome : un axiome est toujours vrai, par définition. L’ensemble des axiomes d’une théorie s’appelle axiomatique. La seule contrainte est que les axiomes ne doivent pas se contredire (ce qui est logique mais c’est important). Aucun axiome ne peut être remis en cause dans la théorie, sans quoi on dira que cette théorie est inconsistante. Les philosophes grecques avait une définition quelque peu différente de l’axiome : un axiome est une vérité que l’on ne démontre pas car évidente en soi. Cette manière de voir les choses pose problème : comment quelque chose peut il être « évident » ? Pourquoi cet axiome est vrai ? N’aurait il pas pu être faux ? La célèbre histoire du cinquième axiome d’Euclide répond à cette question. Rappelons tout d’abord de quoi il s’agit. Euclide a énoncé cinq axiomes comme base de la géométrie : 2 1. par deux points, il passe une et une seul droite, 2. un segment de droite peut être prolongé indéfiniment en une droite, 3. étant donné deux points quelconques A et B, un cercle peut être tracé en prenant A comme centre et passant par B, 4. tous les angles droits sont égaux entre eux, 5. par un point extérieur à une droite, on peut mener une et une seule parallèle à cette droite. C’est le cinquième axiome qui finit par poser problème. Sans vouloir le remettre en cause, les mathématiciens pensaient qu’il était inutile car il pouvait se démontrer à partir des autres. Cependant, toutes les tentatives pour démontrer cet axiome ont échoué. Les mathématiciens ont eu alors une idée : ils ont tentés de voir ce qui ce passait si on réfutait cet axiome, c’est à dire que l’on le considère comme faux. Ils espéraient ainsi aboutir à une contradiction ce qui aurait du même coup montré la validité de l’axiome (qui n’en serait plus vraiment un puisque démontré). Sans succès. Plusieurs mathématiciens ont commencé à entrevoir la solution comme Gauss et Lobachevsky. Celui ci s’amusa à remplacer le cinquième axiome par ceci : par un point extérieur à une droite, on peut mener deux parallèles à cette droite. Il développe à partir de ça toute une géométrie cohérente mais tout à fait différente de celle d’Euclide. C’est un exemple de géométrie noneuclidienne. Il exite différentes sortes de géométrie non-euclidienne, l’idée de Lobachevsky conduit à une géométrie hyperbolique. Voici un exemple de représentation tiré de wikipedia : On voit bien sur cette image que l’espace sur lequel on travaille n’est pas plat : c’est pourquoi la géométrie n’est pas euclidienne. 3 L’interêt de tout ce qui a été dit ici est que le concept antique d’axiome n’est pas le bon. Il semblait « évident » que le cinquième d’axiome d’Euclide est vrai alors que l’on peut très bien dire qu’il soit faux et avoir toutefois une géométrie cohérente. La plus belle preuve est qu’Einstein a montré que les géométrie non-euclidienne ont un sens physique puisque l’espace dans lequel nous vivons est courbé dans un champ de gravitation : si vous dessiner un triangle et que vous êtes capable de mesurer ses angles avec une précision extraordinaire (ce qui est en pratique malheureusement impossible), vous verez que la somme des angles ne vaut pas exactement 180 degrés, la différence sera infime mais réelle. La morale de l’histoire : il n’existe aucune vérité évidente par elle même en mathématique, un axiome n’est pas vrai parce qu’il est vrai mais vrai parce que l’on a décidé qu’il soit vrai. 1.2.3 Les théorèmes Maintenant, à partir de ces axiomes, on peut en tirer des théorèmes. Un théorème est une assertion vraie qui est démontré à partir des axiomes (ou à partir d’autres théorèmes eux même démontré par des axiomes mais cela revient au même). Un théorème nécessite donc une démontration. En plus de la notion de théorème, on a les notion suivante (moins souvent utilisées) : 1. lemme : un lemme est une assertion que l’on démontre qui sert à la démonstration d’un théorème plus important (ou parfois on utilise ce terme pour parler d’un théorème d’une moindre importance), 2. conjecture : proposition mathématique que l’on suppose vrai mais sans avoir été démontré (donc pas forcément vrai, mais quand même avec une forte probabilité), une conjecture démontré devient un théorème, 3. corollaire : un corollaire est une conséquence immédiate d’un théorème démontré. 1.3 Bref historique Les philosophes de la Grèce Antique ont posés les fondements de la logique. En particuliers, Aristote expose les bases de la logique dans son ouvrage « Organon ». La logique d’Aristote va être enseignés pendant très longtemps, elle prédomine jusqu’au Moyen Àges au moins, et ce n’est que très récemment qu’est apparu la logique moderne. C’est Frege qui a posé les bases de la logique moderne. La différence essentielle par rapport à la logique d’Aristote est que Frege a une approche mathématique de la logique, alors que la logique d’Aristote est teintée de Philosophie. Il va ainsi développer la logique des propositions et la logique des prédicats que nous verront plus loin. Alors qu’Aristote se servait du langage courant pour faire des raisonnements logiques, Frege se sert d’un langage symbolique : l’idéographie. 4 Leibniz avait déjà tenté de créer un langage logique qu’il appelait « la caractéristique universelle » malheuresement sans succès, et il n’aboutit pas à quelque chose qui puisse le satisfaire. Aujourd’hui le langage logique moderne n’est pas l’idéographie qui n’est plus utilisé, mais certains symboles sont dérivés de ce langage. Nous allons donc commencer par tenter de préciser la notion de langage en mathématique pour comprendre son interêt. 2 Le langage formel 2.1 Introduction L’idée d’utiliser un langage symbolique permet de simplifier beaucoup de choses en mathématique. On peut donner un exemple simple : supposons que nous devions calculer « la somme de la racine carré du quotient de 27 par 3 et du produit de 2 et 7 », on comprend tout de suite qu’on y voit plus clair en écrivant : r 27 +2·7 3 2.2 Langage formel et langage naturel On va donc adapter cette idée à la logique mais avant cela, il faut préciser ce que l’on entend par « langage ». Il faut d’abord distinguer le langage naturel du langage formel. Le langage naturel est le langage que nous utilisons dans la vie de tout les jours, qui a deux inconvénients majeurs quand on l’utilise en mathématique : 1. la complexité des phrases qui rend les choses plus compliqués, il faut parfois plusieurs lignes et une phrase complètement incompréhensible, pour dire quelque chose qui peut se résumer par une simple équation, 2. le fait que les ambiguités du langage courant peuvent conduire à des erreurs, et surtout une preuve se doit indiscutable par définition, ce qui est impossible lorsqu’il y a ambiguités. 2.3 Définition Lorsque l’on définit un langage formel, on doit définir deux choses qui caractérisent ce langage : 1. un alphabet càd un ensemble de symboles (comme dans le cas des langages naturels), 2. une syntaxe càd un ensembles de règles qui définit quels mots appartiennent au langage formel. 5 Il reste à préciser ce qu’en un mot, c’est très simple : un mot (on dit aussi chaı̂ne de caractère) est une suite ordonnée de symboles, ces symboles appartenant à un alphabet. Nous pouvons donc définir ce qu’est un langage formel : Un langage formel est un ensemble de mots de longueur finie défini par un alphabet et une syntaxe. On peut donner un exemple pour y voir plus clair et définir un langage formel simple : on va prendre un alphabet et une syntaxe quelconque, ne voyez aucune logique particulière dans le choix de l’alphabet et de la syntaxe. L’alphabet du langage est l’ensemble contenant les éléments suivants : A, B, C, +, =. la syntaxe sera composés des règles suivantes : 1. aucun mot ne peut commencer ou terminer par =, 2. aucun mot ne peut commencer ou terminer par +, 3. dans chaque mot, on a un et un seul symbole « = », 4. si on choisit deux symboles consécutifs dans un mot, l’un des deux est une lettre et pas l’autre. Par exemple, A + B + C = A + C est un mot possible, par contre, = +A + +BC ne l’est pas. Nous allons appliquer tout cela à la logique, en faisant attention au fait que l’on dira des « formules » au lieu de dire des « mots ». 3 3.1 Introduction au calcul des propositions Introduction La notion de « proposition » est fondamentale en logique et déjà présente dans la logique d’Aristote. On peut définir cette notion très facilement : une proposition est tout simplement une affirmation. Il faut faire attention que cette affirmation puisse être vrai ou fausse, par exemple « je mens » n’est pas une proposition, en effet, si quelqu’un dit « je mens », alors si il dit la vérité il ment et si il ment il dit la vérité. C’est le paradoxe du menteur. Il faut donc avoir des affirmations qui puissent être soit complètement vraies, soit complètement fausses. Par exemple, « Il pleut » peut être vrai ou faux mais pas autre chose, cette phrase peut donc être considérée comme une proposition. On laisse donc de côté pour l’instant les phrase qui ne sont ni tout à fait vrai ni tout à fait fausse. Des deux remarques précédentes, on peut déduire un principe fondamental pour la logique, qu’on appelle le principe du tiers exclu : une proposition est soit vraie soit fausse mais pas autre chose. On dit que la « valeur de vérité » d’une proposition est « vraie » ou « fausse ». 6 Puisque nous voulons adopter un langage symbolique, nous devons notez les propositions par un simple symbole, en règle général, une proposition est notée avec une lettre majuscule. Comme nous avons dit que les mots du langage de la logique sont appelés des formules, on dira que les propositions sont des formules. 3.2 Connecteurs logiques Le notion de connecteur logique est déjà présente dans la logique d’Aristote. C’est une notion qui apparait naturellement lorsque l’on tente de faire des raisonnements. Prenons un exemple. Considérons deux propositions A et B. On peut imaginer que de A on peut déduire B, c’est à dire que si A est vrai, alors B est vrai lui aussi. On écrit alors : « si A alors B ». Mais on a alors que la phrase « si A alors B » peut être vrai ou fausse. En effet, si A veut dire « ceci un cobra » et B veut dire « ceci est un serpent », alors « si A alors B » veut dire « si ceci un cobra alors ceci est un serpent » ce qui est vrai. Mais on peut imaginer que A veut dire « ceci est un tigre » et alors « si A alors B » devient faux. On comprend alors que lorsque l’on combine des propositions de cette manière, on obtient des phrases qui ont aussi une valeur de vérité, le principe du tiers exclu s’applique aussi à ces phrases. On va dire que ces phrases sont aussi des formules. On dit que ce sont des formules composées alors que les propositions sont des formules atomiques. 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 chaque connecteur sera représenté par un symbole différent. 3.2.1 Le connecteur « Non » (négation) C’est le connecteur le plus simple de tous. Considérons une proposition A. La proposition « non A » est vrai si A est faux, et fausse si A est vrai. Ce connecteur s’écrit symboliquement ¬. On peut illustrer cela dans un tableau que l’on appelle « table de vérité » : A V F 3.2.2 ¬A F V Le connecteur « ou » (disjonction) Ce connecteur permet de former des formules comme « A ou B » mais il faut faire attention que si A et B sont tout les deux vrais alors « A ou B » est vrai aussi. Ce connecteur s’écrit ∨. On a donc la table de vérité : 7 A V V F F A∨B V V V F B V F V F On a que A ∨ B est faux si A et B sont tout les deux faux, vrai dans tout les autres cas. 3.2.3 Le connecteur « et » (conjonction) Ce connecteur permet de former des formules comme « A et B », il est représenté par le symbole ∧. A V V F F A∧B V F F F B V F V F A ∧ B est vrai si A et B sont tout les deux vrais, faux dans tout les autre cas. 3.2.4 Le connecteur « si... alors » (conditionnel matériel) Il est représenté par le symbole : ⇒. A V V F F A⇒B V F V V B V F V F « si A alors B » veut dire que si A est vrai, B l’est nécessairement aussi. La seule manière de contrarier A ⇒ B est d’avoir B faux alors que A est vrai. 3.2.5 Le connecteur « est équivalent à » Le connecteur « équivalence » s’écrit symboliquement : ⇔ et veut dire : « à la la même valeur de vérité que ». A V V F F A⇔B V F F V B V F V F 8 3.2.6 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 ». Les « portes logiques » correspondent à ces connecteurs. 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 1 1 0 0 B 1 0 1 0 A NOR B 0 0 0 1 B 1 0 1 0 A XOR B 0 1 1 0 La porte XOR (ou exclusif) : A 1 1 0 0 La porte NAND (NOT AND) : A 1 1 0 0 3.3 B 1 0 1 0 A NAND B 0 1 1 1 Langage de la logique propositionnelle On peut maintenant définir le langage de la logique des propositions. On doit donc inclure les propositions (formules atomiques) ainsi toutes les formules composées possibles. L’alphabet de la logique propositionnelle est constitué : 1. d’un ensemble de formules atomiques, 2. des connecteurs ¬, ∨, ∧, ⇒, ⇔, 3. des séparateurs (parenthèses) : « ( » et « ) ». 9 Les parenthèses sont utiles dans les formules logiques car il faut se rendre compte par exemple que la formule ¬A ∨ B est différente de la formule ¬(A ∨ B). On peut ensuite définir la syntaxe : Syntaxe : l’ensemble des formules de la logique est le plus petit ensemble tel que : – si A est une formule atomique alors A est une formule, – si A est une formule, alors ¬A est une formule, – si A et B sont des formules, alors (A ∨ B) est une formule, – si A et B sont des formules, alors (A ∧ B) est une formule, – si A et B sont des formules, alors (A ⇒ B) est une formule, – si A et B sont des formules, alors (A ⇔ B) 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 A ∨ ∧B 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. 4 4.1 Tautologies Définition Une tautologie est une formule qui est toujours vraie, quelle que soit la valeur de vérité des formules atomiques qui la compose. On dit aussi une formule valide. Exemples : A ⇒ A est une tautologie : que A soit vrai ou faux, cette formule est toujours vrai. On peut le démontrer avec une table de vérité. A V F A⇒A V V A ∨ ¬A (principe du tiers exclu) est une tautologie : on peut le démontrer avec une table de vérité. A V F ¬A F V A ∨ ¬A V V On voit donc ici la méthode de démonstration avec une table de vérité : la dernière colonne ne contient que des « V », c’est donc que la formule est valide (puisqu’ elle est vrai tout le temps). 10 4.2 Tautologies remarquables Voici maintenant une liste de tautologie. Elle peuvent parfois être utiles pour simplifer une formule. En effet, si A et B sont des formules et que l’on a A ⇔ B, on peut remplacer A par B ou B par A. Identité A⇔A Double négation A ⇔ ¬¬A Idempotence A ⇔ (A ∨ A) A ⇔ (A ∧ A) Commutativité A∨B ⇔B∨A A∧B ⇔B∧A Associativité (A ∨ (B ∨ C)) ⇔ ((A ∨ B) ∨ C) (A ∧ (B ∧ C)) ⇔ ((A ∧ B) ∧ C) Distributivité (A ∨ (B ∧ C)) ⇔ ((A ∨ B) ∧ (A ∨ C)) (A ∧ (B ∨ C)) ⇔ ((A ∧ B) ∨ (A ∧ C)) Absorption (A ∨ (A ∧ B)) ⇔ A (A ∧ (A ∨ B)) ⇔ A Loi de De Morgan ¬(A ∨ B) ⇔ (¬A ∧ ¬B) ¬(A ∧ B) ⇔ (¬A ∨ ¬B) Conditionnel matériel (A ⇒ B) ⇔ (¬A ∨ B) (A ⇒ B) ⇔ ¬(A ∧ ¬B) Contraposition (A ⇒ B) ⇔ (¬B ⇒ ¬A) Èquivalence matérielle 11 (A ⇔ B) ⇔ (A ⇒ B) ∧ (B ⇒ A) (A ⇔ B) ⇔ (A ∧ B) ∨ (¬A ∧ ¬B) Exportation-importation ((A ∧ B) ⇒ C) ⇔ (A ⇒ (B ⇒ C)) Pour compléter, on peut lister une série de tautologie qui ne sont pas des équivalences (c’est à dire sans le symbole ⇔) : Identité A⇒A Tiers exclu A ∨ ¬A Loi de Peirce ((A ⇒ B) ⇒ A) ⇒ A Modus Ponens (A ⇒ B) ∧ A ⇒ B Modus Tollens (A ⇒ B) ∧ ¬B ⇒ ¬A Modus Barbara (A ⇒ B) ∧ (B ⇒ C) ⇒ (A ⇒ C) 5 Calcul des prédicats 5.1 Les prédicats Nous avons vu la logique propositionnelle (basée sur les propositions) qui nous a permi de mettre au point une première « théorie du raisonnement ». Le calcul des propositions montre cependant bien vite ses limites. En effet, prenons, par exemple, un raisonnement logique extrêmement connu : 1. Tout les hommes sont mortels, 2. Socrate est un homme, 3. Donc, Socrate est mortel. 12 Il s’agit d’un syllogisme. Ce genre de raisonnement ne peut se faire avec de simples propositions. Il faut donc aller plus loin que le simple calcul des propositions. Nous n’allons plus nous contenter de simples propositions (formules atomiques), mais nous allons introduire un nouveau type de formule logique : le prédicat. Définition : un prédicat est une formule logique qui dépent d’une variable libre Exemple : « x est un nombre entier » est un prédicat. Remarquez que lorsque que nous utilisions une proposition, nous nous contentions de lui mettre une valeur de vérité « vrai » ou « faux », ici, cette valeur de vérité dépent de la valeur de x. Puisqu’un prédicat dépent d’une variable x, nous les noterons souvent P (x). 5.2 Quantificateurs existenciels et universels Les différents connecteurs vu précédemment restent tout à fait d’actualité. Mais pour le calcul des prédicats, nous devons introduire deux nouvreaux symboles : ce sont des quantificateurs. 5.2.1 Le quantificateur existenciel Ce quantificateur signifie : « il existe » ou plus précisément : « il existe au moins un » et est noté ∃. On peut écrire : ∃xP (x) Et on doit comprendre : « il existe au moins un x tel que P (x) soit vrai ». On peut écrire aussi : ∃!xP (x) Et on doit comprendre : « il existe un et un seul x tel que P (x) soit vrai ». 5.2.2 Le quantificateur universel Ce quantificateur signifie « quelque soit » et est noté ∀. On peut écrire : ∀xP (x) Et on doit comprendre : « quelque soit x, P (x) est vrai ». On va donc construire une logique plus élaborée, le calcul des prédicats, ou logique du premier ordre dont l’alphabet est le même que la logique des propositions, sauf que l’on ajoute les symboles « ∀ » et « ∃ » (plus d’autres 13 symboles pour les variables). On utilise aussi parfois le calcul des prédicats égalitaire où l’on ajoute en plus le symbole d’égalité « = ». Il faut maintenant remarquer que les variables que nous allons utilisez (ce que nous avons noté x) ne sont pas des formules car n’ont pas de valeur de vérité. On devra donc définir une autre notion en plus de celle de formule dans le langage de la logique, la notion de terme. Par exemple, une variable sera un terme. On peut aussi imaginer qu’un terme puisse dépendre d’une variable. Par exemple, si x est une variable, on écrira le terme comme ceci : f (x) pour montrer que le terme dépend de la variable. Attention, f n’est pas un prédicat, sinon f (x) serait une formule et non un terme. On dit que f est une fonction. 5.3 Alphabet et syntaxe Avant de définir l’alphabet, il est peut être utile de définir la notion d’arité. On a vu que l’on utilise des formulations comme P (x) pour les prédicats, dans ce cas là, on dit que l’arité de P est 1 car il ne dépent que d’une seule variable : x. Mais on peut avoir des prédicats qui dépendent de deux variables x et y, et on écrit P (x, y) et dans ce cas l’arité de P est 2. On peut aussi avoir un prédicat d’arité zéro (noté simplement P ), et on a tout simplement une proposition. Le langage de la logique du premier ordre est constitué des ensembles suivants : 1. un ensemble infini de symboles appelés prédicats d’arité 0, 1, 2, ..., n (n est entier positif) - dans le cas particuliers ou n = 0 on dit qu’on a une proposition, 2. un ensemble infini de symboles appelés fonctions d’arité 0, 1, 2, ..., n (n est entier positif) - dans le cas particuliers ou n = 0 on dit qu’on a une constante, 3. un ensemble infini de symboles appelés variables - que l’on note souvent avec une lettre minuscule (ce que nous avions noté x dans l’introduction), 4. l’ensemble des symboles logiques et les parenthèse : ¬, ∨, ∧, ⇒, ⇔, ∀, ∃, ”(”, ”)” Il reste à définir la syntaxe. Il faut rappeler que si pour le cas la logique des propositions on avait uniquement des formules, on a deux notions distinctes en logique des prédicats : les formules et les termes. 14 L’ensemble des termes est le plus petit ensemble de mots construits sur l’alphabet de la logique des prédicats tel que : 1. toute variable est un terme, 2. toute constante est un terme, 3. si t1 , t2 , ..., tn sont des termes, alors si f est une fonction d’arité n, f (t1 , t2 , ..., tn ) est un terme. L’ensemble des formules est le plus petit ensemble de mots construits sur l’alphabet de la logique des prédicats tel que : 1. toute proposition est une formule, 2. si t1 , t2 , ..., tn sont des termes, alors si P est un prédicat d’arité n, P (t1 , t2 , ..., tn ) est une formule, 3. si A est une formule, alors ¬A est une formule, 4. si A et B sont des formules, alors (A ∨ B) est une formule, 5. si A et B sont des formules, alors (A ∧ B) est une formule, 6. si A et B sont des formules, alors (A ⇒ B) est une formule, 7. si A et B sont des formules, alors (A ⇔ B) est une formule, 8. Si A est une formule et x est une variable, ∀xA est une formule, 9. Si A est une formule et x est une variable, ∃xA est une formule. Remarque : on utilise des symboles de ponctuations comme « , » et parfois « : » qui ne font pas partie de l’alphabet mais qui servent à la lisibilité. Par exemple, on devrait écrire, si on veut être vraiment stricte, P (t1 t2 t3 ) au lieu de P (t1 , t2 , t3 ) ou encore ou ne devrait pas ecrire ∀x, y, z, P (x, y, z) mais plutôt : ∀x∀y∀zP (xyz). On s’autorise malgré tout ce (léger) abus de notation, car cela deviendrait très vite illisible. 5.4 Égalité On a dit précédemment que l’on pouvait ajouter le symbole « = » (c’est un prédicat) à l’alphabet pour obtenir la logique des prédicats égalitaire. C’est très simple. Il faut modifier légérement la syntaxe pour cela, on ajoute une règle syntaxique : 15 Si t1 et t2 sont des termes, alors t1 = t2 est une formule. Et nous avons de plus les deux axiomes suivants : 1. réflexivité : ∀x, x = x, 2. schéma d’axiomes de Leibniz : ∀a1 , ..., an , ∀x, ∀y, (x = y ⇒ (P (x, a1 , ..., an ) ⇒ P (y, a1 , ..., an ))) Une explication s’impose pour comprendre le schéma d’axiomes de Leibniz. Celui exprime en fait que si x = y alors « x et y ont les mêmes propriétés ». En effet, supposons que nous avons un prédicats P ayant x comme argument plus d’autres paramètres éventuels a1 , ..., an (on va donc noter P (x, a1 , ..., an )) alors, si cette formule est vraie, P (y, a1 , ..., an ) est vrai aussi. On a donc bien que : x = y ⇒ (P (x, a1 , ..., an ) ⇒ P (y, a1 , ..., an )). On dit « schéma d’axiomes » car il y a en réalité autant d’axiomes que de prédicats P possibles : si on veut parler de manière stricte, il y a un nombre infini d’axiomes. Remarquez qu’on ne peut rajouter ∀P devant l’axiome pour contourner le « problème » car on cela est interdit (voir syntaxe). À partir de cet axiome, on peut déduire deux théorèmes sur l’égalité : 1. symétrie : ∀x, ∀y, x = y ⇒ y = x, 2. transitivité : ∀x, ∀y, ∀z, (x = y ∧ y = z) ⇒ x = z. 16