Previous Up Next
Eléments de logique pour l’informatique 2020–21                   http://www.lri.fr/~paulin/Logique


Chapitre 2  Donner du sens aux formules

Le chapitre précédent nous a permis d’introduire les bases de la logique du premier ordre. Nous avons principalement vu la structure des termes et des formules et comment utiliser ce langage pour modéliser des situations ou problèmes. La vérité d’une formule logique dépend du monde dans lequel on l’interprète. Nous revenons ici sur la notion d’interprétation de manière plus détaillée et définissons la notion de conséquence logique et d’équivalence. Nous étudierons ensuite quelques modèles particuliers.

2.1  Interprétations et vérité

Nous nous plaçons dans la suite dans un langage logique sur une signature (F,R) avec F l’ensemble des symboles de fonctions qui servent à construire les termes et R l’ensemble des symboles de prédicat qui permettent de construire les formules atomiques.

2.1.1  Définitions

Définition 1 (Interprétation)   Une interprétation I de la signature (F,R) est donnée par

On utilise également la terminologie de modèle ou de structure pour parler de l’interprétation d’une signature.

Cas des symboles d’arité 0.

Dans la définition ci-dessus, on peut regarder de plus près le cas des symboles d’arité 0.
Un symbole de fonction d’arité 0 est aussi appelé constante et un symbole de prédicat d’arité 0 est aussi appelé variable propsitionnelle. Leur interprétation rentre dans le cas général. En effet l’ensemble D0 contient exactement un élément, à savoir le n-uplet () avec aucune valeur à l’intérieur.

Interprétation et implantation.

Du point de vue informatique, on peut voir les différentes interprétations d’une même signature comme les différentes implémentations d’une même bibliothèque. L’implantation d’un symbole de prédicat est une fonction booléenne sur les termes.

Exemple 1   Par exemple, les langages de programmation ont une notion primitive d’entiers relatifs mais pas de nombres rationnels. On peut se donner une signature pour manipuler des rationnels qui contiendra des constantes 0, 1 et -1, une opération binaire de construction frac, des opérations binaires + et * et un symbole de prédicat binaire pour l’égalité.

On peut proposer une interprétation de cette signature. Il faut décider comment on va représenter un rationnel, on choisit de le faire en prenant un couple (p,q)∈ℤ×ℕ∖{0} formé d’un entier relatif en numérateur et d’un entier naturel non nul en dénominateur. Le domaine de l’interprétation est donc D =def  ℤ×ℕ∖{0}. D’autres choix sont possibles comme d’imposer que la fraction soit réduite (pas de diviseur commun du dénominateur et du numérateur), ou encore avoir un entier relatif en dénominateur.

On pourra définir alors l’interprétation de chacun des symboles de notre signature :

0
 
def
=
 
 (0,1)
1
 
def
=
 
 (1,1)
-1
 
def
=
 
 (−1,1)
   
frac((p1,q1),(p2,q2))
 
def
=
 
 (p1q2,q1p2)
si   p2>0
frac((p1,q1),(p2,q2))
 
def
=
 
 (0,1)
si   p2=0
frac((p1,q1),(p2,q2))
 
def
=
 
 (−p1q2,−q1p2)
si   p2<0
+((p1,q1),(p2,q2))
 
def
=
 
 (p1q2+p2q1,q1q2)
*((p1,q1),(p2,q2))
 
def
=
 
 (p1p2,q1q2)
=((p1,q1),(p2,q2))
 
def
=
 
  (p1q2=q1p2)
Interprétation des symboles de prédicats d’arité 0, 1 ou 2 ou plus

2.1.2  Cas propositionnel

Dans le cas propositionnel (sans quantificateur), il n’y a pas de symboles de fonctions et tous les symboles de prédicats sont d’arité 0, donc des variables propositionnelles. Une interprétation revient donc à fixer une valeur booléenne pour chacune de ces variables. S’il y a n variables propositionnelles alors il y a 2n interprétations possibles. On peut les énumérer toutes et calculer la valeur de vérité de la formule propositionnelle pour chacune de ces interprétations, on retrouve ainsi les tables de vérité.

2.1.3  Valeur de vérité d’une formule

Se donner une interprétation de la signature est une étape nécessaire mais pas suffisante pour pouvoir définir la valeur de vérité d’une formule quelconque. En effet celle-ci peut contenir des variables libres auxquelles il faut aussi attribuer une valeur. Dans la suite, on note X l’ensemble des variables qui apparaissent dans les termes et les formules.

Définition 2 (Environnement)   Soit I une interprétation de la signature (F,R) dont le domaine est D, un environnement est une application ρ qui associe une valeur du domaine D à chaque variable de X (c’est-à-dire ρ∈XD).
Soit
ρ un environnement, si xX et dD, on note ρ+{xd} l’environnement qui vaut d pour la variable x et ρ(y) pour toutes les variables yx.

Il ne faut pas confondre une substitution qui associe un terme syntaxique à une variable avec un environnement qui associe à une variable une valeur sémantique du domaine d’interprétation.

Pour faire une analogie informatique, la substitution est analogue à une opération de remplacement que l’on peut faire dans un éditeur, alors que l’environnement va correspondre à l’état de la mémoire pour chaque variable du programme au moment de son exécution.

