Calcul des prédicats
Le calcul des prédicats du premier ordre, ou calcul des relations, logique du premier ordre, logique quantificationnelle, ou tout simplement calcul des prédicats, est une formalisation du langage des mathématiques, proposée par Gottlob Frege, entre la fin du XIXe siècle et le début du XXe siècle. La logique du premier ordre comporte deux parties :
- la syntaxe définit le vocabulaire symbolique de base ainsi que les règles permettant de construire des énoncés complexes,
- la sémantique interprète ces énoncés comme exprimant des relations entre les éléments d'un domaine, également appelé modèle.
Sur le plan syntaxique, les langages du premier ordre opposent deux grandes classes linguistiques :
- les constituants servant à identifier ou nommer des éléments du domaine : variables, symboles de constantes, termes ;
- les constituants servant à exprimer des propriétés ou des relations entre ces éléments : prédicats et formules.
Un prédicat est une expression linguistique qui peut être reliée à un ou plusieurs éléments du domaine pour former une phrase. Par exemple, dans la phrase « Mars est une planète », l'expression « est une planète » est un prédicat qui est relié au nom (symbole de constante) « Mars » pour former une phrase. Et dans la phrase « Jupiter est plus grand que Mars », l'expression « est plus grand que » est un prédicat qui se relie aux deux noms, « Jupiter » et « Mars », pour former une phrase.
En logique mathématique, lorsqu'un prédicat est lié à une expression, on dit qu'il exprime une propriété (telle que la propriété d'être une planète), et lorsqu'il est lié à deux ou plusieurs expressions, on dit qu'il exprime une relation (telle que la relation d'être plus grand). Ainsi on peut raisonner sur des énoncés comme « Tout est gentil » et « Il existe un tel que pour tout , est ami avec », ce qui exprimé symboliquement se traduit par la formule :
Il convient de noter cependant que la logique du premier ordre ne contient aucune relation spécifique (comme telle relation d'ordre, d'inclusion ou d'égalité) ; en fait, il ne s'agit que d'étudier la façon dont on doit parler et raisonner avec les expressions du langage mathématique.
Les traits caractéristiques de la logique du premier ordre sont :
- l'utilisation de variables comme , etc. pour dénoter des éléments du domaine d'interprétation ;
- l'utilisation de prédicats (ou relations) sur les éléments ;
- l'utilisation de connecteurs logiques (et, ou, implique etc.) ;
- l'utilisation de deux quantificateurs, l'un universel (« Quel que soit », « pour tout » noté ∀) et l'autre existentiel (« il existe au moins un … tel que », noté ∃), appliqués aux variables uniquement.
Le calcul des prédicats du premier ordre égalitaire adjoint au calcul des prédicats un symbole de relation, l'égalité, dont l'interprétation est l'affirmation que deux éléments sont les mêmes, et qui est axiomatisée en conséquence. Suivant le contexte, on peut parler simplement de calcul des prédicats pour le calcul des prédicats égalitaire.
On parle de logique du premier ordre par opposition aux logiques d'ordre supérieur, où l'on peut aussi appliquer les quantificateurs et les prédicats aux prédicats ou aux fonctions, en plus des variables. En outre, cet article ne traite que de la logique du premier ordre classique, mais on notera qu'il existe aussi une logique du premier ordre intuitionniste.
Introduction
Alors que la logique propositionnelle traite des propositions déclaratives simples, la logique du premier ordre couvre en plus les prédicats et la quantification.
Un prédicat prend en entrée une ou plusieurs entités du domaine du discours et en sortie, il est soit Vrai, soit Faux. Considérons les deux phrases "Socrate est un philosophe" et "Platon est un philosophe". En logique propositionnelle, ces phrases sont considérées comme non liées et peuvent être désignées, par exemple, par des variables telles que p et q. Le prédicat "est un philosophe" apparaît dans les deux phrases, dont la structure commune est "a est un philosophe". La variable a est instanciée en tant que "Socrate" dans la première phrase, et est instanciée en tant que "Platon" dans la deuxième phrase. Alors que la logique du premier ordre permet l'utilisation de prédicats, tels que "est un philosophe" dans cet exemple, la logique propositionnelle ne le permet pas.
Les relations entre les prédicats peuvent être énoncées à l'aide de connecteurs logiques. Considérons, par exemple, la formule du premier ordre "si a est un philosophe, alors a est un savant". Cette formule est un énoncé conditionnel dont l'hypothèse est " a est un philosophe " et la conclusion " a est un savant ". La vérité de cette formule dépend de l'objet désigné par a, et des interprétations des prédicats "est un philosophe" et "est un savant".
Les quantificateurs peuvent être appliqués aux variables d'une formule. La variable a de la formule précédente peut être quantifiée universellement, par exemple avec la phrase du premier ordre "Pour tout a, si a est un philosophe, alors a est un savant". Le quantificateur universel "pour chaque" dans cette phrase exprime l'idée que l'affirmation "si a est un philosophe, alors a est un savant" est valable pour tous les choix de a.
La négation de la phrase "Pour tout a, si a est un philosophe, alors a est un savant" est logiquement équivalente à la phrase "Il existe a tel que a est un philosophe et a n'est pas un savant". Le quantificateur existentiel "il existe" exprime l'idée que l'affirmation "a est un philosophe et a n'est pas un savant" est valable pour un certain choix de a.
Les prédicats "est un philosophe" et "est un savant" prennent chacun une seule variable. En général, les prédicats peuvent prendre plusieurs variables. Dans la phrase du premier ordre "Socrate est le professeur de Platon", le prédicat "est le professeur de" prend deux variables.
Histoire
Emmanuel Kant croyait à tort que la logique de son temps, celle d’Aristote, était une science complète et définitivement achevée (préface de la seconde édition de la critique de la raison pure, 1787[1]). Les logiciens[2] du XIXe siècle se sont rendu compte que la théorie d’Aristote ne dit rien ou presque sur la logique des relations. Gottlob Frege et beaucoup d'autres ont comblé cette lacune en définissant le calcul des prédicats au premier ordre.
Kurt Gödel a démontré en 1929 (dans sa thèse de doctorat) que le calcul des prédicats est complet, au sens où on peut donner un nombre fini de principes (axiomes logiques, schémas d'axiomes logiques et règles de déduction[3]) qui suffisent pour déduire de façon mécanique toutes les lois logiques (voir le théorème de complétude de Gödel). Il y a équivalence entre la présentation sémantique et la présentation syntaxique du calcul des prédicats. Tout énoncé universellement valide (c'est-à -dire vrai dans tout modèle du langage utilisé) est un théorème (c'est-à -dire qu'il peut être déduit d'un calcul, un système de règles logiques et d'axiomes, de façon équivalente un système à la Hilbert, la déduction naturelle, ou le calcul des séquents), et réciproquement. La logique du premier ordre est donc achevée au sens où le problème de la correction logique des démonstrations y est résolu. Elle continue cependant à faire l’objet d’importantes recherches : théorie des modèles, théorie de la démonstration, mécanisation du raisonnement…
Syntaxe
Définition
Cette section donne une brève présentation de la syntaxe du langage formel du calcul des prédicats.
On se donne pour alphabet :
- un ensemble de symboles appelés variables, toujours infini : , , , etc. ;
- un ensemble de symboles appelés constantes, éventuellement vide : , , , etc. ;
- un ensemble de symboles de fonctions : , , , etc. ;
- un ensemble de symboles de prédicats : , , , etc.
Chaque symbole de fonction et chaque symbole de prédicat a une arité : il s'agit du nombre d'arguments ou d'objets auxquels il est appliqué. Par exemple, le prédicat pour « est bleu(e) » a une arité égale à 1 (on dit qu'il est unaire ou monadique), tandis que le prédicat pour « être amis » a une arité de deux (on dit qu'il est binaire ou dyadique).
- Les symboles (quel que soit) et (il existe), appelés quantificateurs.
- Les symboles (non), (et), (ou) et (implique), qui sont des connecteurs que possède aussi le calcul des propositions.
- Les symboles de ponctuation « ) » et « ( ».
On pourrait se contenter d'un seul quantificateur et de deux connecteurs logiques et en définissant les autres connecteurs et quantificateur à partir de ceux-ci. Par exemple est défini comme .
Les formules du calcul des prédicats du premier ordre sont définies par induction :
- si un symbole de prédicat d'arité n et t1, …, tn sont des termes (une telle formule est appelée un atome ou une formule atomique) ;
- ¬e si e est une formule ;
- (e1∧e2) si e1 et e2 sont des formules ;
- (e1∨e2) si e1 et e2 sont des formules ;
- (e1→e2) si e1 et e2 sont des formules ;
- si e est une formule ;
- si e est une formule.
On appelle énoncé une formule dont toutes les variables sont liées par un quantificateur (donc qui n'a pas de variable libre).
Exemples
- Exemple 1
Si on se donne pour constantes les deux symboles 0 et 1, pour symboles de fonctions binaires + et ., et pour symboles de prédicats binaires les symboles = et <, alors le langage utilisé peut être interprété comme étant celui de l'arithmétique. x et y désignant des variables, x+1 est un terme, 0+1+1 est un terme clos, x<y+1 est une formule, 0+1+1<0+1+1+1 est une formule close.
- Exemple 2
Si on se donne un ensemble de variables quelconque, une constante notée e, un symbole de fonction binaire noté *, un symbole de fonction unaire notée -1, un symbole de relation binaire =, alors le langage utilisé peut être interprété comme étant celui de la théorie des groupes. Si x et y désignent des variables, x*y est un terme, e*e est un terme clos, x=y*y est une formule, e=e*e-1 et (e-1 * e)-1 = (e-1)-1 sont des formules closes.
Prédicats, formules closes, formules polies, variables libres, variables liées
Lorsqu’une variable appartient à une sous-formule précédée d’un quantificateur, ou , elle est dite liée par ce quantificateur. Si une variable n’est liée par aucun quantificateur, elle est libre.
La distinction entre variable libre et variable liée est importante. Une variable liée ne possède pas d'identité propre et peut être remplacée par n'importe quel autre nom de variable qui n'apparaît pas dans la formule. Ainsi, est identique à mais pas à et encore moins à .
Une formule close est une formule dont toutes les variables sont liées. Un prédicat est une formule qui contient une ou plusieurs variables libres. On peut considérer les prédicats comme des concepts. Ainsi, est une formule close du langage de l'arithmétique. est un prédicat portant sur la variable z.
Une formule est dite polie lorsque d'une part aucune variable n'y a à la fois d'occurrences libres et d'occurrences liées et que d'autre part aucune variable liée n'est soumise à plus d'une mutification (on dit qu'un signe est mutificateur lorsqu'il permet de confirmer l'hypothèse d'une variable liée)..
Sémantique
La théorie de la vérité des formules du calcul des prédicats a été appelée par Tarski sa sémantique.
Une interprétation d'un langage du premier ordre dans un domaine d'interprétation, appelé aussi modèle du langage, décrit les valeurs prises par les constituants du premier ordre (variables, symboles de constantes, termes) et les relations associées aux prédicats. Chaque énoncé se voit attribuer une valeur de vérité. L'étude des interprétations des langages formels est appelée sémantique formelle ou théorie des modèles. Ce qui suit est une description de la sémantique standard ou tarskienne pour la logique du premier ordre. Il existe d'autres types de sémantique, notamment la sémantique des jeux, qui ne sont pas détaillés dans cet article.
Modèle
Un modèle M d'un langage du premier ordre est une structure : c'est un ensemble d'éléments (appelé domaine) dans lequel on donne un sens aux symboles du langage. Généralement, si le langage possède un prédicat binaire pour le symbole d'égalité =, alors son interprétation dans la structure est l'égalité.
Conditions de vérité
Un modèle donne une valeur de vérité (vrai ou faux) à toute formule close du langage. Les conditions de vérité sont définis par induction structurelle sur les formules. Par exemple, dans le modèle ci-contre :
- est vraie dans le modèle M car il existe un élément (l'oiseau) qui aime tout le monde ;
- est vraie dans le modèle M car il existe un élément (la cerise) qui n'aime personne.
Formule satisfaisable
Une formule est satisfaisable s'il existe un modèle M qui la rend vraie. Par exemple est satisfaisable.
Formule valide
On dit qu'une formule F du langage est une formule valide si cette formule est vraie dans tout modèle du langage, ce qu'on note . Par exemple, la formule est une formule valide. Dans un modèle M, si est vraie alors, il existe un élément dans le domaine qui aime tout le monde. Mais alors tout le monde est aimé et donc la formule est vraie dans le modèle M. L'implication étant vraie dans tout modèle M, la formule est valide.
Par contre, la formule n'est pas valide. En effet, dans un modèle avec deux éléments {a, b} et où est interprété par a n'aime que a et b n'aime que b, la formule est vraie alors que est fausse. L'implication est donc fausse dans le modèle et la formule n'est pas valide.
Conséquence sémantique
On dit que F est conséquence sémantique d'une théorie T si, tout modèle qui satisfait toutes les formules de T satisfait aussi F.
Système de déduction
Dans le calcul des prédicats, on peut également déduire des formules au moyen de déductions relevant d'un calcul. Une déduction consiste à partir d’hypothèses, ou d’axiomes, à progresser par étapes logiques jusqu’à une conclusion selon des règles prédéfinies. Il existe plusieurs présentations possibles de ces axiomes et de ces règles.
- La déduction naturelle. Les principes logiques y sont présentés d’une façon aussi proche que possible des raisonnements naturels. Elle consiste en une liste de treize règles. Elles pourraient être réduites à un plus petit nombre, mais l'évidence des principes serait moins naturelle.
- Le calcul des séquents.
- La résolution.
- Les axiomes logiques. Plusieurs systèmes d’axiomes équivalents peuvent être proposés. Cette approche, adoptée par presque tous les logiciens depuis les Principia Mathematica de Whitehead et Russell, a une grande importance à la fois métamathématique et historique. L'un des systèmes d'axiomes le plus court est constitué du triplet suivant :
- Les axiomes du calcul des propositions
- les axiomes relatifs au quantificateur
- où x n'est pas libre dans f
- où x n'a pas d'occurrence libre dans une partie bien formée de f de la forme (ceci pour éviter une substitution embarrassante si par exemple, f(x) est de la forme ).
- La règle du modus ponens
- si on a prouvé et , alors on a prouvé
- La règle de généralisation
- si on a prouvé , alors on a prouvé (puisque le x de la première preuve joue un rôle arbitraire).
Mais si la recherche de systèmes d'axiomes minimaux met en évidence les principes élémentaires sur lesquels peuvent s'appuyer tous les raisonnements, elle ne montre pas le caractère d’évidence naturelle des principes logiques plus généraux.
- La logique du dialogue apporte également un autre éclairage sur la nature des lois logiques.
- Voir aussi correspondance de Curry-Howard.
Quelle que soit la présentation abordée, les axiomes et règles peuvent être codés de façon qu'une machine puisse vérifier la validité ou non d'une déduction conduisant à une formule F. Si la déduction est correcte, la formule F est appelé théorème. On dit aussi qu'elle est prouvable, ce qu'on note .
Propriétés
Complétude
Le théorème de complétude dit que F est valide est équivalent à F est prouvable. Mieux, on parle de complétude forte : si F est conséquence sémantique d'une théorie T alors F est prouvable à partir de T.
Indécidabilité
Tous les systèmes logiques ne sont pas décidables, autrement dit bien qu'ils soient parfaitement définis, il n'existe pas toujours un algorithme pour dire si une formule est oui ou non un théorème. D'ailleurs historiquement la théorie de la calculabilité s'est construite pour démontrer précisément leur indécidabilité. Avant de développer ces résultats, voici résumé ce qu'on sait sur la décidabilité et l'indécidabilité des systèmes logiques.
- Calcul propositionnel : décidable et complet. Pour la décidabilité, il y a donc une procédure effective pour décider si une formule du calcul propositionnel est satisfaisable, c'est-à -dire que l'on peut affecter aux variables propositionnelles des valeurs de vérité qui la rende vraie, mais le problème, nommé problème SAT, est NP-complet, c'est-à -dire que tous les algorithmes déterministes connus de recherche d'une solution sont en temps exponentiel par rapport au nombre de variables (voir l'article Problème SAT).
- Calcul des prédicats du premier ordre monadique, c'est-à -dire réduit aux relations unaires et sans fonctions : décidable et complet, par réduction au calcul propositionnel.
- Calcul des prédicats du premier ordre : réductible au calcul des prédicats dyadique, soit avec au plus des prédicats binaires (comme il en est en théorie des ensembles n'ayant que l'appartenance et l'égalité comme symboles primitifs) : semi-décidable et complet.
- Calcul des prédicats de deuxième ordre : [quid sur sa décidabilité], et théorème de complétude partiel sur une sous-classe de formules.
- Calcul des prédicats d'ordre supérieur :
Le calcul des prédicats est semi-décidable, dans le sens où une machine peut énumérer les théorèmes les uns après les autres. Mais, contrairement au calcul des propositions, il n'est pas en général décidable dans le sens où il n'existe pas de moyen « mécanique » qui, si on se donne une formule F, permette de décider si F est un théorème ou non. La semi-décidabilité ne permet pas de conclure : la confrontation de F avec la liste des théorèmes se terminera si F est effectivement un théorème, mais dans l'attente de la terminaison, a priori on ne sait pas si le calcul des théorèmes n'a pas été mené assez loin pour identifier F comme théorème ou si ce calcul ne se terminera pas parce que F n'est pas un théorème.
Cela dépend cependant du langage utilisé, en particulier du choix des symboles primitifs (la signature). Le calcul des prédicats égalitaire monadique (n'ayant que des symboles de prédicats unaires et pas de symbole de fonction) est décidable. Le calcul des prédicats égalitaire pour un langage comportant au moins un symbole de prédicat binaire est indécidable (algorithmiquement).
Des fragments syntaxiques sont décidables comme la logique monadique du premier ordre ou la classe de Bernays-Schönfinkel.
Compacité
Voir théorème de compacité.
Expressivité
Une application intéressante du théorème de compacité est qu'il n'existe pas de formules qui exprime « le domaine est infini ».
Théorème de Löwenheim-Skolem
Incomplétude
En un sens différent, les théories « raisonnables »[note 1] qui permettent de formaliser suffisamment l'arithmétique intuitive, comme l'arithmétique de Peano, ou la théorie des ensembles ne sont pas complètes : il existe un énoncé non démontrable dont la négation est également non démontrable (voir théorème d'incomplétude de Gödel).
Fragments décidables
Le problème de satisfiabilité d'une formule de la logique du premier ordre est indécidable. Mais en se restreignant à certaines classes de formules, le problème de satisfiabilité devient décidable. Le tableau suivant énumère quelques fragments décidables[4].
Fragments |
---|
Fragment monadique et symboles de fonction d'arité 1 |
Fragment à deux variables seulement |
Classe de Bernays-Schönfinkel, Classe sans symboles de fonction et égalité |
Classe sans symboles de fonction |
Classe avec symboles de fonction |
Classe avec symboles de fonction et égalité |
Fragment monadique avec symboles de fonction d'arité et égalité |
Classe avec symboles de fonction d'arité un, et égalité |
Variantes
Le calcul des propositions est un fragment syntaxique de la logique du premier ordre où il n'y a pas de variables et où tous les prédicats sont d'arité 0.
La logique modale propositionnelle et la logique de description sont des fragments syntaxiques de la logique du premier ordre. D'ailleurs, toute formule du premier ordre qui est invariante par bisimulation est équivalente à une formule de la logique modale : c'est le théorème de Van Benthem. La logique du premier ordre a aussi été étendu à la logique modale du premier ordre. La logique de la dépendance (dependence logic) est une généralisation de la logique du premier ordre où les dépendances entre variables sont explicitement décrites dans le langage.
Notes et références
Notes
- Récursivement axiomatisables et cohérentes.
Références
- Emmanuel Kant, « Préface de la Critique de la raison pure », sur https://fr.wikisource.org,
- « logicien — Wiktionnaire », sur fr.wiktionary.org (consulté le )
- « Logique (mathématiques)/Déduction naturelle — Wikiversité », sur fr.wikiversity.org (consulté le )
- (en) The Classical Decision Problem | Egon Börger | Springer (lire en ligne), Th. 6.02 p. 240