Théorème de Herbrand

De testwiki
Aller à la navigation Aller à la recherche

Modèle:À sourcer Modèle:Confusion En logique, le théorème de Herbrand, publié en 1930 par Jacques Herbrand, établit un lien entre la logique du premier ordre et la logique propositionnelle (qui peut-être vu comme la logique d'ordre zéro). La validité (ou prouvabilité) d’une formule du premier ordre se ramène à la validité (ou prouvabilité) d'un ensemble fini de formules propositionnelles.

Alors qu'il est possible de déterminer algorithmiquement si une formule propositionnelle est démontrable ou pas, on sait — depuis les travaux de Gödel, Tarski, Church, Turing et autres — que la même question pour les formules du premier ordre est indécidable. Le théorème de Herbrand montre qu’elle est cependant semi-décidable : bien qu’il n’existe pas d’algorithme qui détermine si une formule donnée est prouvable ou pas, il existe une procédure qui résout partiellement la question en répondant « oui » si et seulement si la formule donnée est prouvable (pour certaines formules non prouvables, le calcul ne s'arrête pas).

Formules prénexes et formules universelles

Une formule du calcul des prédicats est prénexe si tous les quantificateurs qu'elle contient se trouvent au début de la formule. Toute formule admet une formule prénexe équivalente. Par exemple, la formule (xP(x))(yQ(y)) est équivalente successivement à ¬(xP(x))(yQ(y)), (x¬P(x))(yQ(y)), et enfin xy¬P(x)Q(y) (où , ¬, , , désignent respectivement l'implication, la négation, la disjonction, le quantificateur existentiel et le quantificateur universel, et P et Q sont des prédicats unaires).

Une formule prénexe est universelle si elle ne possède que des quantificateurs universels (symbole ). Il est possible d'associer à une formule quelconque une formule universelle en appliquant une transformation appelée skolémisation. Elle consiste à introduire de nouveaux symboles de fonction pour chaque quantificateur existentiel (symbole ). Par exemple, la forme skolémisée de xy(¬P(x)Q(y)) est x¬P(x)Q(f(x)). Intuitivement, si pour chaque x, il existe y tel qu'une propriété R(x,y) soit vérifiée, alors on peut introduire une fonction f(x)=y telle que, pour tout x, R(x,f(x)) est vérifiée. On montre que la formule initiale admet un modèle si et seulement si sa forme skolémisée en admet un. Autrement dit, la formule initiale est satisfiable si et seulement si sa forme skolémisée l'est. De même, la formule initiale est insatisfiable si et seulement si sa forme skolémisée l'est, et donc, par complétude, la négation de la formule initiale est prouvable si et seulement si la négation de sa forme skolémisée l'est.

Le théorème de Herbrand

Soit Modèle:Mvar une formule universelle (ou un ensemble de telles formules), par exemple x,y,P(x,y)Modèle:Math est un prédicat, et soit Modèle:Math une suite de termes. Considérons les trois propriétés suivantes.

  1. Modèle:Mvar est cohérente, c’est‐à‐dire qu’on ne peut pas déduire une contradiction de l'hypothèse Modèle:Mvar ; autrement dit, Modèle:Math n'est pas prouvable dans un système de déduction du calcul des prédicats — telle la déduction naturelle par exemple —, ce qu'on note ⊬¬F.
  2. Modèle:Mvar est satisfiable, c’est‐à‐dire qu’il existe un modèle dans lequel Modèle:Mvar est vraie, ce qu'on note ⊭¬F.
  3. Pour tout entier Modèle:Mvar, la formule 1i,jnP(ai,aj) est satisfiable, ce qu’on note ⊭¬Q(a1,...,an)Modèle:Math est cette proposition.

Le théorème de complétude de Gödel énonce l'équivalence entre 1) et 2). Par ailleurs, 2) entraîne 3) car tout modèle qui vérifie 2) permet de déduire des modèles qui vérifient 3). Le théorème de Herbrand énonce que, réciproquement, 3) entraîne 2) lorsque les Modèle:Math décrivent un domaine particulier, le domaine de Herbrand. On constate que, dans la formulation de 3), les quantificateurs ont disparu dans les formules à satisfaire, et que les formules à prouver sont alors de simples propositions du calcul propositionnel.

De manière duale, en posant Modèle:Math et Modèle:Math, on obtient l’équivalence des trois propriétés suivantes.

  1. Modèle:Mvar est prouvable, c’est‐à‐dire qu’il existe une démonstration de Modèle:Mvar dans un système de déduction du calcul propositionnel, ce qu'on note G.
  2. Modèle:Mvar est valide, c’est‐à‐dire que Modèle:Mvar est vraie dans tout modèle, ce qu'on note G.
  3. Il existe un entier Modèle:Mvar pour lequel Modèle:Math est valide, ce qu’on note R(a1,...,an).

Modèle:Mvar est alors un théorème.

Si la formule du calcul des prédicats Modèle:Mvar n'est pas satisfiable (c’est‐à‐dire si Modèle:Mvar est un théorème), alors en vérifiant Modèle:Math pour Modèle:Math, puis Modèle:Math, etc., on finira par trouver un entier Modèle:Mvar tel que la formule propositionnelle Modèle:Math ne soit pas satisfiable, et réciproquement.