Etant données une signature (F,R) et une interprétation I =def  (D,(fI)fF,(RI)RR) de cette signature (que l’on supposera fixée dans la suite) on peut définir en fonction d’un environnement ρ, la valeur d’un terme et d’une formule.

Définition 3 (Valeur d’un terme et d’une formule dans une interprétation)   Soit ρ un environnement, ρ∈XD.

On notera I,ρ⊨ A lorsque la formule A est vraie dans l’interprétation I et l’environnement ρ, c’est-à-dire lorsque valI(ρ, A)=V. Si la formule A est close, alors sa valeur dans une interprétation ne dépend pas de l’environnement et on écrira simplement IA pour indiquer que A est vraie dans l’interprétation I (et n’importe quel environnement).

Proposition 1   Soit I une interprétation I et ρ un environnement.

Preuve: Ces propriétés sont une simple reformulation de la définition de la valeur d’une formule et du fait que I,ρ⊨ A est défini comme valI(ρ,A)=V

Contrairement au cas de la logique propositionnelle, on ne peut pas en général calculer cette valeur de vérité car dans le cas des quantificateurs, il faut a priori raisonner sur l’ensemble des objets dD qui peut être infini.

Exemple 2   Les bases de données traitent généralement de problèmes sur des ensembles finis. On peut avoir un domaine qui soit un ensemble de personnes et vouloir représenter les relations de parenté (filiation et liens entre frères et soeurs).

On modélise une telle base de données en logique du premier ordre. On suppose que la signature est juste composée d’un ensemble de constantes pour représenter les individus, par exemple Alice, Bob, Charles, Denis, Eric, Fanny, Georges et Hélène et de deux symboles de relation binaire parent et fratrie ainsi qu’un symbole d’égalité binaire. La relation parent(x,y) exprime que x est le père ou la mère de y et fratrie(x,y) exprime que x et y sont dans la même fratrie.

Le modèle peut utiliser comme domaine l’ensemble des constantes

{Alice,Bob,Charles,Denis,Eric,Fanny,Georges,Hélène}

ou bien une autre représentation comme des entiers par exemple, ou des caractères.

On va prendre ici D =def {A,B,C,D,E,F,G,H}. On interprète chaque constante par un élément de D. Il serait parfaitement légitime de choisir une interprétation qui associe le même élément du domaine à deux constantes différentes du langage (par exemple si un individu est connu sous deux identités différentes). Ici on choisit de représenter chaque constante du langage par un élément différent du domaine.

AliceI=A    BobI=B    CharlesI=C     DenisI=D
EricI=E     FannyI=F    GeorgesI=G     HélèneI=H

On a ensuite le choix sur l’interprétation des relations, par exemple :

parentI={(A,B),(G,B),(B,C),(B,H)}
fratrieI={(C,H),(H,C)}
=I={(A,A),(B,B),(C,C),(D,D),(E,E),(F,F),(G,G),(H,H)}

On s’attend à ce que cette interprétation satisfasse les propriétés suivantes :

Exercice 1   Soient les formules suivantes sans variable libre. Sont-elles vraies si on les interprète dans , , avec les conventions usuelles pour l’interprétation des opérations et des relations.
  1. x, ∃ y, x < y
  2. x, ∃ y, y < x
  3. x y, x < yx+1 ≤ y
  4. x y z, xyx× zy × z
On constate que des propriétés vraie ou fausses dans une interprétation ne le sont pas forcément dans une autre, même si les interprétations se correspondent sur les formules atomiques. Cela vient du fait que les quantifications ne vont pas faire référence aux mes ensembles sous-jacent. En mathématiques “usuelles” (qui s’appuient implicitement sur la théorie des ensembles) on distinguerait les formules en relativisant les quantificateurs. Par exemple x∈ℕ, ∃ y∈ℕ, y < x (qui est faux) versus x∈ℤ, ∃ y∈ℤ, y < x qui est vrai.

Propriétés de la valeur d’une formule dans une interprétation

On vérifie que la définition de la valeur de vérité d’une formule est bien compatible avec l’opération de renommage des variables liées dans les formules. C’est-à-dire que si yVL(P) et P[xy] est bien définie alors valI(ρ,(∀ x, P))=valI(ρ,(∀ y, P[xy])) et valI(ρ,(∃ x, P))=valI(ρ,(∃ y, P[xy]))

Proposition 2   La valeur d’un terme ne dépend que de la valeur de l’environnement sur les variables de ce terme et de l’interprétation des symboles de fonction et des constantes qui apparaissent dans ce terme.
La valeur de vérité d’une formule ne dépend que de la valeur de l’environnement sur les variables libres de cette formule et de l’interprétation des symboles de fonction, constantes et relations qui apparaissent dans la formule.

Preuve: La preuve se fait sans difficulté par récurrence sur la structure du terme puis de la formule.

En particulier pour un terme clos ou une formule close, la valeur est indépendante de l’environnement et on écrira simplement valI(P) au lieu de valI(ρ,P). On omettra également l’indice I lorsque l’interprétation est implicite dans le contexte.

2.1.4  Lien entre substitution et valeur de vérité

