Bonjour,
Dans la leçon précédente, nous avons appris à construire des démonstrations formelles en enchaînant des règles d'inférence comme le modus ponens et le modus tollens. Nous avons vu les limites de la logique propositionnelle, qui traite des propositions comme des blocs insécables, nous empêchant d'exprimer des idées plus nuancées sur des ensembles d'objets.
Aujourd'hui, nous allons dépasser ces limites en entrant dans le monde de la logique des prédicats du premier ordre. L'objectif est de vous apprendre à écrire des formules utilisant des quantificateurs ( et ) pour formaliser des énoncés comme "tous les algorithmes de tri par comparaison ont une complexité d'au moins " ou "il existe un chemin entre deux sommets dans un graphe". La maîtrise de ce langage est une compétence fondamentale pour un informaticien théoricien et un prérequis absolu pour l'Agrégation.
1. Les limites de la logique propositionnelle
Imaginez que vous souhaitiez formaliser la phrase "Tous les étudiants en informatique connaissent Python". En logique propositionnelle, vous seriez contraint de créer une proposition pour chaque étudiant : Etudiant1_connait_Python ∧ Etudiant2_connait_Python ∧ .... Cette approche est non seulement fastidieuse mais surtout impossible si le nombre d'étudiants est infini ou non connu. La structure interne de l'énoncé est perdue.
La logique des prédicats résout ce problème en introduisant trois nouveaux concepts : les objets, les prédicats et les quantificateurs.
La vidéo suivante, issue du cours d'Intelligence Artificielle de Stanford, explique de manière très claire pourquoi ce saut conceptuel est nécessaire.
Logic 7 - First Order Logic | Stanford CS221: AI (Autumn 2021)
Cette vidéo introduit la nécessité de la logique du premier ordre en montrant les limitations expressives de la logique propositionnelle pour des énoncés généraux.
Regardez la section de 00:28 à 04:42. Concentrez-vous sur les exemples (comme "All students know arithmetic") et la manière dont ils révèlent le besoin de parler d'objets, de propriétés (prédicats) et de quantification ("pour tous", "il existe").
2. La syntaxe de la logique du premier ordre
Pour construire des formules, nous avons besoin d'un vocabulaire et d'une grammaire précis. Votre formation en informatique vous rendra familier avec cette approche de définition formelle d'un langage.
Un langage du premier ordre se compose de :
- Termes : expressions qui désignent des objets.
- Constantes : symboles qui représentent des objets spécifiques (ex:
alice,0,null). - Variables : symboles qui agissent comme des conteneurs pour des objets (ex: ).
- Fonctions : symboles qui, appliqués à des termes, produisent un nouveau terme (ex:
successeur(x),somme(a, b)).
- Constantes : symboles qui représentent des objets spécifiques (ex:
- Formules : expressions qui ont une valeur de vérité (vrai ou faux).
- Formules atomiques : un prédicat (symbole de relation) appliqué à des termes. Un prédicat exprime une propriété ou une relation entre des objets (ex:
Etudiant(x),PlusGrandQue(y, 0)). - Formules complexes : construites à partir de formules atomiques en utilisant les connecteurs logiques que nous connaissons ().
- Formules quantifiées : construites en appliquant un quantificateur ( pour "pour tout", pour "il existe") à une variable dans une formule.
- Formules atomiques : un prédicat (symbole de relation) appliqué à des termes. Un prédicat exprime une propriété ou une relation entre des objets (ex:
L'image suivante présente une grammaire formelle, similaire à la notation BNF (Backus-Naur Form), qui résume la construction des formules.

Pour une présentation détaillée de cette syntaxe, je vous invite à visionner la section suivante de la vidéo de Stanford.
Logic 7 - First Order Logic | Stanford CS221: AI (Autumn 2021)
Cette partie de la vidéo détaille les briques de base de la syntaxe de la logique du premier ordre, en distinguant clairement les termes des formules.
Regardez la section de 04:42 à 11:03. Assurez-vous de bien comprendre la différence entre un terme (qui représente un objet) et une formule (qui représente une proposition pouvant être vraie ou fausse).
Pour une définition encore plus formelle, digne d'un cours de préparation à l'Agrégation, vous pouvez vous référer au document suivant.
Fondements de l'informatique Logique, modèles, et calculs
Ce polycopié du cours de Fondements de l'Informatique de l'École Polytechnique fournit des définitions rigoureuses et inductives des notions de signature, terme, et formule. C'est une excellente référence pour solidifier votre compréhension formelle.
Lisez les sections 1 "Syntaxe", 1.1 "Termes", 1.2 "Formules atomiques", et 1.3 "Formules" (pages 3 à 6). Ne vous attardez pas sur chaque exemple, mais concentrez-vous sur les définitions formelles (Définition 1, 5, 9, 13).
3. Traduire le langage naturel en formules logiques
Le cœur de cette leçon est d'apprendre à traduire des énoncés en français vers le langage formel des prédicats. Cette compétence est essentielle pour spécifier des propriétés d'algorithmes ou de systèmes.
Les deux règles d'or de la traduction
La principale difficulté réside dans le choix du connecteur à associer à chaque quantificateur.
-
Le quantificateur universel () s'associe presque toujours à l'implication ().
- "Tous les A sont B" se traduit par .
- Signification : "Pour n'importe quel objet , si a la propriété A, alors il a aussi la propriété B."
- Erreur courante : Le traduire par . Cela signifierait "Tout objet dans l'univers est à la fois un A et un B", ce qui est une affirmation beaucoup plus forte et généralement fausse.
-
Le quantificateur existentiel () s'associe presque toujours à la conjonction ().
- "Certains A sont B" (ou "Il existe un A qui est B") se traduit par .
- Signification : "Il existe au moins un objet qui a à la fois la propriété A et la propriété B."
- Erreur courante : Le traduire par . Cette formule est vraie dès qu'il existe un objet qui n'est pas un A, la rendant "trivialement vraie" et inutile dans la plupart des cas.
Le tableau suivant résume ces patrons de traduction fondamentaux.

La vidéo de Stanford explique ces règles de manière très pédagogique avec des exemples pertinents.
Logic 7 - First Order Logic | Stanford CS221: AI (Autumn 2021)
Cette section cruciale de la vidéo de Stanford explique les patrons de traduction pour les quantificateurs universel et existentiel, et montre comment les appliquer sur des exemples de plus en plus complexes.
Regardez attentivement la section de 12:33 à 19:00. Portez une attention particulière à la justification du choix entre implication (⇒) et conjonction (∧) pour chaque quantificateur.
Importance de l'ordre des quantificateurs
L'ordre dans lequel les quantificateurs apparaissent change radicalement le sens de la formule. n'est pas équivalent à .
-
- "Pour chaque humain , il existe un humain tel que est la mère de ." (Vrai)
-
- "Il existe un humain qui, pour chaque humain , est la mère de ." (Faux, cela impliquerait une mère universelle).
La vidéo française ci-dessous insiste sur ce point, et sur la bonne pratique de noter la dépendance (ex: ) pour ne pas l'oublier lors d'une démonstration.
2. Les quantificateurs logiques (Bac+1)
Cette vidéo en français aborde plusieurs points de rédaction importants pour un étudiant francophone, notamment la négation des quantificateurs et l'ordre de ces derniers.
Regardez les deux segments : De 03:37 à 04:36 sur la négation des quantificateurs (les lois de De Morgan pour les quantificateurs). De 07:41 à 08:51 sur l'importance de l'ordre des quantificateurs et la dépendance des variables.
4. Exercices de traduction
Mettons maintenant en pratique ces concepts. Le document suivant est une feuille de travaux dirigés classique. Nous allons nous en servir pour nous exercer.
Le contexte est un modèle simplifié du système solaire.
- Prédicats :
Px: est une planète.Mxy: est plus petit ou aussi grand que .Sxy: est plus proche du Soleil ou à égale distance que .
- Constantes :
t: la Terre.j: Jupiter.m1: Mercure.
Votre tâche : Traduisez les phrases suivantes en logique du premier ordre. Prenez quelques instants pour écrire votre solution avant de consulter la correction.
- Certaines planètes sont plus petites que la Terre.
- Toutes les planètes sont plus petites que Saturne (constante
s1). - Mercure est la planète la plus proche du Soleil. (Indice : Pensez à comment exprimer "la plus").
- Si quelque chose est plus éloigné du Soleil que Pluton (constante
p), alors ce n’est pas une planète.
Cliquez ici pour les corrections et les explications.
Voici les traductions correctes, tirées du corrigé de l'exercice (LINK).
-
Certaines planètes sont plus petites que la Terre.
- Formule :
- Analyse : C'est un cas direct de "Il existe un A qui est B". Nous affirmons l'existence () d'un objet qui est à la fois une planète () et plus petit que la Terre (). Le connecteur est donc bien la conjonction ().
-
Toutes les planètes sont plus petites que Saturne.
- Formule :
- Analyse : C'est un cas direct de "Tous les A sont B". Pour tout objet , si c'est une planète (), alors il est plus petit que Saturne (). Le connecteur est bien l'implication ().
-
Mercure est la planète la plus proche du Soleil.
- Formule :
- Analyse : C'est plus subtil. On exprime que "pour toute planète qui est plus proche ou à égale distance du Soleil que Mercure, cette planète doit être Mercure elle-même". Une autre façon de dire la même chose : "Toute planète n'est pas plus proche du Soleil que Mercure" : , qui est logiquement équivalent à ce qui est proche de la solution. La solution proposée est aussi une manière de le formuler : "Pour tout objet x, si x est une planète ET que x est plus proche du soleil que Mercure, alors x doit être Mercure".
-
Si quelque chose est plus éloigné du Soleil que Pluton, alors ce n’est pas une planète.
- Formule :
- Analyse : Cette phrase est de la forme "Pour toute chose, si [propriété A], alors [propriété B]". La propriété A est "être plus éloigné du Soleil que Pluton" () et la propriété B est "ne pas être une planète" (). L'énoncé a une portée universelle, même si le mot "tous" n'est pas explicite. C'est une structure très fréquente en mathématiques.
Pour vous exercer davantage, je vous recommande de faire les autres questions de l'Exercice 1 du document LINK et de vérifier vos réponses avec le corrigé fourni.
Conclusion
Aujourd'hui, nous avons acquis un langage formel extrêmement puissant. Vous êtes maintenant capable de prendre une phrase ambiguë en langage naturel et de la traduire en une formule logique précise et sans équivoque.
Points clés à retenir :
- La logique des prédicats enrichit la logique propositionnelle avec les variables, constantes, fonctions, prédicats et quantificateurs.
- Les quantificateurs ("pour tout") et ("il existe") permettent de faire des affirmations sur des ensembles d'objets.
- La traduction suit des règles précises : s'utilise avec , et s'utilise avec .
- L'ordre des quantificateurs est crucial et change le sens d'une formule.
- Les lois de De Morgan s'étendent aux quantificateurs : et .
Dans notre prochaine leçon, nous allons utiliser ce nouveau langage pour aborder un domaine fondamental de l'informatique et des mathématiques : la théorie des ensembles. Nous apprendrons à définir formellement ce qu'est un ensemble et à démontrer des propriétés ensemblistes (comme l'inclusion, l'union, l'intersection) par manipulation formelle, en utilisant la logique des prédicats comme outil de preuve.