Par contre, si Modèle:Mvar est satisfiable (si Modèle:Mvar n'est pas un théorème), alors pour tout Modèle:Mvar la proposition Modèle:Math sera satisfiable et le processus de calcul ne se terminera pas, sauf dans le cas particulier où les termes Modèle:Math sont en nombre fini.

Cela illustre le fait que l'ensemble des formules non satisfiables et l'ensemble des théorèmes sont récursivement énumérables, mais que le calcul des prédicats n'est pas décidable.

Exemples

Le domaine de Herbrand du modèle est défini au moins par un élément constant (afin d'être non vide) et est constitué de tous les termes que l'on peut former à partir des constantes et des fonctions utilisées dans les formules considérées. On définit un modèle de Herbrand en attribuant la valeur vraie à certains prédicats définis sur ces termes.

Exemple 1 : On considère la formule F=x,P(x)¬P(a), où Modèle:Mvar est une constante. Le domaine de Herbrand est constitué du singleton {a}. On forme alors la formule Q1=P(a)¬P(a) qui est fausse, donc Modèle:Mvar est réfutable (sa négation est prouvable).


Exemple 2 : On considère la formule F=x,(P(x)Q(x))¬P(a)¬Q(b). Le domaine de Herbrand est {a,b}. On forme alors Q1=(P(a)Q(a))¬P(a)¬Q(b) qui est vraie dans un modèle où l'on donne la valeur vraie à Q(a), puis on forme Q2=Q1(P(b)Q(b))¬P(a)¬Q(b) qui est vraie dans un modèle où l'on donne la valeur vraie à {Q(a),P(b)}. Ayant épuisé le domaine de Herbrand, le calcul se termine et Modèle:Mvar est satisfiable dans le modèle précédemment défini.


Exemple 3 : On considère la formule F=x,y,P(x)¬P(f(y)). Le domaine de Herbrand est constitué de {a,f(a),f2(a),...,fn(a),...}. On forme alors Q1=P(a)¬P(f(a)) qui possède un modèle en attribuant la valeur vraie à Modèle:Math mais fausse à Modèle:Math. Puis, en prenant les deux premiers éléments du domaine Modèle:Mvar et Modèle:Mvar(Modèle:Mvar), on forme Q2=P(a)¬P(f(a))P(a)¬P(f(f(a)))P(f(a))¬P(f(a))P(f(a))¬P(f(f(a))) qui ne peut posséder de modèle à cause de la conjonction fausse P(f(a))¬P(f(a)). Donc Modèle:Mvar ne possède pas de modèle. F est réfutable et sa négation est prouvable.


Exemple 4 : On considère la formule G=(x,y,P(x,y))(y,x,P(x,y)) dont on veut montrer qu'il s'agit d'un théorème. Après avoir renommé les variables Modèle:Mvar et Modèle:Mvar dans la deuxième partie de Modèle:Mvar afin d'éviter d'avoir des variables liées de même nom, on obtient une forme prénexe équivalente à Modèle:Mvar :

(x,y,P(x,y))(z,t,P(t,z))
¬(x,y,P(x,y))(z,t,P(t,z))
(x,y,¬P(x,y))(z,t,P(t,z))
x,y,z,t,¬P(x,y)P(t,z)

La formule prénexe Modèle:Mvar équivalente à Modèle:Math est :

x,y,z,t,P(x,y)¬P(t,z)

dont la forme skolémisée est :

y,t,P(a,y)¬P(t,f(y))

La formation des formules Modèle:Math en prenant pour Modèle:Math le couple Modèle:Math puis de Modèle:Math en prenant Modèle:Math conduit à P(a,a)¬P(a,f(a))P(a,f(a))¬P(a,f(f(a))) qui est fausse dans tout modèle. Modèle:Mvar est réfutable et Modèle:Mvar est un théorème.


Exemple 5 : On considère la formule G=(x,y,P(x,y))(y,x,P(x,y)). Par un procédé comparable à l'exemple précédent, on obtient pour forme prénexe équivalente à Modèle:Mvar : x,y,z,t,¬P(x,y)P(t,z). La formule prénexe Modèle:Mvar équivalente à ¬G est :

x,y,z,t,P(x,y)¬P(t,z)

dont la forme skolémisée est :

x,z,P(x,f(x))¬P(g(x,z),z)

Elle est satisfiable en donnant la valeur vraie à tout Modèle:Math et fausse à tout Modèle:Math, où Modèle:Mvar et Modèle:Mvar décrivent le domaine de Herbrand {a,f(a),g(a,a),f(f(a)),f(g(a,a)),g(a,f(a)),...}, et en donnant une valeur arbitraire aux autres prédicats. Cependant, le calcul successif des formules correspondantes Modèle:Math, Modèle:Math… ne se termine pas. Modèle:Mvar est satisfiable et donc Modèle:Mvar n'est pas un théorème, mais la démarche précédente ne permet pas de le montrer par un calcul en un nombre fini d'étapes.

Voir aussi

Modèle:Portail