La propriété ci-dessous fait le lien entre substitution et environnement. On supose que l’on a une formule A qui contient une variable libre x et un terme t. Remplacer x par t dans A puis calculer la valeur de A[xt] revient à d’abord évaluer le terme t en une valeur v puis calculer la valeur de A (qui contient la variable x) dans un environnement où x a la valeur v.

Proposition 3 (Vérité et substitution)   Soit une formule P qui contient une variable libre x et soit t un terme. On suppose que la formule substituée P[xt] est définie (pas de capture). Soit ρ un environnement. Interpréter la formule dans laquelle on remplace x par t revient à interpréter la formule de base en complétant l’environnement avec pour valeur associée à la variable x, l’interprétation du terme t.
valI(ρ,P  [x← t]) = valI(ρ+{xvalI(ρ,t)},P)

Preuve: La preuve se fait en montrant d’abord un résultat analogue pour les termes.

Soit u un terme, on a :

valI(ρ,u  [x← t]) = valI(ρ+{xvalI(ρ,t)},u)

Ce premier résultat se montre par simple récurrence sur la structure du terme u, de la manière suivante :

On montre ensuite par récurrence sur la structure de la formule P que pour n’importe quel environnement ρ, on a

valI(ρ,P  [x← t]) = valI(ρ+{xvalI(ρ,t)},P)

On ne montre ici que le cas des formules atomiques R(u1,…,un) et le cas d’une formule quantifiée x, A.

2.2  Validité et satisfiabilité

La vérité d’une formule se définit par rapport à une interprétation qui fixe le sens des symboles de fonction et de prédicats et un environnnement qui détermine la valeur des variables libres. Lorsqu’on a juste une formule, elle peut être vraie dans toutes les interprétations et tous les environnements possibles, dans aucunes et aucuns environnement ou bien être vraie dans certaines interprétations et certains environnements et fausse dans d’autres. Si de plus la formule a des variables libres, sa vérité peut dépendre de l’environnement.

2.2.1  Définitions

Définition 1 (Validité, satisfiabilité, modèle)   Soit A, une formule du calcul des prédicats sur une signature (F,R). On étend ces notions à un ensemble E fini ou infini de formules:

Une formule valide est a fortiori satisfiable mais le contraire est faux. Par contre la négation nous permet de passer de la validité à la satisfiabilité.

Proposition 1 (Lien entre validité et satisfiabilité)   La formule A est valide si et seulement si ¬ A est insatisfiable.

Preuve: La formule A est valide si et seulement si la formule A est vraie dans toute interprétation de la signature et tout environnement. Ceci est équivalent à dire que la formule ¬ A est fausse dans toute interprétation de la signature et tout environnement, ce qui est la définition de insatisfiable.

Exercice 2   Dire si les formules suivantes sont valides, satisfiables, insatisfiables :
Proposition 2   

2.2.2  Substitution et validité

La validité et l’insatisfiabilité qui sont des propriétés de toutes les interprétations ne changent pas lorsque l’on effectue une substitution dans une formule ou un ensemble de formules.

Remplacement d’une variable par un terme

Les réciproques sont fausses. Si on prend une signature avec un prédicat unaire Q et une constante c. La formule Q(x)⇒ Q(c) n’est pas valide. En effet il suffit de prendre une interprétation avec deux éléments 0,1 on interprète la constante c par la valeur 0. On choisit d’avoir QI(1) vrai et QI(0) faux. Si Q(x)⇒ Q(c) était valide alors la formule serait vraie dans l’interprétation ainsi définie et avec un environnement dans lequel x a la valeur 1, ce qui n’est pas le cas. Maintenant si on substitue la variable x par la constante c on obtient la formule Q(c)⇒ Q(c) qui est évidemment valide.

On a le même comportement avec l’insatisfiabilité en choisissant comme formule P la formule Q(x)∧¬ Q(c). La formule P elle-même est satisfiable (prendre la même interprétation que précédemment). Par contre si on remplace x par la constante c on obtient la formule Q(c)∧¬ Q(c) qui est évidemment insatisfiable.

La satisfiabilité simple n’est pas préservée, au contraire on a que si P[xt] est satisfiable alors P est satisfiable mais le contraire est faux comme le montre l’exemple précédent.

Remplacement d’un symbole de prédicat par une formule

Lorsqu’on écrit une formule comme A∨ ¬ A, le symbole A peut correspondre à une variable mathématique qui représente n’importe quelle formule de la logique, ou au contraire le symbole A peut être une variable propositionnelle (symbole de prédicat d’arité 0), auquel cas on a exactement une formule syntaxique qui est différente d’autres formules de même format comme ⊥∨ ¬ ⊥. Nous allons montrer que l’ambiguité entre ces deux points de vue ne pose pas de problème, car on peut passer de l’un à l’autre sans difficulté.

Remplacer une variable propositionnelle par une formule.

Généralisons l’exemple de A∨ ¬ A et supposons que l’on a une formule P dans laquelle il y a une variable propositionnelle X. On suppose que P est valide et on veut montrer que si on remplace la variable X par n’importe quelle formule A alors la formule obtenue reste valide.

On commence par définir l’opération de remplacement d’une variable propositionnelle par une formule.

Définition 2 (Remplacement d’une variable propositionnelle par une formule, P[XQ])   Soit P et Q des formules et X une variable propositionnelle, le remplacement de X par Q dans P est une formule notée P[XQ] qui est définie de manière récursive sur la structure de P.
Proposition 3   Soit P et Q des formules et X une variable propositionnelle, si P est une formule valide (resp. insatisfiable) alors il en est de même de la formule obtenue en remplaçant X par Q dans P.

Preuve: Nous allons faire la preuve dans le cas de la validité. Le résultat découle du fait que dans une interprétation I et un environnement ρ quelconques, la valeur de P[XQ] est égale à la valeur de P dans un environnement dans lequel la variable X a pour interprétation la valeur de Q. Ce résultat s’obtient facilement par récurrence sur la structure de P.

Maintenant si une formule est valide, elle est vraie tout le temps donc en particulier si on fixe une valeur pour une de ses variables (ici X).

Remplacer un symbole de prédicat par une formule paramétrée.

On peut généraliser la construction précédente pour remplacer un symbole de prédicat par une formule. Le symbole de prédicat est utilisé associé à des termes, ce qui nous permet d’utiliser des formules paramétrées par des variables qui pourront être instanciées dans le remplacement.

Soit une formule P qui est construite sur une signature qui comporte un symbole de relation n-aire R. Soit une formule Q et n variables x1,…,xn. On peut remplacer dans la formule P toutes les sous-formules atomiques de la forme R(t1,…,tn) par la formule Q[x1t1,…,xntn]. On note le résultat de cette opération P[R(x1,…,xn)← Q].

Exemple 1   Soit une signature avec une constante c et un symbole de prédicat unaire Q et un symbole d’égalité binaire.

Soit A la formule P(c)⇒∃ x,P(x) alors A[P(z)← z=z] est défini comme la formule :

(c=c)⇒∃ x,x=x

La définition reprend exactement les lignes du remplacement d’une variable propositionnelle sauf dans le cas de base dans lequel il faut de plus remplacer les paramètres de la formule Q par les arguments du symbole de prédicat R.

Définition 3 (Remplacement d’un symbole de prédicat par une formule, P[R(x1,…,xn)← Q])   Soit P et Q des formules, R un symbole de prédicat d’arité n et x1,…,xn, n variables d’objet. Le remplacement de R par Q paramétré par x1,…,xn dans P est une formule notée P[R(x1,…,xn)← Q] qui est définie de manière récursive sur la structure de P.

Tout comme dans le cas d’une variable proositionnelle, la validité est préservée lorsqu’on remplace un symbole de prédicat par une formule arbitraire.

Proposition 4   Soit une formule P qui est construite sur une signature qui comporte un symbole de relation n-aire R. Soit une formule Q et n variables x1,…,xn.

Si P est valide (resp. insatisfiable) alors il en est de même de la formule P[R(x1,…,xn)← Q].

Preuve: On se donne une interprétation quelconque I pour les symboles de la formule P[R(x1,…,xn)← Q] et un environnement ρ pour les variables libres. On doit montrer que dans cette interprétation la formule P[R(x1,…,xn)← P] est vraie (resp. fausse).

Tous les symboles et les variables qui apparaissent dans P apparaissent aussi dans P[R(x1,…,xn)← P] à l’exception peut-être de R. On construit une interprétation I qui est définie comme I pour tous les symboles sauf dans le cas de R pour lequel on pose RI(d1,…,dn) est vrai si et seulement si valI(ρ+{x1d1,…,xndn},Q) est vrai.

Pour n’importe quel environnement ρ, on a

valI(ρ,P)=valI(ρ,P[R(x1,…,xn)← Q])

(cette propriété se montre par récurrence sur la structure de la formule P).

Si P est valide, on a valI(ρ,P) est vrai. On en déduit que valI(ρ,P[R(x1,…,xn)← Q]) est vrai et comme cela vaut pour toutes les interprétations I, on en déduit la validité de la formule P[R(x1,…,xn)← Q].

2.3  Conséquence logique, equivalence

Définition 1 (Conséquence logique, équivalence)   Si E est un ensemble de formules et A une formule, on dit que A est conséquence logique de E et on note EA si toute interprétation I et environnement ρ qui rendent vraies les formules de E rendent aussi vraie la formule A. C’est-à-dire que si I,ρ⊨ B pour toutes les formules BE (noté I,ρ⊨ E) alors I,ρ⊨ A
On dit que
A et B sont des formules équivalentes et on écrit AB si AB et BA. C’est-à-dire que I,ρ⊨ A si et seulement si I,ρ⊨ B.

2.3.1  Propriétés de la conséquence logique

Proposition 1   Si E est un ensemble de formules et A une formule, on a EA si et seulement si pour toute interprétation
Proposition 2   Pour toute formule P et ensemble de formules E, on a les propriétés suivantes:

Preuve: On traite ici le cas de formules closes pour ne pas avoir à introduire d’environnement mais la preuve est identique s’il y a des variables en introduisant l’environnement ρ en plus de l’interprétation I.

La relation de conséquence logique est stable par substitution et remplacement. On étend les notations P[xt] et P[R(x1,…,xn)← Q] a un ensemble de formules E en appliquant la transformation à chacune des formules de l’ensemble.

Proposition 3   Soit P une formule, E un ensemble de formules tel que EP.

Preuve: La preuve suit les lignes des preuves de préservation de la validité par substitution en utilisant le fait que pour n’importe quelle formule P, interprétation I et environnement ρ, on a (proposition 3

valI(ρ,P  [x← t]) = valI(ρ+{xvalI(ρ,t)},P)

et (d’après la preuve de la proposition 3)

valI(ρ,P[R(x1,…,xn)← Q])=valI(ρ,P)

avec I définie comme I pour tous les symboles sauf R pour lequel on pose RI(d1,…,dn) est vrai si et seulement si valI(ρ+{x1d1,…,xndn},Q) est vrai.

On en déduit facilement les mêmes propriétés pour l’équivalence. Soit P1,P2 deux formules telles que P1P2. On a P1[xt]≡ P2[xt] et P1[R(x1,…,xn)← Q]≡ P2[R(x1,…,xn)← Q].

Conséquence et opérateurs logiques.

La propriété de conséquence logique se combine avec les connecteurs et les quantificateurs.

Proposition 4   Soit E un ensemble de formules, A1,A2,B1 et B2 des formules. On suppose que E,A1B1 et E,A2B2, on a alors

Preuve: La preuve se fait très facilement en utilisant la définition de . On fera attention à la négation et l’implication qui “changent le sens” de la relation. Au niveau des quanticateurs, la condition que la variable x n’est pas libre dans l’ensemble E est essentielle, comme le montre l’exemple suivant avec deux prédicats P(x) et Q(x). On a P(x), P(x)⇒ Q(x)⊨ Q(x) qui est trivialement vrai. Si maintenant on pouvait appliquer la règle avec E =def {P(x)}, A1 =def  P(x)⇒ Q(x) et B1 =def  Q(x), on en déduirait P(x), (∀ x,P(x)⇒ Q(x))⊨ ∀ x,Q(x). Il suffit de prendre un modèle avec deux éléments {0,1} avec P(0) et Q(0) vrai, P(1) et Q(1) faux. On a bien (pour x↦ 0), P(x) et x,P(x)⇒ Q(x) qui sont vrais mais x,Q(x) est faux.

2.3.2  Equivalences remarquables

Les équivalences ci-dessous sont des propriétés de base de la logique qui pourront être utilisées sans justification.

Cas propositionnel

Dans le cas propositionnel, on prouve les équivalences par exemple en montrant que les deux formules ont la même table de vérité.

Lois algébriques.

L’ensemble des booléens avec les opérations de conjonction et de disjonction forme ce que l’on appelle une Algèbre de Boole.

Certains connecteurs peuvent se définir en fonction d’autres :

¬ P ≡ P ⇒ ⊥           P⇒ Q ≡ ¬ P ∨ Q          P⇔ Q ≡ (P ⇒ Q) ∧ (Q ⇒ P) ≡ (P ∧ Q) ∨ (¬ P ∧ ¬ Q)
Exercice 3   Donner des formules équivalentes pour ⊥⇒ P, ⊤⇒ P, P⇒ ⊤

Lois de de Morgan

Les lois de de Morgan établissent le comportement de la négation par rapport aux autres connecteurs :

¬ ⊥≡ ⊤
¬ ⊤≡ ⊥
¬¬ P≡ P
    
¬(P∧ Q)≡ ¬ P ∨ ¬ Q
¬(P∨ Q)≡ ¬ P ∧ ¬ Q
¬(P⇒ Q)≡ P ∧ ¬ Q
    
¬ ∃ x,P(x)≡ ∀ x,¬ P(x)
¬ ∀ x,P(x)≡ ∃ x,¬ P(x)

En utilisant les lois de de Morgan et les formules équivalentes pour l’implication, on peut associer à toute formule, une formule équivalente dans laquelle les négations ne portent que sur les formules atomiques de la forme R(t1,…,tn) qui commencent par un symbole de prédicat et qui de plus ne contient pas le symbole .

Définition 2 (Forme normale de négation)   Une formule est dite en forme normale de négation si elle ne contient que les connecteurs logiques ∧,∨, les quantificateurs ∀,∃ et que le symbole de négation n’apparait que devant une formule atomique R(t1,…,tn).

Equivalence et quantificateur

Proposition 5   On se place dans un langage avec deux symboles de prédicat unaire H et G et un symbole de prédicat binaire R. Les équivalences suivantes sont vérifiées :
Exercice 4   En utilisant les équivalences précédentes, montrer les équivalences suivantes : Une application de la dernière équivalence est le principe dit du “buveur” : dans un bar quelconque, il existe une personne telle que si cette personne boit alors tout le monde boit. Il suffit de prendre pour G(x) la formule x boit et pour A la formule x, x boit

D’autres équivalences de même nature ne sont pas vérifiées comme le montre l’exercice suivant.

Exercice 5   Trouver des interprétations qui justifient les résultats suivants :

2.4  Modèles particuliers

On rappelle qu’une interprétation d’un langage est constituée d’un ensemble non vide, appelé le domaine et qui représente l’univers dans lequel les objets du langage sont interprétés et pour chaque symbole de fonction ou de prédicat, une fonction ou une relation sur le domaine qui explicite l’interprétation du symbole du langage correspondant. Un modèle d’une formule close (ou d’un ensemble de formules closes) est une interprétation du langage qui rend vraie la formule (ou toutes les formules de l’ensemble). On parle de modèle d’un langage comme un synonyme d’interprétation du langage.

Certaines propriétés comme la validité ou l’insatisfiabilité s’appuient sur le caractère vrai ou faux d’une formule dans toutes les interprétations, ce qui en général représente une infinité de situations. Par contre la satisfiabilité demande juste d’exhiber un seul modèle de la formule, il suffit alors de bien choisir. Nous allons dans ce chapitre étudier quelques classes d’interprétations qui peuvent être utiles.

2.4.1  Modèle fini

On s’intéresse à un domaine fini particulier D={d1;…;dn}. On supposera que l’on a dans la signature du langage des termes sans variable libre {c1;…;cn} tels que val(ci)=di. On peut toujours se ramener à ce cas en introduisant dans le langage de nouvelles constantes {c1;…;cn} et en étendant l’interprétation des symboles de départ avec pour l’interprétation de ci la valeur di.

Dans une telle interprétation, pour toute formule P et toute variable libre x dans P, les deux formules suivantes sont vraies.

(∀ xP) ⇔ (P[x← c1] ∧ … ∧ P[x← cn])       (∃ xP) ⇔ (P[x← c1] ∨ … ∨ P[x← cn])

Si on applique cette technique à tous les quantificateurs d’une formule close on se retrouve avec une formule qui ne contient que des connecteurs propositionnels et qui ne contient plus de variables. On peut alors remplacer chaque sous-formule atomique R(t1,…,tp) par R(ci1,…,cip) si val(tk)=dik. On peut maintenant introduire une variable propositionnelle pour chaque sous-formule atomique (cela peut faire beaucoup de variables) et utiliser un solveur propositionnel pour calculer les propriétés de la formule.

Exercice 6   On se place dans un langage qui contient n constantes {c1;…;cn} et un symbole de prédicat binaire pour l’égalité.

On s’intéresse uniquement aux interprétations dans lesquelles le symbole d’égalité est interprété comme l’égalité sur le domaine. C’est-à-dire que l’on aura t=u vrai dans une interprétation I et un environnement ρ si et seulement si les termes t et u ont la même valeur dans le domaine, c’est-à-dire valI(ρ,t)=valI(ρ,u).

  1. Que peut-on dire du cardinal du domaine d’une interprétation qui rend vraie la formule x, x=c1∨… ∨ x=cn?
  2. On se donne un symbole de prédicat P unaire. On rappelle que dans la théorie de l’égalité, un des axiomes exprime la stabilité de ce prédicat par rapport à l’égalité, à savoir x y, x=y ⇒ (P(x)⇒ P(y)).

    Montrer que (∀ x, x=c1∨… ∨ x=cn), (P(c1) ∧ … ∧ P(cn)) ⊨ ∀ x, P(x)

    en déduire (∀ x, x=c1∨… ∨ x=cn), (∃ x, P(x)) ⊨ P(c1) ∨ … ∨ P(cn)

Exercice 7   On se donne un symbole de prédicat P unaire. On veut montrer que la formule (∃ x,P(x))⇒ ∀ x,P(x) est vraie dans toute interprétation qui a juste un élément.
  1. Trouver une formule A tel que ce problème soit équivalent à montrer que A ⊨ (∃ x,P(x))⇒ ∀ x,P(x)
  2. En déduire la propriété souhaitée.
  3. Que peut-on dire de la formule si le domaine de l’interprétation a plus de deux éléments ?

2.4.2  Modèle de Herbrand

Pour établir qu’une formule est insatisfiable, il faut a priori raisonner sur tous les modèles et en particulier on peut choisir un domaine arbitraire pour l’interprétation. Le logicien Jacques Herbrand (1908-1931) a établi un résultat très important qui permet de restreindre la recherche à un seul domaine, appelé domaine de Herbrand, qui est le domaine des termes clos. A ce domaine est associé une interprétation des termes de manière dite syntaxique.

Dans cette partie, on introduit la notion de modèle de Herbrand et on va montrer que pour certaines formules (dites universelles), la satisfiabilité de la formule se ramène à l’existence d’un modèle de Herbrand dans laquelle la formule est vraie. On verra dans le chapitre 3 que l’on peut toujours ramener la question de la satisfiabilité d’une formule quelconque à la satisfiabilité d’une formule universelle. Les modèles de Herbrand seront donc un outil pour simplifier en général la recherche d’un modèle d’une formule.

Modèle des termes clos

Un langage du premier ordre est défini par une signature formée d’un ensemble F de symboles de fonctions (dont les constantes) et d’un ensemble R de symboles de prédicats.

On rappelle que les termes clos sont ceux formés sur la signature F qui ne contiennent pas de variable, on note T(F) l’ensemble des termes clos. S’il n’y a pas de constante dans l’ensemble F alors l’ensemble des termes clos est vide. On montre ce résultat par l’absurde en supposant que l’ensemble T(F) n’est pas vide et en regardant le terme clos de plus petite taille que l’on note t : comme il n’y a pas de constante, le terme t commence par un symbole de fonction qui a donc au moins un argument u, or le terme u est lui-même clos et sa taille est strictement plus petite que celle de t, d’où une contradiction.

Comme un domaine doit être un ensemble non vide, dans toute la suite de cette section, on supposera que la signature F contient au moins une constante et on l’ajoutera si nécessaire à la signature des formules que l’on souhaite traiter.

Définition 1 (Domaine de Herbrand)   Le domaine de Herbrand d’un langage logique de signature (F,R) est l’ensemble T(F) des termes clos formés à partir des symboles de F.
Exemple 1   Si la signature est formée d’une constante a et d’un symbole de fonction unaire f, le domaine de Herbrand contient les termes a, f(a), f(f(a)),…, fn(a),…

Le domaine de Herbrand est formé de termes clos qui sont représentés comme des arbres et donc deux termes syntaxiquement différents correspondent à deux éléments différents. Si on regarde les entiers avec la constante 0, la fonction successeur unaire S, la fonction binaire +, alors les termes clos 0+S(0), S(0)+0 et S(0) sont tous différents. L’interprétation de l’égalité dans les entiers ne correspondra pas à l’égalité du domaine mais à une relation d’équivalence qui identifiera les trois expressions précédentes.

Une fois que l’on connait le domaine il faut interpréter chaque symbole de la signature. Dans le cas des interprétations de Herbrand, c’est particulièrement simple car chaque symbole de fonction est interprété par lui même.

Définition 2 (Interprétation de Herbrand (fonctions))   Une interprétation de Herbrand est une interprétation H construite sur le domaine T(F) dans laquelle chaque symbole de fonction f d’arité n est interprété par une fonction fH définie par :
fH(t1,…,tn
def
=
 
  f(t1,…,tn)     tiT(F)
Proposition 1   Dans n’importe quelle interprétation de Herbrand, la valeur d’un terme clos est lui-même.

Preuve: La preuve se fait par simple récurrence sur la structure des termes.

Dans une interprétation, il faut également définir l’interprétation des symboles de prédicat. Il faut donc associer à chaque symbole de prédicat R, l’ensemble des éléments du domaine qui rendent vraies la formule. Dans une interprétation de Herbrand, les éléments sont des termes clos. Interpréter le symbole de prédicat R revient donc à définir l’ensemble des n-uplets de termes clos (t1,…,tn) tels que R(t1,…,tn) est vrai.

Définition 3 (Base de Herbrand)   La base de Herbrand est l’ensemble des formules atomiques closes construites sur le langage.
Exemple 2   Dans un langage avec une constante a, un symbole de fonction t, un symbole de prédicat uniare P et un symbole de prédicat binaire R, la base de Herbrand est composé des formules atomiques P(a),P(f(a))P(fn(a)),…,R(fn(a),fp(a)),…

Il y a en général une infinité de formules atomiques closes. Comme il n’y a qu’un nombre fini de symboles dans une formule, la base de Herbrand associée aux symboles d’une formule sera toujours finie ou dénombrable.

Un modèle de Herbrand fixe l’interprétation des termes mais pas celle des prédicats. Il y a autant de modèle de Herbrand que de manière d’assigner des valeurs de vérité aux formules atomiques closes.

Définition 4 (Modèle de Herbrand)   Une modèle de Herbrand est défini en assignant des valeurs de vérité à chacune des formules de la base de Herbrand (c’est-à-dire à chaque formule atomique close).

Théorème de Herbrand

Nous allons montrer maintenant le théorème de Herbrand qui nous permet d’établir la satisfiabilité d’une formule en ne cherchant des modèles que parmi les modèle de Herbrand.

Proposition 2   Une formule close sans quantificateur est satisfiable si et seulement si il existe une interprétation de Herbrand qui rend vraie la formule.

Preuve: Si la formule est close et sans quantificateur, alors toutes les sous-formules atomiques sont dans la base de Herbrand, la formule se comporte donc comme une formule propositionnelle (en considérant les éléments de la base de herbrand comme des variables propositionnelles). S’il y a une interprétation de Herbrand qui rend vraie la formule, alors la formule est satisfiable. Si maintenant on a un modèle I de la formule alors on construit une interprétation de Herbrand en prenant comme valeur pour les objets de la base de Herbrand la valeur de la formule atomique (close) dans l’interprétation I. La valeur de la formule atomique R(t1,…,tn) est donc définie comme valI(R(t1,…,tn)). La valeur de la formule initiale est alors la même dans l’interprétation I et dans l’interprétation de Herbrand et est donc vraie.

On vient de montrer que dans le cas de formules closes sans quantificateur, il suffit de s’intéresser aux interprétations de Herbrand. On peut généraliser ce résultat à des formules un peu plus complexes, à savoir les formules dites universelles.

Définition 5 (Formule universelle)   Une formule logique est dite universelle si elle est de la forme
∀ x1… xn,A
avec A une formule sans quantificateur.
Proposition 3   Une formule universelle close est satisfiable si et seulement si il existe une interprétation de Herbrand qui rend vraie la formule.

Preuve: S’il existe une interprétation de Herbrand qui rend vraie la formule alors celle-ci est satisfiable.

Montrons le sens inverse. On suppose que la formule est vraie dans une interprétation I quelconque. On cherche à construire un modèle de Herbrand H qui rend vraie la formule. La valeur de la formule atomique R(t1,…,tn) dans la base de Herbrand est donc définie comme valI(R(t1,…,tn)).

Il suffit de montrer que pour tout terme t1,…,tnT(F) la valeur de A dans l’environnement ι =def  {x1t1,…,xntn} est vraie dans l’interprétation H. Or valH(ι,A)=valH(A[x1t1;…,xntn]) en utilisant la propriété 3 et le fait que dans un modèle de Herbrand la valeur d’un terme clos est lui-même c’est-à-dire que valH(t)=t. Comme notre modèle de Herbrand a été choisi pour donner la même valeur aux formules atomiques que I et que A[x1t1;…,xntn] est une formule propositionnelle close, on a valH(A[x1t1;…,xntn])=valI(A[x1t1;…,xntn])=valI({x1valI(t1),…,xnvalI(tn)},A)=V car x1xn,A est vraie dans le modèle I.

Définition 6 (Instance close d’une formule)   Soit une formule A dont les variables libres sont {x1,…,xn}. Une formule de la forme A[x1t1,…,xntn] avec t1,…,tnT(F) est appelée instance close de A.

Avant de montrer le théorème de Herbrand lui-même, on énonce un autre résultat important de la logique propositionnelle qui est le théorème dit de compacité.

Proposition 4 (Théorème de compacité)   Soit E un ensemble possiblement infini de formules propositionnelles, E est satisfiable si et seulement si tout sous-ensemble fini de formules de E est satisfiable.

Dire qu’un ensemble infini de formules E est satisfiable, c’est dire qu’il y a une interprétation qui rend vraie toutes les formules de E. Dire que tous les sous-ensembles finis de formules est satisfiable, c’est dire que pour chaque sous-ensemble fini GE, on a une interprétation qui satisfait les formules de G. La force de ce théorème est de dire que l’on peut “assembler” les interprétations locales pour construire une solution globale.

Une conséquence immédiate de ce théorème est que si un ensemble infini de formules propositionnelles est insatisfiable alors il existe un sous-ensemble fini de ces formules qui est insatisfiable.

Proposition 5 (Théorème de Herbrand)   Soit B =def  ∀ x1xn,A une formule universelle close du calcul des prédicats avec A sans quantificateur.

Preuve: On montre d’abord que la satisfiabilité de la formule x1xn,A se ramène à la satisfiabilité d’un ensemble dénombrable de formules closes {A[x1t1,…,xntn] |t1,…,tnT(F)}. On utilise les mêmes arguments que précédemment, x1xn,A est vraie dans une interprétation de Herbrand si pour tous les termes t1,…,tnT(F), A[x1t1;…,xntn] est vraie dans ce modèle. Et donc en assemblant les éléments précédents, on a que x1xn,A est satisfiable si et seulement si l’ensemble (fini ou dénombrable) de toutes les formules A[x1t1;…,xntn] pour t1,…,tnT(F) est satisfiable.

On utilise ensuite le théorème de compacité pour conclure.

On revient au problème de la satisfiabilité d’une formule close dans le calcul des prédicats. On remarque que le domaine de Herbrand qui nous intéresse est celui formé de la signature correspondant uniquement aux symboles qui apparaissent dans la formule A, auquel on ajoute éventuellement une constante.

Exemple 3   Soit la formule ¬ ((∀ x,P(x))⇒ ∃ x,P(x)) elle est équivalente à (∀ x,P(x))∧ ∀ xP(x) et donc à x y,P(x)∧ ¬ P(y). Le domaine de Herbrand est composé d’une seule constante a et la base de Herbrand a une seule formule atomique close P(a). Il y a donc deux modèles de Herbrand. Celui dans lequel P(a) est vrai et celui dans lequel P(a) est faux. Dans les deux modèles, la formule P(a)∧ ¬ P(a) qui est la seule instance close de P(x)∧ ¬ P(y) est fausse. On peut en déduire que la formule x y,P(x)∧ ¬ P(y) est insatisfiable et donc que (∀ x,P(x))⇒ ∃ x,P(x) est valide.
Exercice 8   Soit la formule x y, (P(x)∧ Q(y) ∧ (¬ P(a) ∨ ¬ Q(a))).
Exercice 9  

Conclusion

Le théorème de Herbrand nous permet de ramener un problème sémantique général (existence d’un modèle) du premier ordre (avec quantificateurs) à un problème propositionnel que l’on va pouvoir traiter avec des outils de nature syntaxique. Même si le calcul propositionnel est décidable, cela ne donne pas une méthode de décision pour le calcul des prédicats. En effet l’ensemble des formules dont on doit prouver le caractère insatisfiable est infini en général. Si l’ensemble est insatisfiable, il y aura un sous-ensemble fini insatisfiable, et on pourra le trouver en énumérant tous les ensembles. Par contre si l’ensemble est satisfiable, alors n’importe quel sous-ensemble fini est satisfiable, et donc on ne trouvera pas de sous-ensemble insatisfiable mais on ne pourra pas conclure par une simple énumération.

Dans le chapitre 3, nous allons étudier des méthodes de transformation de formules qui nous permettront entre autres de nous ramener au cas des formules universelles et dans le chapitre 4, nous étudierons différentes techniques pour prouver la validité ou la satisfiabilité des formules en raisonnant uniquement sur leur forme syntaxique.


Previous Up Next