michel lévy 29 avril 2009lig-membres.imag.fr/michel.levy/enseignement/inf242_2008...chapitre 1...

95
Introduction à la logique Michel Lévy 29 avril 2009

Upload: voanh

Post on 15-Jun-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Introduction à la logique

Michel Lévy

29 avril 2009

Page 2: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

2

Page 3: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Table des matières

1 Logique propositionnelle 71.1 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.1.1 Formules strictes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.1.2 Formules à priorité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.1.3 Notations booléennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.2 Sens des formules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.2.1 Sens des connectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.2.2 Valeur d’une formule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.2.2.1 Équivalence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.2.2.2 Valide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.2.2.3 Modèle, Satisfaisable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.2.2.4 Conséquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.3 Les connectives et le langage mathématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.4 Substitution et remplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.4.1 Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.4.2 Remplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.5 Équivalences remarquables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.6 Algèbre de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.7 Dualité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.8 Formes Normales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.8.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.8.2 Transformation en sommes de monômes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.8.2.1 Transformation de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.8.2.2 Ordre des transformations et simplifications . . . . . . . . . . . . . . . . . . . . . 17

1.8.3 Utilisation des sommes de monômes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.8.4 Transformation en produit de sommes de littéraux . . . . . . . . . . . . . . . . . . . . . . . 17

1.9 Fonctions booléennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.9.1 Fonctions booléennes et somme de monômes . . . . . . . . . . . . . . . . . . . . . . . . . . 181.9.2 Fonctions booléennes et produit de clauses . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.10 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2 Résolution propositionnelle 252.1 Système de la résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.2 Complétude du système de la résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.2.1 Affectation d’un littéral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.2.2 Complétude de la résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.2.3 Restriction de la résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.3 Stratégie complète . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.3.1 Clauses et ensembles de littéraux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.3.2 Réduction d’un ensemble de clauses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3

Page 4: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

2.3.3 Construction de toutes les clauses déduites d’un ensemble de clauses . . . . . . . . . . . . . 312.3.3.1 Plan de la construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.3.3.2 Construction des suites ∆i(i≥0) et Θi(i≥0) . . . . . . . . . . . . . . . . . . . . . . . 31

2.3.4 Clauses minimales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.4 Algorithme de Davis et Putnam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.4.1 Suppression des clauses qui ont des littéraux isolés . . . . . . . . . . . . . . . . . . . . . . . 332.4.2 Résolution unitaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.4.3 Algorithme de Davis et Putnam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3 Déduction Naturelle 393.1 Le système formel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.1.1 Les règles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.1.2 Preuve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.1.2.1 Brouillon de preuve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.1.2.2 Contexte des lignes d’un brouillon de preuve . . . . . . . . . . . . . . . . . . . . . 413.1.2.3 Formules utilisables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.1.2.4 Preuves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.2 Cohérence de la déduction naturelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.3 Complétude de la déduction naturelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4 Logique du premier ordre 494.1 Le langage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.1.1 Formules strictes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.1.1.1 Le vocabulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.1.1.2 Termes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.1.1.3 Formules atomiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.1.1.4 Formules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.1.2 Formules à priorité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504.1.3 Variables libres et liées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.1.3.1 Occurrences libres et liées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.1.3.2 Variables libres et liées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.2 Le sens des formules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.2.1 Interprétation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.2.2 Sens des termes et des formules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.2.2.1 Sens des termes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.2.2.2 Sens des formules atomiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.2.2.3 Sens des formules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.2.2.4 Modèle, validité, conséquence, équivalence . . . . . . . . . . . . . . . . . . . . . . 54

4.2.3 Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.2.4 Instanciation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.2.5 Interprétation finie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.2.5.1 Les entiers et leurs représentations . . . . . . . . . . . . . . . . . . . . . . . . . . 564.2.5.2 Expansion d’une formule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.2.5.3 Interprétation et assignation propositionnelle . . . . . . . . . . . . . . . . . . . . . 564.2.5.4 De l’assignation à l’interprétation . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.2.5.5 De l’interprétation à l’assignation . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.2.5.6 Recherche d’un modèle fini d’une formule fermée . . . . . . . . . . . . . . . . . . 57

4.2.5.6.1 Formule fermée sans symbole de fonction . . . . . . . . . . . . . . . . . 574.2.5.6.2 Formule fermée avec symbole de fonction . . . . . . . . . . . . . . . . . 57

4.2.6 Substitution et remplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4

Page 5: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

4.3 Équivalences remarquables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.3.1 Relation entre ∀ et ∃ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.3.2 Déplacement des quantificateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.3.3 Changement de variables liées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5 Déduction Naturelle : quantificateurs et égalité 655.1 Les règles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.1.1 Règles des quantificateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.1.2 Les règles de l’égalité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.1.3 Tactiques de preuves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.1.3.1 Raisonner en avant avec une hypothèse d’existence . . . . . . . . . . . . . . . . . 685.1.3.2 Raisonner en arrière pour généraliser . . . . . . . . . . . . . . . . . . . . . . . . . 685.1.3.3 Un exemple d’application des tactiques . . . . . . . . . . . . . . . . . . . . . . . . 68

5.1.3.3.1 Plan de la preuve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695.1.3.3.2 Application de la tactique utilisant une hypothèse d’existence . . . . . . . 695.1.3.3.3 Application de la tactique pour obtenir une conclusion générale . . . . . . 69

5.2 Cohérence du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.2.1 Propriétés de la conséquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.2.2 Preuve de la cohérence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

6 Base de la démonstration automatique 756.1 Interprétation de Herbrand et théorème de Herbrand . . . . . . . . . . . . . . . . . . . . . . . . . . . 756.2 Skolémisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

6.2.1 Exemples et propriétés de la skolémisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 786.2.2 Comment skolémiser une formule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

6.2.2.1 Transformation en formule normale . . . . . . . . . . . . . . . . . . . . . . . . . . 796.2.2.2 Transformation en formule propre . . . . . . . . . . . . . . . . . . . . . . . . . . 796.2.2.3 Élimination des quantificateurs existentiels . . . . . . . . . . . . . . . . . . . . . . 796.2.2.4 Transformation en formule universelle . . . . . . . . . . . . . . . . . . . . . . . . 80

6.2.3 Skolémiser un ensemble de formules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816.2.4 Forme clausale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

6.3 Résolution au premier ordre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836.3.1 Unification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

6.3.1.1 Définition de la solution la plus générale . . . . . . . . . . . . . . . . . . . . . . . 836.3.1.2 Algorithme d’unification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

6.3.1.2.1 Plan de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846.3.1.2.2 Les règles de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . 846.3.1.2.3 Correction de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . 856.3.1.2.4 Terminaison de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . 85

6.3.2 Règles de la résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866.3.2.1 Factorisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866.3.2.2 Copie d’une clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866.3.2.3 Résolvant binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866.3.2.4 Preuve par factorisation, copie et résolution binaire . . . . . . . . . . . . . . . . . 86

6.3.3 Complétude de la résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876.3.3.1 Résolution 1o ordre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876.3.3.2 Trois notions de preuve par résolution . . . . . . . . . . . . . . . . . . . . . . . . 886.3.3.3 Lemme du relèvement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

6.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

5

Page 6: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Appendices 93References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

6

Page 7: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Chapitre 1

Logique propositionnelle

IntroductionLa logique sert à préciser ce qu’est un raisonnement correct, indépendemment du domaine d’application. Un

raisonnement est un moyen d’obtenir une conclusion à partir d’hypothèses données. Un raisonnement correct ne ditrien sur la vérité de hypothèses, il dit seulement que de la vérité des hypothèses, on peut déduire la vérité de laconclusion.

On commence l’étude de la logique par les lois de la logique propositionnelle. La logique propositionnelle est lalogique sans quantificateurs, c’est-à-dire la logique qui s’interesse aux seules lois gouvernant les opérations logiquessuivantes ¬ (négation), ∧ (conjonction), ∨ (disjonction, autrement dit le ou),⇒ (implication) et⇔ (équivalence). Cesopérations sont aussi appelées les connectives.

Prenons un exemple, des hypothèses– Si Pierre est grand, alors Jean n’est pas le fils de Pierre– Si Pierre n’est pas grand, alors Jean est le fils de Pierre– Si Jean est le fils de Pierre alors Marie est la soeur de Jean

on déduit que : Marie est la soeur de Jean ou Pierre est grand".Dans le cas ci-dessus, on ne garde des hypothèses que leurs structures logiques, en désignant les phrases "Pierre est

grand", "Jean est le fils de Pierre", "Marie est la soeur de Jean" par les lettres p, j,m. Et l’on montre que les hypothèses

p⇒¬ j,¬p⇒ j, j⇒ m

impliquent la conclusion m∨ p, indépendemment de la nature des énoncés p, j,m en montrant que la formule

(p⇒¬ j)∧ (¬p⇒ j)∧ ( j⇒ m)⇒ m∨ p

est vraie quelque soit la vérité des propositions p, j,m.Nous restreindrons notre étude à la logique classique, qui est la logique à deux valeurs de vérité : cette logique est

celle des circuits combinatoires, ce qui explique sa grande importance pratique.

7

Page 8: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

1.1 Syntaxe

1.1.1 Formules strictesAvant de raisonner, on définit le langage dans lequel on va raisonner. Ce langage est celui des formules. On écrit

ces formules, avec le vocabulaire suivant :– les variables : une variable est un identificateur, avec ou sans indice.– les parenthèses– les connectives ∨,∧,⇒,⇔ appelées aussi disjonction (ou), conjonction (et), implication et équivalence.– les constantes > et ⊥ représentant respectivement le vrai et le faux.Les règles de construction des formules sont les suivantes :

Définition 1.1.1 (Formule)– Une variable est une formule.– > et ⊥ sont des formules– Si A est une formule alors ¬A est une formule– Si A et B sont des formules et si ◦ est une des opérations ∨,∧,⇒,⇔ alors (A◦B) est une formule.

Dans la suite, on utilise ◦ de la même façon pour désigner une quelconque des connectives binaires.

Exemple 1.1.1 L’expression (a∨ (¬b∧ c)) est une formule construite suivant ces règles.

L’interêt de cette définition des formules est que les parenthèses permettent de trouver sans ambiguïté la structure desformules qu’on peut visualiser par un arbre, ce qui est exprimé par le résultat suivant.

Théorème 1.1.1 Pour toute formule A, un et un seul de ces cas se présente : A est une variable, une constante, de laforme ¬B où B est une formule, ou s’écrit d’une unique façon sous la forme (B◦C) où B et C sont des formules.

Preuve : On prouve par récurrence sur la taille des formules, que le préfixe strict d’une formule n’est pas une formule.L’unicité de la décomposition des formules en résulte immédiatement. 2

Exemple 1.1.2 La structure de la formule (a∨ (¬b∧ c)) est mise en évidence par l’arbre suivant :∨

������

����

@@@

@@@@

a ∧

~~~~~~

~~~~

��@@@

@@@@

¬

��

c

b

1.1.2 Formules à prioritéPour éviter la surabondance des parenthèses, on définit un deuxième langage, l’ensemble des formules à priorité.

Définition 1.1.2 (Formule à priorité)– une variable est une formule à priorité– > et ⊥ sont des formules à priorité– si A est une formule à priorité alors ¬A est une formule à priorité– si A et B sont des formules à priorité alors A◦B est une formule à priorité– si A est une formule à priorité alors (A) est une formule à priorité

8

Page 9: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Noter (et démontrer) que toute formule est une formule à priorité.Les priorités sont les suivantes :

1. La négation est prioritaire, puis dans l’ordre des priorités décroissantes, on trouve la conjonction, la disjonction,l’implication et l’équivalence.

2. À priorité égale, la connective gauche est prioritaire, sauf pour l’implication

On considère qu’une formule à priorité est l’abréviation de la formule reconstituable en utilisant les priorités.

Exemple 1.1.3

– a∧b∨ c est l’abréviation de ((a∧b)∨ c)– a⇒ b⇒ c est l’abréviation de (a⇒ (b⇒ c))

Sauf exception, on identifie une formule et son abréviation. Autrement dit, ce qui nous interesse dans une formule, cen’est pas son écriture superficielle, c’est sa structure, qui est mise en évidence par la syntaxe «stricte».

1.1.3 Notations booléennesIl existe des notations condensées utilisées souvent dans le domaine du matériel, que l’on conseille d’utiliser dès

qu’on doit faire de gros calculs. Certaines connectives logiques sont notées différemment :

notations logiques notations booléennes¬ -∧ .∨ +⇔ =

La négation peut aussi être notée avec une barre au dessus de l’expression niée. Ainsi −a est aussi notée aussi a,−(a+b) est aussi notée a+b.

Afin de permettre l’omission du point, dans les notations booléennes, les variables n’ont qu’une seule lettre (avecou sans indice). Ainsi lorsque a et b sont des variables, des formules entre parenthèses ou sous une barre de négation,on peut abréger a.b en ab suivant une pratique usuelle en mathématiques.

1.2 Sens des formules

1.2.1 Sens des connectivesOn désigne par 0 (faux) et 1 (vrai) les valeurs de vérité. La constante > vaut 1 et la constante ⊥ vaut 0, ce qui

nous conduit, le plus souvent, à confondre les constantes et leurs valeurs, et à utiliser indifféremment >, 1 et vrai,respectivement ⊥, 0 et faux. Le sens des connectives logiques est donné par la table suivante :

x y ¬x x∨ y x∧ y x⇒ y x⇔ y0 0 1 0 0 1 10 1 1 1 0 1 01 0 0 1 0 0 01 1 0 1 1 1 1

Cette table indique les valeurs des formules de la première ligne suivant les valeurs assignées aux variables x et y.

1.2.2 Valeur d’une formuleChacun sait évaluer une formule : on associe à chaque variable de la formule une valeur de l’ensemble {0,1} et la

valeur de la formule est obtenue en remplaçant les variables par leur valeurs et en effectuant les opérations suivant lestable ci-dessus. Néanmoins, pour raisonner sur les formules, on définit formellement la valeur d’une formule.

9

Page 10: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Une assignation est une application de l’ensemble de toutes les variables dans l’ensemble {0,1}. Soit A uneformule et v une assignation. [A]v est la valeur de la formule A dans l’assignation v et cette valeur est définie ci-dessouspar récurrence sur l’ensemble des formules.Soient A, B des formules, x une variable et v une assignation.

– [x]v = v(x)– [>]v = 1, [⊥]v = 0– [¬A]v = 1− [A]v autrement dit pour calculer la valeur de ¬A, on soustrait la valeur de A de 1.– [(A∨B)]v = max{[A]v, [B]v}– [(A∧B)]v = min{[A]v, [B]v}– [(A⇒ B)]v = si [A]v = 0 alors 1 sinon [B]v– [(A⇔ B)]v = si [A]v = [B]v alors 1 sinon 0

Le fait que cette extension de v aux formules est une application des formules dans {0,1} résulte du théorème 1.1.1qui montre que toute formule (stricte) se décompose de façon unique avec l’un des cas ci-dessus.En effet, soient 4 formules A,A′,B,B′ et deux opérations ◦ et ◦′ telles que (A ◦B) = (A′ ◦′ B′). Par décompositionunique, A = A′,B = B′,◦ = ◦′, donc la valeur de la formule (A ◦B) est définie uniquement par une et une seule deslignes de la définition de la valeur.

Il est clair que la valeur d’une formule ne dépend que de ses variables, aussi l’évaluation d’une formule est présen-tée sous la forme d’une table de vérité, comme dans l’exemple ci-dessous :

Exemple 1.2.1x y x⇒ y ¬x ¬x∨ y (x⇒ y)⇔ (¬x∨ y)0 0 1 1 1 10 1 1 1 1 11 0 0 0 0 11 1 1 0 1 1

Chaque ligne de la table définit une assignation pour les variables des formules présentes dans les colonnes de latable et chaque colonne donne la valeur d’une formule.

1.2.2.1 Équivalence

Définition 1.2.1 (Équivalence) Deux formules A et B sont équivalentes si, pour toute assignation, elles ont la mêmevaleur.

Exemple 1.2.2 Les colonnes des deux formules x⇒ y et ¬x∨ y sont identiques. Ces deux formules sont donc équiva-lentes.

On note le fait que A et B sont équivalentes par A≡ B ou simplement A = B si le contexte nous permet de comprendreque le signe égal indique l’équivalence. Par exemple : x⇒ y = ¬x∨ y.

1.2.2.2 Valide

Définition 1.2.2 (Valide) Une formule est valide si elle a la valeur 1 pour toute assignation.

Exemple 1.2.3 La colonne de la formule (x⇒ y)⇔ (¬x∨ y) ne comporte que des 1. Cette formule est donc valide.

On note le fait que A est valide par |= A. Par exemple |= x∨¬x.Comme sur l’exemple 1.2.1, on a :

Propriété 1.2.1 Les formules A et B sont équivalentes si et seulement si (en bref ssi) la formule A⇔ B est valide.

La propriété est triviale (mais utile).

10

Page 11: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

1.2.2.3 Modèle, Satisfaisable

Définition 1.2.3 (Modèle) Une assignation qui donne la valeur 1 à une formule, est un modèle de la formule, on ditaussi qu’elle satisfait la formule ou qu’elle la rend vraie.

Exemple 1.2.4 L’assignation x = 1,y = 1 est modèle de x⇒ y.

Cette notion de modèle s’étend aux ensembles de formules.

Définition 1.2.4 (Modèle d’un ensemble de formules) Une assignation est modèle d’un ensemble de formules ssielle est modèle de chaque formule de l’ensemble.

Exemple 1.2.5 L’assignation a = 0,b = 0 (et c quelconque) est modèle de {a⇒ b,b⇒ c}.

Propriété 1.2.2 Une assignation est modèle d’un ensemble de formules, ssi elle est modèle de la conjonction desformules de l’ensemble.

Exemple 1.2.6 L’ensemble de formules {a⇒ b,b⇒ c} et la formule (a⇒ b)∧ (b⇒ c) ont les même modèles. Un deces modèles est a = 0,b = 0.

Définition 1.2.5 (Contre-Modèle) Une assignation qui donne la valeur 0 à une formule, est un contre-modèle de laformule, on dit aussi qu’elle ne satisfait pas la formule ou qu’elle la rend fausse.

Par exemple l’assignation x = 1,y = 0 est un contre-modèle de x⇒ y.

Définition 1.2.6 (Satisfaisable) Une formule (resp un ensemble de formules) est satisfaisable s’il y a une assignationqui en est modèle.

Exemple 1.2.7 Par exemple la formule x⇒ y est satisfaisable.La formule x∧¬x est insatisfaisable : la colonne de sa table de vérité ne contient que des 0.

Les logiciens utilisent le mot consistant comme synonyme de satisfaisable et contradictoire comme synonyme d’in-satisfaisable.

1.2.2.4 Conséquence

Définition 1.2.7 (Conséquence) Soit Γ un ensemble de formules et A une formule : A est conséquence de l’ensembleΓ d’hypothèses si tout modèle de Γ est modèle de A. Le fait que A est conséquence de Γ est notée par Γ |= A.

Par exemple a⇒ b,b⇒ c |= a⇒ c.

a b c a⇒ b b⇒ c a⇒ c (a⇒ b)∧ (b⇒ c)⇒ (a⇒ c) (a⇒ b)∧ (b⇒ c)∧¬(a⇒ c)0 0 0 1 1 1 1 00 0 1 1 1 1 1 00 1 0 1 0 1 1 00 1 1 1 1 1 1 01 0 0 0 1 0 1 01 0 1 0 1 1 1 01 1 0 1 0 0 1 01 1 1 1 1 1 1 0

Les notions de conséquence et de validité sont liées, comme le montre la table ci-dessus et la propriété ci-dessous.

Propriété 1.2.3 Soient n+1 formules A1, . . .An,B et soit Hn la conjonction des formules A1, . . .An.B est conséquence des hypothèses A1, . . .An si et seulement si la formule Hn⇒ B est valide si et seulement si Hn∧¬Best insatisfaisable.

La propriété est triviale et constamment utilisée dans les exercices.

Remarque 1.2.1 (Validité et conséquence) Il n’est pas étonnant que l’on note A valide par |= A. En effet A est validesi et seulement si A est conséquence de l’ensemble vide.

11

Page 12: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

1.3 Les connectives et le langage mathématiqueLes mathématiciens ont raisonné correctement durant des siècles sans connaître la logique formelle. La logique

moderne est née de l’ambition de formaliser (on dit aussi mécaniser) le raisonnement mathématique : ce projet a reçuune impulsion décisive, quand il est apparu que l’absence de formalisation pouvait conduire à des contradictions.

Le developpement actuel de la logique continue avec– le besoin de prouver la correction des programmes (particulièrement quand ces programmes sont utilisés dans

des domaines où la sécurité est en jeu)– l’ambition de représenter en machine l’ensemble des connaissances mathématiquesCependant la terminologie des mathématiciens est resté encore différente de celle des logiciens.

Pour exprimer que p implique q, le mathématicien dira entre autre1 :p entraine qsi p alors qp est une condition suffisante de qpour que q soit vrai, il suffit que p soit vraiq est une condition nécessaire de ppour que p soit vrai, il faut que q soit vrai

La phrase «p à moins que q» a d’autres synonymes :p sauf dans le cas qsoit p, soit q mais pas les deux¬(p⇔ q)p⊕q ce qui est la notation traditionnelle du ou exclusif

Pour des compléments d’information, on recommande de consulter entre autres :http://fr.wikipedia.org/wiki/Implicationhttp://ljk.imag.fr/membres/Bernard.Ycart/mel/lm/node3.html

1.4 Substitution et remplacementLes formules valides expriment les lois de la logique. Construire des tables de vérité est un bon moyen pour

découvrir si des formules sont valides. Mais c’est un moyen qui a ses limites : pour une formule à 100 variables, latable de vérité aura 2100 lignes et le calcul de cette table dépasse les possibilités de toute machine. Dans ce paragraphe,on voit comment étendre l’ensemble des formules valides par substitution et remplacement.

1.4.1 Substitution

Définition 1.4.1 (substitution) Une substitution est une application de l’ensemble des variables dans l’ensemble desformules.L’application d’une substitution σ à une formule, consiste à remplacer dans la formule toute variable x par la formuleσ(x). Soit A une formule, on note Aσ l’application de la substitution σ à la formule A.

Définition 1.4.2 (support d’une substitution, substitution à support fini) Le support d’une subsitution σ est l’ensem-ble des variables x telles que xσ 6= x. Le plus souvent, on s’intéresse aux substitutions à support fini.Une substitution σ à support fini est notée < x1 := A1, . . . ,xn := An >.A1, . . .An sont des formules, x1, . . . ,xn sont des variables distinctes et la substitution vérifie :

– pour i de 1 à n, xiσ = Ai– pour toute variable y telle que y 6∈ {x1, . . . ,xn}, on a : yσ = y

Lemme 1.4.1 (propriété des substitutions) Soit A une formule, v une assignation et σ une substitution. On a :[Aσ]v = [A]w où pour toute variable x, w(x) = [σ(x)]v.

1je ne prétends pas être exhaustif

12

Page 13: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Preuve : Par une récurrence immédiate sur la structure des formules. En effet, la valeur de Aσ dans l’assignation vest égale à la valeur de A pour une assignation qui associe à toute variable la valeur de la formule qui doit lui êtresubstituée. 2

Théorème 1.4.1 l’application d’une substitution à une formule valide donne une formule valide.

Preuve : Soit A une formule valide et σ une substitution.Soit v une assignation quelconque. D’après le lemme ci-dessus :[Aσ]v = [A]w où pour toute variable x, w(x) = [σ(x)]v.Puisque A est valide,[A]w = 1. Par suite Aσ vaut 1 dans toute assignation, c’est donc une formule valide. 2

Exemple 1.4.1 Soit A la formule ¬(p∧q)⇔ (¬p∨¬q). Cette formule est valide.Soit σ la substitution suivante : σ(p) = (a∨b),σ(q) = (c∧d).La formule Aσ est ¬((a∨b)∧ (c∧d))⇔ (¬(a∨b)∨¬(c∧d)). Cette formule est aussi valide.

La substitution est définie sur les formules, pour l’appliquer sans erreur aux formules à priorité, il suffit que l’image,par la substitution, de toute variable soit une variable, une constante ou une formule entre parenthèses.

1.4.2 RemplacementDéfinition 1.4.3 (Remplacement) Soient A,B,C,D des formules. La formule D est obtenue en remplaçant des occur-rences de A dans C par B, s’il existe une formule E et une variable x telles que, C = E < x := A > et D = E < x := B >.

Théorème 1.4.2 Soit C une formule et D la formule obtenue en remplaçant dans C, des occurrences de la formule A.par la formule B. On a : (A⇔ B) |= (C⇔ D).

Preuve : Par définition du remplacement, il existe une formule E et une variable x telles que, C = E < x := A > etD = E < x := B >.Supposons que v est une assignation modèle de (A⇔ B). Nous avons donc [A]v = [B]v.D’après le lemme 1.4.1 :

– [C]v = [E]w où w est identique à v sauf que w(x) = [A]v– [D]v = [E]w′ où w′ est identique à v sauf que w′(x) = [B]v

Puisque [A]v = [B]v, les assignations w et w′ sont identiques, donc [C]v = [D]v.Par suite v est modèle de (C⇔ D). 2

Corollaire 1.4.1 Soit C une formule et D la formule obtenue en remplaçant dans C, une occurrence de la formule A.par la formule B. On a : si A≡ B alors C ≡ D.

Preuve : En effet si A ≡ B alors la formule (A⇔ B) est valide donc aussi la formule (C⇔ D) qui en est, d’après lethéorème ci-dessus, la conséquence. Par suite C ≡ D. 2

Exemple 1.4.2 On présente deux applications de cette propriété de l’équivalence et de sa conséquence.D’après la première propriété du remplacement :p⇔ q |= (p∨ ( p ⇒ r))⇔ (p∨ ( q ⇒ r))Notons sur cet exemple, que le remplacement d’une occurrence de p par une occurrence de q, est mis en évidence pardes boîtes marquant ces occurrences.D’après sa conséquence immédiate :Puisque ¬(p∨q)≡ (¬p∧¬q) on a aussi (¬(p∨q)⇒ ( ¬(p∨q) ∨ r))≡ (¬(p∨q)⇒ ( (¬p∧¬q) ∨ r)).Le remplacement d’une occurrence de ¬(p∨ q) par une occurrence de (¬p∧¬q) est aussi souligné par des boîtesmarquant ces occurrences.

Le théorème et son corollaire s’applique aux formules. Quand on fait un remplacement directement sur une formuleà priorité, on doit s’assurer que ce remplacement reste correct sur les formules (strictes) sous peine de commettre deserreurs.

Par exemple, on voit facilement que ¬b⇒ c ≡ b∨ c mais a∧ ¬b⇒ c 6≡ a∧ b∨ c , car pour a = b = c = 0, laformule à gauche vaut 1 et celle de droite vaut 0. Le corollaire ne doit pas être appliqué à l’occurrence encadrée, eneffet a∧¬b⇒ c est une abréviation de ((a∧¬b)⇒ c) donc ¬b⇒ c n’est pas une occurence de a∧¬b⇒ c.

13

Page 14: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

1.5 Équivalences remarquablesOn utilise les notations «booléennes» plus concises et le signe égal nous sert à noter les équivalences.

1. La somme (alias la disjonction) est associative, commutative, idempotente :x+(y+ z) = (x+ y)+ zx+ y = y+ xx+ x = x

2. Le produit (alias la conjonction) est associatif, commutatif, idempotent :x.(y.z) = (x.y).zx.y = y.xx.x = x

3. Le produit est distributif sur la somme et la somme est distributive sur le produit :x.(y+ z) = (x.y)+(x.z)x+(y.z) = (x+ y).(x+ z)

4. 0 est l’élément neutre de la somme et 1 est l’élément neutre du produit :0+ x = x1.x = x

5. 1 est l’élément absorbant de la somme et 0 et l’élément absorbant du produit :1+ x = 10.x = 0

6. Les lois de la négationDeux négations valent une affirmation : x = xLe contraire du vrai est le faux : 0 = 1,1 = 0.Le tiers-exclus : x+ x = 1On ne pas affirmer une chose et son contraire : x.x = 0Les lois de Morgan : xy = x+ y,x+ y = x.y

7. Les lois de simplificationx+ xy = xx(x+ y) = xx+ xy = x+ y

Raisonner par équivalence, c’est utiliser les propriétés de l’équivalence (réflexivité, symétrie, transitivité, remplace-ment d’une formule par une autre formule équivalente) pour obtenir de nouvelles équivalences à partir des équivalencesdéjà prouvées ou admises dans le cours.On donne un exemple de ce mode de raisonnement qui montre que la première loi de simplification est la conséquencedes lois qui les précédent. On suggère de faire de même pour les deux autres lois.Montrons que x+ xy = x . On encadre les remplacements effectués, quand ils concernent une sous-formule.

x + xy = x1 + xy car 1 est le neutre du produitx1+ xy = x(1+ y) par distributivité du produit sur la sommex (1+ y) = x 1 car 1 est l’absorbant de la sommex1 = x car 1 est le neutre du produit

Ce raisonnement par équivalence, peut être abrégé sous la forme suivante :x+ xy= x1+ xy car 1 est le neutre du produit= x(1+ y) par distributivité du produit sur la somme.= x1 car 1 est l’absorbant de la somme= x car 1 est le neutre du produit

Dans la suite, on abrège de la même façon tous les raisonnements par équivalence.

14

Page 15: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

1.6 Algèbre de BooleUne algèbre de Boole est un ensemble avec au moins deux éléments 0, 1 et trois opérations complément (le

complément de x est noté x), somme et produit qui vérifient les propriétés suivantes :1. la somme et le produit sont associatifs, commutatifs et idempotents2. le produit est distributif sur la somme et la somme est distributive sur le produit3. 0 est élément neutre de la somme, 1 est élément neutre du produit4. 0 est élément absorbant du produit, 1 est élément absorbant de la somme5. x+ x = 1,x.x = 0, ¯x = x

6. xy = x+ y,x+ y = x.y

On peut considérer la logique propositionnelle comme la plus petite algèbre de Boole. Mais vous connaissez (sansle savoir) d’autres algèbres de Boole, l’ensemble P (X) des sous-ensembles d’un ensemble X dont les opérations sontmises en correpondances avec leur désignation dans l’algèbre de Boole :

Algèbre de Boole P (X)1 X0 /0

p p2

p+q p∪qp.q p∩q

Puisque les lois de simplification sont déduites des lois de l’algèbre de Boole, elles sont vérifiées dans toute algèbrede Boole, en particulier dans l’algèbre de Boole P (X) : A∪ (A∩B) = A

1.7 DualitéLa présentation de l’algèbre de Boole montre que 0 et 1, la somme et le produit jouent des rôles symétriques. Dans

ce paragraphe, nous ne nous parlons que des formules qui s’écrivent avec ces symboles ainsi que la négation.

Définition 1.7.1 La duale d’une formule est obtenue en échangeant les produits et les sommes ainsi que les 0 et les 1.On note A∗ la formule duale de A.

Par exemple (a.(b+ c))∗ = (a+(b.c)).

Théorème 1.7.1 En logique propositionnelle, si deux formules sont équivalentes, alors leurs duales sont aussi équiv-alentes.

Preuve : voir exercice 19 2

Corollaire 1.7.1 En logique propositionnelle, si une formule est valide, sa duale est contradictoire.

Preuve : voir exercice 19 2

En fait les résultats ci-dessus sont vrais non seulement pour la logique propositionnelle, qui est une algèbre deBoole à deux éléments, mais aussi pour toute algèbre de Boole.Précisons ce que nous entendons par deux formules égales dans l’algèbre de Boole.Une preuve dans l’algèbre de Boole est une suite d’égalités qui sont des identités, des axiomes de l’algèbre de Booleou qui sont déduites des égalités précédentes par symétrie (si a = b alors b = a), transivité (si a = b et b = c alorsa = c) ou par remplacement (si a = b alors c = d où la formule d est obtenue en remplaçant dans c une occurrence dea par b).Deux formules sont égales dans l’algèbre de Boole, s’il y a une preuve dont la dernière égalité est celle entre ces deuxformules.

2 p est l’ensemble des éléments de X , qui ne sont pas éléments de p

15

Page 16: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Théorème 1.7.2 Si deux formules sont égales dans l’algèbre de Boole, alors leurs duales sont aussi égales.

Preuve : Appelons la duale d’une preuve, la suite d’égalités obtenue en remplaçant dans la preuve chaque égalité entredeux formules par l’égalité entre leurs formules duales. Puisque les axiomes de l’algèbre de Boole sont des égalitésentre formules, telles que l’égalité entre leurs formules duales est aussi un axiome de l’algèbre de Boole, il en résulteque la duale d’une preuve est aussi une preuve. Donc s’il y a une preuve de l’égalité de deux formules, il y a aussi unepreuve de l’égalité de leurs formules duales. 2

1.8 Formes Normales

1.8.1 DéfinitionsUn littéral est une variable ou la négation d’une variable. Par exemple x,y,z sont des littéraux.

Un monôme est un produit de littéraux . Une clause est une somme de littéraux.Par exemple, xyz est un monôme dont l’unique modèle est x = 1,y = 0,z = 1. Le monôme xyzx comporte une variableet sa négation : il vaut 0.Par exemple x+y+z est une clause dont l’unique contre modèle est x = 0,y = 1,z = 0. La clause x+y+z+x comporteune variable et sa négation : elle vaut 1.

Une formule est une forme normale disjonctive (en bref fnd) si et seulement si elle est une somme de monômes.Par exemple xy+x yz est une fnd, qui a deux modèles x = 1,y = 1 et x = 0,y = 0,z = 1. L’interêt des fnd est de mettreen évidence ces modèles.

Une formule est une forme normale conjonctive (en bref fnc) si et seulement si elle est un produit de clauses.Par exemple (x+ y).(x+ y+ z) est une fnc, qui a deux contre-modèles x = 0,y = 0 et x = 1,y = 1,z = 0. L’interêt desfnc est de mettre en évidence ces contre-modèles.

Par convention, on considère que 0 et 1 sont des sommes de monômes et des produits de clauses.

1.8.2 Transformation en sommes de monômesOn désigne les formules par les lettres A,B,C.

Appliquer l’équivalence A = B à la formule C, c’est remplacer dans C une occurrence de A par une occurrence de B :on a dit en 1.4.2 qu’une telle application change C en une formule équivalente.

1.8.2.1 Transformation de base

Pour transformer une formule en une somme équivalente de monômes, on applique les transformations suivantes :

1. Élimination des équivalences

2. Élimination des implications

3. Déplacement des négations de sorte qu’elles ne portent que sur des variables

4. Distribution des produits sur les sommes

Éliminer une équivalence, c’est remplacer une occurrence de A⇔ B par l’une des sous-formules(a) (A+B).(B+A)(b) A.B+A . B

Éliminer une implication, c’est remplacer une occurrence de A⇒ B par A+BDéplacer les négations, c’est remplacer une occurrence de

(a) A par A(b) A+B par A•B(c) A•B par A+B

En appliquant ces trois transformations dans l’ordre indiqué, il est clair que la formule initiale a été transformée enune formule équivalente avec les seules opérations ∧,∨,¬ et les négations ayant comme seul opérande des variables :la formule est dite sous forme normale.En distribuant (tous) les produits sur les sommes, on obtient une somme de monômes.

16

Page 17: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

1.8.2.2 Ordre des transformations et simplifications

On demande d’admettre que l’ordre des transformations n’est pas important : en effectuant les transformations ci-dessus dans un ordre quelconque, on obtient finalement une somme de monômes. Il est par exemple recommandé deremplacer une sous-formule de la forme ¬(A⇒ B) par A∧¬B, ce qui en fait combine une élimination de l’implicationet un déplacement de la négation car :¬(A⇒ B)= ¬(¬A∨B) par élimination de l’implication= ¬¬A∧¬B par les lois de Morgan= A∧¬B par la loi de la double négation

En pratique, il est capital de simplifier (le plus tôt possible) de la façon suivante– Un produit qui, soit comporte une formule et sa négation, soit comporte un 0, est remplacé par 0– Une somme qui, soit comporte une formule et sa négation, soit comporte un 1, est remplacé par 1– Remplacer 1 par 0 et 0 par 1– Enlever les 0 des sommes et les 1 des produits– Appliquer les simplifications x+ xy = x, x(x+ y) = x, x+ xy = x+ y– Appliquer l’idempotence de la somme et du produit

Il faut aussi savoir regrouper plusieurs applications de la distributivité. Par exemple, dans une transformation en sommede produits, on peut appliquer de gauche à droite l’équivalence (a+b).(c+d + e) = ac+ad +ae+bc+bd +be.

1.8.3 Utilisation des sommes de monômesLa transformation par équivalence d’une formule en une somme de monômes, peut être utilisée pour déterminer si

une formule est valide ou non. Soit A une formule dont on souhaite déterminer la validité :On transforme ¬A en une somme de monômes équivalente à ¬A.Si ¬A = 0 alors A = 1 donc A est valide, sinon, toutes simplifications étant faites, ¬A est égal à une somme de monômesnon nuls, qui nous donnent des modèles de ¬A, donc des contre-modèles de A.

1. Soit A = (p ⇒ (q ⇒ r)) ⇒ (p.q ⇒ r). Déterminer si A est valide par transformation de ¬A en somme demonômes.¬A= (p⇒ (q⇒ r)).p.q⇒ r par l’identité ¬(B⇒C) = B∧¬C= (p+q+ r).p.q⇒ r en éliminant deux implications= (p+q+ r).(p.q.r) par l’identité ¬(B⇒C) = B∧¬C= (p.p.q.r)+(q.p.q.r)+(r.p.q.r) par distributivité du produit sur la somme= 0 car chaque monôme vaut 0

Donc ¬A = 0 et A = 1, c’est-à-dire A est valide.

2. Soit A = (a⇒ b).c+a.d. Déterminer si A est valide par transformation de ¬A en somme de monômes.¬A= (a⇒ b).c.a.d par déplacement des négations= (a⇒ b+ c).(a+d) par déplacement des négations= (a.b+ c).(a+d) par combinaison du déplacement d’une négation et élimination de l’implication= a.b.a+a.b.d + c.a+ c.d par distributivité de la somme sur le produit= a.b.d + c.a+ c.d par simplification

On obtient 3 modèles de ¬A qui sont les mêmes que les contre-modèles de A. Donc A n’est pas valide.

1.8.4 Transformation en produit de sommes de littérauxOn procéde exactement comme pour la transformation en somme de monômes, sauf que l’on applique la dis-

tributivité (inhabituelle) de la somme sur le produit, autrement dit on remplace toute sous-formule A + (B.C) par(A + B).(A + C), et toute sous-formule (B.C) + A par (B + A).(C + A).Attention, le fait que cette distribuvité n’est pas usuelle, rend son application propice aux erreurs.

17

Page 18: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Il faut aussi, comme précédemment, savoir regrouper plusieurs applications de cette distributivité. Par exemple, onpeut appliquer l’équivalence ab+ cde = (a+ c)(a+d)(a+ e)(b+ c)(b+d)(b+ e).La transformation par équivalence d’une formule en un produit de sommes de litteraux, peut aussi être utilisée pourdéterminer si une formule est valide ou non. Soit A une formule dont on souhaite déterminer la validité :On transforme A en un produit de sommes de littéraux équivalent à A.Si A = 1 alors A est valide, sinon, toutes simplifications étant faites, A est égal à un produit de sommes de littéraux nonégales à 1, et chacune de ces sommes nous donne un contre-modèle de A.

1.9 Fonctions booléennes

Une fonction booléenne est une fonction dont les arguments et le résultat sont dans le domaine {0,1}.

1.9.1 Fonctions booléennes et somme de monômes

Théorème 1.9.1 Pour toute variable x, posons x0 = x et x1 = x.Soit f une fonction booléenne à n arguments.Soit x1, . . .xn des variables et A la somme des monômes xa1

1 . . .xann tels que f (a1, . . .an) = 1.

Par convention, si f (a1, . . .an) vaut toujours 0, alors A est 0.Alors f (a1, . . .an) est la valeur de A quand x1 = a1, . . .xn = an

3

Preuve : Avant de lire la preuve, on conseille d’examiner l’exemple dont la preuve (simple) n’est que la généralisationavec des notations complexes.Notons que xa = 1 si et seulement si x = a. De cette équivalence, on déduit la propriété :

(*) xa11 . . .xan

n = 1 si et seulement si x1 = a1, . . .xn = an.Supposons que x1 = a1, . . .xn = an.

1. Supposons f (a1, . . .an) = 1.Le monôme xa1

1 . . .xann est un des monômes de A. D’après (*), il vaut 1 donc aussi la formule A.

2. Supposons f (a1, . . .an) = 0.

Soit xb11 . . .xbn

n un monôme quelconque de A. Puisque c’est un monôme de A, f (b1, . . .bn) = 1. Si ce monômevalait 1 alors d’après (*), on aurait x1 = b1, . . .xn = bn donc a1 = b1, . . .an = bn, ce qui est impossible puisquef (a1, . . .an) 6= f (b1, . . .bn). Par suite tous les monômes de A valent 0 donc aussi la formule A.

2

Exemple 1.9.1 La fonction ma j à 3 arguments vaut 1 lorsqu’au moins 2 de ses arguments valent 1. Voici la tableréprésentant cette fonction :

x1 x2 x3 ma j(x1,x2,x3) x1x2x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 + x1x2x3 + x1x2x3 + x1x2x30 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 00 1 0 0 0 0 0 0 00 1 1 1 1 0 0 0 11 0 0 0 0 0 0 0 01 0 1 1 0 1 0 0 11 1 0 1 0 0 1 0 11 1 1 1 0 0 0 1 1

Donc ma j(x1,x2,x3) = x1x2x3 + x1x2x3 + x1x2x3 + x1x2x3

3ce qu’on écrit plus brièvement : f (x1, . . .xn) = A

18

Page 19: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

1.9.2 Fonctions booléennes et produit de clausesThéorème 1.9.2 Pour toute variable x, posons x0 = x et x1 = x.Soit f une fonction booléenne à n arguments.Soit x1, . . .xn des variables et A le produit des clauses xa1

1 + . . .xann tels que f (a1, . . .an) = 0.

Par convention, si f (a1, . . .an) vaut toujours 1, alors A est 1.Alors f (a1, . . .an) est la valeur de A quand x1 = a1, . . .xn = an

4

Preuve : Notons que xa = 0 si et seulement si x 6= a.Ce qui implique la propriété :

xa11 + . . .xan

n = 0 si et seulement si x1 6= a1, . . .xn 6= an si et seulement si x1 = a1, . . .xn = an.De la propriété ci-dessus, on déduit de façon analogue que : f (x1, . . .xn) = A. 2

Exemple 1.9.2 On représente la fonction maj définie dans l’exemple 1.9.1 par un produit de clauses :ma j(x1,x2,x3) = (x1 + x2 + x3)(x1 + x2 + x3)(x1 + x2 + x3)(x1 + x2 + x3)

4ce qu’on écrit plus brièvement : f (x1, . . .xn) = A

19

Page 20: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

1.10 ExercicesExercice 1 (Formules strictes, formules à priorité) Parmi les expressions suivantes, indiquez celles qui sont et cellesqui ne sont pas des formules, au sens de la syntaxe stricte décrite en 1.1.1 :

1. x

2. (x

3. (x)

4. (x⇒ (y∧ z)

5. (x⇒ (y∧ z))

6. ¬(x∨ y)

7. (¬(x∨ y))

8. ¬(x⇒ y)∨¬(y∧ z)

9. ¬(x)10. (¬((x∨ y)∧ z)⇔ (u⇒ v)))

Réponse

Exercice 2 (Formules et priorités) La formule ((p∧¬(p∨q))∧¬r) a comme structure :∧

~~~~~~

~~~

@@@

@@@@

@

������

���

��@@@

@@@@

@ ¬

��p ¬

��

r

��~~~~

~~~

��@@@

@@@@

@

p qEn utilisant les priorités, elle peut s’écrire avec le moins de parenthèses possibles sous l’une des formes :

p∧¬(p∨q)∧¬r avec les notations logiquesp p+q r avec les notations booléennes.

Comme sur cet exemple, pour chacune des formules suivantes, indiquez sa structure, sa forme la moins parenthéséeavec les opérations logiques, sa forme la moins parenthésée avec les opérations booléennes (et la négation au dessusde son opérande) :

1. (¬(a∧b)⇔ (¬a∨¬b))

2. ((¬a∨b)∧ (¬b∨a))

3. (((a∧b)∧ c)∨ ((¬a∧¬b)∧¬c))

4. (p⇒ (q⇒ r))

5. ((p⇒ q)⇒ r)Réponse

Exercice 3 (Formules et priorités) Indiquez sous forme d’arbres, les structures des formules à priorité suivantes

20

Page 21: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

1. p⇔¬q∨ r

2. p∨q⇒ r∧ s

3. p∨q⇒ r⇔ s

4. p∨q∧ r⇒¬s

5. p⇒ r∧ s⇒ t

6. p∨q∧ s∨ t

7. p∧q⇔¬r∨ s

8. ¬p∧q∨ r⇒ s⇔ tRéponse

Exercice 4 (Validité) Donnez les tables de vérités des formules suivantes

1. p⇒ (q⇒ p)

2. p⇒ (q⇒ r)

3. (p⇒ q)⇒ (p⇒ r)

4. (p⇒ (q⇒ r))⇒ ((p⇒ q)⇒ (p⇒ r))

Indiquez celles qui sont valides. Indiquez les équivalences. Réponse

Exercice 5 (Equivalence) Donnez les tables de vérités des formules suivantes

1. p∧ (p∨q)

2. ¬p∧¬q

3. ¬(p∧q)

4. ¬(p∨q)

5. p∨ (p∧q)

6. ¬p∨¬q

7. p

Indiquez les formules équivalentes. Réponse

Exercice 6 (Equivalence) Donnez les tables de vérités des formules suivantes

1. (p⇒ q)∧ (q⇒ p)

2. p⇒ q

3. p⇔ q

4. ¬q⇒¬p

5. (p∧q)∨ (¬p∧¬q)

Indiquez les formules équivalentes. Réponse

Exercice 7 (Equivalence) Parmi les formules suivantes, indiquez celles qui sont équivalentes à p⇒ q∨ r ?

1. q∧¬r⇒ p

2. p∧¬r⇒ q

3. ¬q∧¬r⇒¬p

4. q∨¬p∨ rRéponse

Exercice 8 (Conséquence)Au cours de l’enquête dont il est chargé, l’adjudant Tifrice effectue le raisonnement suivant :

1. Si le meurtre a eu lieu le jour, le meurtrier est l’ami de la victime

21

Page 22: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

2. Or le meurtre a eu lieu la nuit

Donc le meurtrier n’est pas l’ami de la victime. Le raisonnement de l’adjudant Tifrice est-il correct ? Justifier votreréponse en formalisant le raisonnement. Réponse

Exercice 9 (Conséquence)Pinicchio, Quasimodo et Roméo s’apprètent à chanter en canon. Ils décident entre eux que :

1. Si Pinocchio ne chante pas alors Quasimodo chantera

2. Si Quasimodo chante alors Pinocchio et Roméo chanteront

3. Si Roméo chante alors Quasimodo ou Pinocchio, l’un des deux au moins, ne chantera pas

Peut-on en conclure que Pinicchio chantera ? Justifier votre réponse en formalisant le raisonnement. Réponse

Exercice 10 (Conséquence) Formaliser les énoncés suivants en dégageant les connecteurs logiques.

(a) Si Pierre est rentré chez lui, alors Jean est allé au cinéma.

(b) Marie est à la bibiothèque ou Pierre est rentré chez lui.

(c) Si Jean est allé au cinéma, alors Marie est à la bibiothèque ou Pierre est rentré chez lui.

(d) Marie n’est pas à la bibiothèque et Jean est allé au cinéma.

(e) Pierre est rentré chez lui.

Le dernier énoncé est-il conséquence des enoncés qui le précèdent ? Réponse

Exercice 11 (Algèbre de Boole) À l’aide de tables de vérité, indiquer pour les opérations suivantes ⇒,⇔ si ellessont commutatives, associatives, idempotentes.

Réponse

Exercice 12 (Algèbre de Boole) Montrer qu’une formule propositionnelle avec une seule variable, notée p, est équiv-alente à l’une des formules, 0,1, p,¬p. Réponse

Exercice 13 (Algèbre de Boole) Montrer qu’une formule propositionnelle avec deux variables, notées p et q, estéquivalente à l’une des 16 formules suivantes :0, p∧q,¬(p⇒ q), p,¬(q⇒ p),q,¬(p⇔ q), p∨q,¬(p∨q), p⇔ q,¬q,q⇒ p,¬p, p⇒ q,¬(p∧q),1

Réponse

Exercice 14 (Algèbre de Boole) Indiquez en fonction de k combien il y a de fonctions booléennes à k arguments.Réponse

Exercice 15 (Formes Normales)1. Transformer la formule (¬(a⇔ b)∨ (b∧ c)⇒ c) en une somme de monômes. Utiliser cette somme pour indiquerles assignations qui donnent à la formule la valeur 1. Réponse

2. Transformer la formule (a⇒ b)∧ (b⇒ ¬a)∧ (¬a⇒ b)∧ (b⇒ a) en une somme de monômes. La formule est-elle satisfaisable ? Réponse

3. Soit A la formule p∨ (q∧ r)⇔ (p∨q)∧ (p∨ r). Transformez ¬A en une somme de monômes. La formule A est-ellevalide ? Réponse

Exercice 16 (Conséquence et Formes normales)L’Adjudant Tifirice enquête une nouvelle fois. Ses hypothèses sont les suivantes :

– Si Jean n’a pas rencontré Pierre l’autre nuit, c’est que Pierre est le meurtrier ou que Jean est un menteur– Si Pierre n’est pas le meurtrier, alors Jean n’a pas rencontré Pierre l’autre nuit et le crime a eu lieu après minuit– Si le crime a eu lieu après minuit, alors Pierre est le meurtrier ou Jean est un menteur.

22

Page 23: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Il en conclut que Pierre est le meurtrier. Son raisonnement est-il correct ? Donner la réponse en construisant laconjonction des hypothèses et de la négation de la conclusion et en mettant cette conjonction sous forme de somme demonômes.

On rappelle que le raisonnement est incorrect si et seulement si un des monômes de la somme ne comporte pas delittéraux complémentaires : ce monôme donne un modèle des hypothèses, qui est un contre-modèle de la conclusion.

Réponse

Exercice 17 (Formalisation, somme de monômes,*) On se trouve sur un île dont les indigènes sont répartis en deuxtribus, les Purs et les Pires. Les Purs disent toujours la vérité tandis que les Pires mentent toujours. On rencontre deuxindigènes, Aha et Bébé.

(a) Aha déclare :"L’un de nous au moins est un Pire". Pouvez-vous en déduire ce que sont Aha et Bébé ?

(b) Aha déclare :"L’un de nous deux au plus est un Pire".Pouvez-vous en déduire ce que sont Aha et Bébé ?

(c) Aha déclare :"Nous sommes tous les deux de la même tribu".Pouvez-vous en déduire ce que sont Aha et Bébé ?Réponse

Exercice 18 (Ensemble complet et incomplet de connectives,**) Un ensemble de constantes (0, 1) et de connec-tives est complet, si toute fonction booléenne est exprimable avec ces constantes et ces connectives.

D’après le théorème 1.9.1, l’ensemble {0,1,−,+,•} est complet.

1. Montrer que l’ensemble {−,+} est complet.Indication : il suffit de montrer que {0,1, .} sont définissables à l’aide de − et +.

2. Montrer que l’ensemble {0,⇒} est complet.

3. Soit | l’opération suivante : x | y est vrai si et seulement si ni l’un, ni l’autre ne sont vrais, autrement dit x | y = 1si et seulement si x = 0 et y = 0. Cette opération est aussi appelée ni car x | y est vrai si et seulement si ni x, niy ne sont vrais.Montrez que cette opération est complète.

4. (**) Montrer que l’ensemble {0,1,+,•} est incomplet.Indication : on trouve une propriété caractéristique des fonctions booléennes définies avec ces opérations et quin’est pas vérifiée par toute fonction booléenne.Appelons monotone, une fonction f telle que si a1 ≤ b1, . . .an ≤ bn alors f (a1, . . .an)≤ f (b1, . . .bn).Montrez que toute fonction booléenne définie avec {0,1,+,•} est monotone.Indiquez une fonction booléenne non monotone.

5. (*) L’ensemble 1,⇒ est-il complet ?

6. (**) L’ensemble 0,⇔ est-il complet ?Réponse

Exercice 19 (Dualité, Récurrence,**) Considérons des formules dont les opérations sont limitées à 0,1,¬,∧,∨.La formule duale d’une formule est obtenue en échangeant les conjonctions et les disjonctions ainsi que les 0 et

les 1. Notons A∗ la duale de la formule A.

1. Définir A∗ par récurrence sur les formules.

2. Montrez que si 2 formules sont équivalentes, il en est de même de leurs duales.On donne une indication qui réduit la question à une récurrence simple.Soit v une assignation. Soit v l’assignation complémentaire de v : pour toute variable x, v(x) = v(x). Par exemplel’assignation complémentaire de a = 1,b = 0 est a = 0,b = 1.

(a) Montrer que pour toute formule A : [A∗]v = [A]v.

(b) En déduire que si 2 formules sont équivalentes, il en est de même de leurs duales.3. En déduire que si une formule est valide, sa duale est contradictoire.

Réponse

23

Page 24: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Exercice 20 (Représentation canonique,***) Soit xi(0≤i≤n) une liste de n variables distinctes. Dans cet exercice, lesvariables des formules sont toutes dans cette liste.

À cette liste et à une formule A, on associe la fonction booléenne f à n arguments définie par f (x1, . . .xn) = A.Cette notation signifie que pour a1, . . .an ∈ {0,1}, la valeur de f (a1, . . .an) est la valeur de la formule A quandx1 = a1, . . .xn = an.

Notons [A] la classe des formules équivalentes à la formule A.

1. Combien y-a-t-il de classes de formules ?

2. Notons par ⊕ le ou-exclusif. On a x⊕ y = 1 si et seulement soit x = 1, soit y = 1 mais pas x = y = 1 (d’où lenom de ou-exclusif). On peut aussi définir cette opération par x⊕ y = ¬(x⇔ y).Donnez la table de vérité de ⊕.Montrez que cette opération est commutative, associative, que l’opération ∧ est distributive sur ⊕ et que 0 estl’élément neutre de ⊕.Exprimer la négation, la disjonction, l’implication et l’équivalence comme somme ou-exclusive de 1 et de con-jonctions de variables.

3. Montrez que toute formule booléenne est équivalente à une somme ou-exclusive de 1 et de produits de variables.

4. Par convention 1 est considéré comme le produit de 0 variables et 0 comme la somme ou-exclusive de 0 produitsde variables.Montrez que toute formule booléenne est équivalente à une somme ou-exclusive de produits dont les ensemblesde variables sont tous distincts.

5. Fixons un ordre arbitraire des n variables utilisées dans les formules (lorque les variables sont des identifi-cateurs, cet ordre est souvent l’ordre du dictionnaire). Une somme ou-exclusive de produits de variables estcanonique (forme de Reed-Muller) si et seulement si– Ses produits ne comportent pas de variables répétées et dans un produit les variables sont ordonnées de

gauche à droite dans l’ordre croissant– Les produits sont ordonnés de gauche à droite dans l’ordre lexicographique décroissant déduit de l’ordre des

variables.Montrez que toute formule booléenne est équivalente à une somme ou-exclusive canonique. En déduire l’unicitéde cette forme canonique.

Réponse

24

Page 25: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Chapitre 2

Résolution propositionnelle

Les tables de vérité et les transformations soit en sommes de monômes, soit en produits de clauses, ne permettentpas de répondre, en un temps court dès que le nombre de variables augmente, aux questions

– une formule est-elle valide– un raisonnement est-il correct

Exemple 2.0.1 Pour vérifier par une table de vérité, quea⇒ b,b⇒ c,c⇒ d,d⇒ e,e⇒ f , f ⇒ g,g⇒ h,h⇒ i, i⇒ j |= a⇒ jil faut tester 210 = 1024 lignes.

Or par déduction, en utilisant la transivité de l’implication, on sait immédiatement que le raisonnement ci-dessusest correct. Donc en la logique propositionnelle, on a besoin de faire des déductions.

On étudie en premier un système de déduction très simple : les hypothèses et les formules déduites ne sont pasdes formules quelconques mais des clauses, c’est-à-dire des disjonctions de littéraux et le système comporte une seulerègle appelée la résolution.

2.1 Système de la résolutionDéfinition 2.1.1 (Littéral, Résolvant) Notons Lc le littéral complémentaire d’un littéral L. Si L est une variable, Lc

est la négation de L. Si L est la négation d’une variable, Lc est obtenu en enlevant la négation de L.Soit A une clause, on note s(A) l’ensemble des littéraux de A. Par convention ⊥ est la clause vide et s(⊥) = /0.Soit A et B deux clauses. La clause C est un résolvant de A et B si et seulement si il y a un littéral L tel que

L ∈ s(A),Lc ∈ s(B),s(C) = (s(A)−{L})∪ (s(B)−{Lc}).

Le fait que C est un résolvant de A et B est dessiné par :A B

CC est un résolvant de A et B peut aussi se dire, la clause C est engendrée par A et B, A et B sont les parents de laclause C.

L’exercice 27 demande de formaliser ce qu’est une clause et son ensemble de littéraux.

Exemple 2.1.1

p+q+ r p+ q+ rp+ r

p+ q p+q+ rp+ p+ r

p+ q p+q+ rq+q+ r

p p⊥

Dans la règle de résolution, il est clair que deux clauses qui ont même ensemble de littéraux jouent le même rôle. Onofficialise ce point de vue avec les définitions suivantes :

25

Page 26: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Définition 2.1.2 (Clauses et ensembles de littéraux)– Un littéral est élément d’une clause, s’il est élément de l’ensemble des littéraux de la clause.– Une clause est incluse dans une autre clause, si tous les littéraux de la première clause sont éléments de la

deuxième clause.– Enlever un littéral d’une clause, c’est la remplacer par une autre clause ayant le même ensemble de littéraux

moins le littéral enlevé.– Ajouter un littéral à une clause, c’est la remplacer par une autre clause ayant le même ensemble de littéraux

plus le littéral ajouté.– Deux clauses sont égales si elles ont même ensemble de littéraux.

Exemple 2.1.2– Le littéral p est élément de la clause ¬q∨ p∨ r∨ p– La clause p∨¬q est incluse dans la clause ¬q∨ p∨ r∨ p– Enlever le littéral p de la clause ¬q∨ p∨ r∨ p donne la clause ¬q∨ r, enlever le littéral p de la clause p∨ p∨ p

donne la clause ⊥.– Ajouter le littéral r à la clause p donne la clause p∨ r, ajouter le littéral p à la clause ⊥ donne la clause p.– Les clauses p∨¬q, ¬q∨ p, p∨¬q∨ p sont égales.

Étant deux clauses A et B, la formule A∨B n’est pas une clause si l’un des deux opérandes de la disjonction est laclause vide. Par exemple ⊥∨ p n’est pas une clause, bien que les deux opérandes de la disjonction soient des clauses.Aussi on introduit une notation dont le seul interêt est de combiner la disjonction et l’élimination de ⊥.

Définition 2.1.3 Soient C et D deux clauses. On note C∨D la clause suivante :si C =⊥ alors C∨D = D sinon si D =⊥ alors C∨D = C sinon C∨D = C∨D.Ajouter le littéral L à la clause C, c’est construire C∨L.

Muni de ces définitions, on peut reformuler la règle de résolution de maniere plus familière :

Définition 2.1.4 (Résolvant) Soit A et B deux clauses. La clause C est un résolvant de A et B si et seulement si il y aun littéral L tel que :

– L est élément de la clause A, Lc est élément de la clause B– C est égale à la clause A′∨B′ où A′ est obtenue en enlevant L de A et B′ est obtenu en enlevant Lc de B

Définition 2.1.5 Soit Γ un ensemble de clauses et C une clause. Une preuve de C à partir de Γ est une liste de clausesqui se termine par C, toute clause de la preuve étant égale (au sens de la définition 2.1.2 à un élément de Γ ou étantun résolvant de deux clauses la précédant dans la preuve.La clause C est déduite de Γ (ce qu’on note Γ `C) s’il y a une preuve de C à partir de Γ.

Exemple 2.1.3 Soit Γ l’ensemble de clauses p+q, p+ q, p+ q, p+qOn montre que Γ ` ⊥ par la preuve suivante

1 p+q Hyp2 p+ q Hyp3 p De 1, 24 p+q Hyp5 q De 3, 46 p+ q Hyp7 p De 5, 68 ⊥ De 3, 7

La 3◦ colonne de la preuve est la colonne des justifications : elle permet de vérifier facilement que la preuve estcorrecte.On peut aussi voir une preuve comme un arbre dont les feuilles sont les hypothèses et dont les sommets internes sontobtenus par construction des résolvants.

26

Page 27: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

p+q p+ qp p+q

q p+ qp

p+q p+ qp

Cette présentation en arbre a un inconvénient : elle oblige à repéter deux fois la preuve de p.

Propriété 2.1.1 (Monotonie et Composition) Soient Γ, ∆ deux ensembles de clauses et A, B deux clauses.

1. Monotonie de la déduction.Si Γ ` A et si Γ est inclus dans ∆ alors ∆ ` A

2. Composition des déductions.Si Γ ` A, Γ ` B et si C est un résolvant de A et B alors Γ `C.

Preuve : Exercice 30 2

Lemme 2.1.1 (Cohérence de la règle de résolution) Si C est un résolvant de A et B alors A,B |= C.

Preuve : Supposons que C est un résolvant de A et B.Il y a un littéral L tel que L ∈ s(A),Lc ∈ s(B),s(C) = (s(A)−{L})∪ (s(B)−{Lc})Soit v une assignation modèle de A et B. Montrons que v est modèle de C.

– Supposons que v est modèle de L.Dans ce cas, v étant modèle de B mais pas de Lc est aussi modèle d’un littéral de (s(B)−{Lc}) donc de C.

– Supposons que v est modèle de Lc.Dans ce cas, v étant modèle de A mais pas de L est aussi modèle de (s(A)−{L}) donc de C.

Puisque toute assignation est modèle de L ou Lc, v est modèle de C. 2

Lemme 2.1.2 (Cohérence de la déduction) Soit Γ un ensemble de clauses et C une clause. Si Γ `C alors Γ |= C.

Preuve : Supposons que Γ `C. Il y a une preuve P de C à partir de Γ. Supposons que pour toute preuve de D à partirde Γ, plus courte que P, on a Γ |= D. Montrons que Γ |= C. On a deux cas possibles :

1. C a même ensemble de littéraux qu’un élément de Γ, dans ce cas Γ |= C.

2. C est résolvant de deux clauses A et B précédant C dans la preuve P.Donc il y a une preuve de A et une preuve de B à partir de E plus courtes que P. Par hypothèse de récurrence,on a : Γ |= A et Γ |= B. D’après le lemme 2.1.1 : A,B |= C. Par suite Γ |= C

2

2.2 Complétude du système de la résolutionD’après le lemme 2.1.2, si Γ ` ⊥ alors Γ |= ⊥, autrement dit Γ est insatisfaisable. On va montrer la réciproque,

lorsque Γ est un ensemble fini de clauses. Cette propriété s’appelle la complétude pour la réfutation.

2.2.1 Affectation d’un littéralDéfinition 2.2.1 Soit Γ un ensemble de clauses L un littéral. Γ[L := 1] est l’ensemble de clauses obtenu en supprimantles clauses dont L est élément et en enlevant Lc des autres clauses.On pose Γ[L := 0] = Γ[Lc := 1].

27

Page 28: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Les expressions «un littéral est élément d’une clause», «enlever un littéral d’une clause» ont été précisées dans ladéfinition 2.1.2.Γ[L := 1] peut être vu comme l’ensemble de clauses obtenu en donnant à L la valeur 1 et en simplifiant le résultatobtenu.

Exemple 2.2.1 Soit Γ l’ensemble de clauses p+q, q+r, p+q, p+r. Cet ensemble de clauses est équivalent au produitde clauses (p+q)(q+ r)(p+q)(p+ r).On a : Γ[p := 1] = (1+q)(q+ r)(1+q)(1+ r) = q(q+ r) = {q, q+ r}.On a : Γ[p := 0] = (0+q)(q+ r)(0+q)(0+ r) = (q+ r)qr = {q+ r,q,r}.

Propriété 2.2.1 Soit Γ un ensemble de clauses L un littéral.Γ a un modèle si et seulement si Γ[L := 1] ou Γ[L := 0] a un modèle.

Preuve : Soit v une assignation. L’assignation v[L := 1] est l’assignation identique à v sauf éventuellement pour x lavariable de L. Si L = x alors v(x) = 1, si L = x alors v(x) = 0.Notons que l’assignation v[L := 1] donne à L la valeur 1, à Lc la valeur 0 et ne change pas la valeur des autres littéraux.On pose v[L := 0] = v[Lc := 1].CS⇒ Supposons que l’assignation v est modèle de Γ.

On considère deux cas suivant la valeur de L dans cette assignation.1. Supposons que v donne à L la valeur 1 et montrons que v est modèle de Γ[L := 1].

Soit C une clause de Γ[L := 1]. Il y a dans Γ une clause C′ telle que C est obtenue en enlevant Lc de C′.Puisque v est modèle de Γ, v est modèle de C′ donc d’un littéral qui n’est pas Lc (car Lc vaut 0 dans cetteassignation). Par suite v est modèle de C. Puisque C est une clause quelconque de Γ[L := 1], v est modèlede Γ[L := 1].

2. Supposons que v donne à L la valeur 0. On se ramène au cas précédent en echangeant L et Lc et on montreque v est modèle de Γ[L := 0].

CN⇐ On considère deux cas suivant que Γ[L := 1] ou Γ[L := 0] a un modèle.1. Supposons que l’assignation v est modèle de Γ[L := 1].

Montrons que v[L := 1] est modèle de Γ.Soit C une clause de Γ.(a) Supposons que L est un littéral de C, alors v[L := 1] est modèle de C puisque cette assignation donne

à L la valeur 1.

(b) Supposons que L n’est pas un littéral de C. Alors il y a une clause C′ élément de Γ[L := 1] telle que C′

est obtenue en enlevant Lc de C.La variable de L n’est pas une variable de C′. Par suite v et v[L := 1] donnent la même valeur à C′.Puisque v est modèle de Γ[L := 1], v est modèle de C′ donc v[L := 1] est modèle de C′. Puisque C′ estincluse dans C, v[L := 1] est modèle de C.

Puisque C est une clause quelconque de Γ, v[L := 1] est modèle de Γ.

2. Supposons que l’assignation v est modèle de Γ[L := 0]. Par une preuve analogue, on montre que v[L := 0]est modèle de Γ.

2

Lemme 2.2.1 Soit Γ un ensemble de clauses, C une clause et L un littéral.Si Γ[L := 1] `C alors Γ `C ou Γ `C∨Lc.

L’opération ∨ est définie en 2.1.3.Preuve : Partant d’une preuve de C à partir de Γ[L := 1], on obtient une preuve de C ou de C∨Lc à partir de Γ enajoutant le littéral Lc aux clauses où on l’avait enlevé. Formalisons cette ébauche de preuve.Supposons que Γ[L := 1] `C. Il y a une preuve P de C à partir de Γ[L := 1].Supposons que pour toute preuve de D à partir de Γ[L := 1], plus courte que P, on a Γ ` D ou Γ ` D∨Lc.On a deux cas possibles :

28

Page 29: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

1. C est élément de Γ[L := 1]. Donc il y a une clause C′ élément de Γ telle que s(C′) = s(C) ou s(C′) = s(C)∪{Lc}.Examinons ces deux cas.

(a) Supposons s(C′) = s(C). Par définition des preuves Γ `C.(b) Supposons s(C′) = s(C)∪{Lc}. On a s(C′) = s(C∨Lc) donc par définition des preuves, Γ `C∨Lc

2. C est résolvant de 2 clauses A et B précédant C dans la preuve P. Donc par hypothèse de récurrence :(a) Γ ` A ou Γ ` A∨Lc

(b) Γ ` B ou Γ ` B∨Lc

Ce qui donne 4 cas à examiner.(a) Supposons Γ ` A et Γ ` B . Puisque C est résolvant de A et B, d’après la propriété 2.1.1, on a Γ `C.(b) Supposons Γ ` A et Γ ` B∨Lc. Puisque C est résolvant de A et B, il existe M tel que M ∈ A et Mc ∈ B et

s(C) = (s(A)−{M})∪ (s(B)−{Mc}).Aucune clause de Γ[L := 1] ne comporte le littéral Lc. Donc B qui en est déduite, ne comporte pas le littéralLc (voir exercice 31) et par suite Lc 6= Mc.Par conséquent (s(B)−{Mc})∪{Lc}= (s(B)∪{Lc})−{Mc}= (s(B∨Lc)−{Mc}.On a donc s(C∨Lc) = (s(A)−{M})∪ (s(B)−{Mc})∪{Lc}= (s(A)−{M})∪ (s(B∨Lc)−{Mc})Et par suite C∨Lc est un résolvant de A et B∨Lc.Donc par la propriété 2.1.1, Γ `C∨Lc.

(c) Supposons Γ ` A∨Lc et Γ ` B, en échangeant ci-dessus le rôle de A et B, on obtient Γ `C∨Lc.(d) Supposons Γ ` A∨Lc et Γ ` B∨Lc, comme ci-dessus on obtient Γ `C∨Lc.

Par suite dans les quatre cas, on a Γ `C ou Γ `C∨Lc.2

Lemme 2.2.2 Soit Γ un ensemble de clauses, C une clause et L un littéral.Si Γ[L := 0] `C alors Γ `C ou Γ `C∨L.

Preuve : Supposons Γ[L := 0] `C. Puisque Γ[L := 0] = Γ[Lc := 1] et que Lcc = L, d’après le lemme 2.2.1 on a Γ `Cou Γ `C∨L2

2.2.2 Complétude de la résolutionLemme 2.2.3 Soit Γ un ensemble fini de clauses. Si Γ est insatisfaisable alors Γ ` ⊥.

Preuve : Supposons que Γ est insatisfaisable. On montre que Γ ` ⊥ par récurrence sur le nombre de variables de Γ.Supposons que pour tout ensemble ∆ de clauses insatisfaisable avec moins de n variables, on a ∆ ` ⊥.Soit Γ insatisfaisable avec n variables. Montrons que Γ ` ⊥.On distingue deux cas suivant que n est nul ou non nul.

1. Supposons que n est nul.Donc Γ = /0 ou Γ = {⊥}. Le premier cas est impossible, car l’ensemble vide est valide (toute assignation en estmodèle). Donc Γ = {⊥} et par suite Γ ` ⊥.

2. Supposons que n est non nul.Soit x une variable figurant dans Γ. D’après la propriété 2.2.1, Γ[x := 0] et Γ[x := 1] sont insatisfaisables. Puisquela variable x ne figure pas dans ces deux ensembles de clauses, l’hypothèse de récurrence s’applique, donc :Γ[x := 0] ` ⊥ et Γ[x := 1] ` ⊥Des lemmes 2.2.1 et 2.2.2, on déduit soit Γ ` ⊥, soit Γ ` x et Γ ` x.Dans le premier cas, la preuve est terminée. Dans le deuxième cas, puisque ⊥ est un résolvant de x et x, on aégalement Γ ` ⊥.

2

Corollaire 2.2.1 Soit Γ un ensemble fini de clauses. Γ est insatisfaisable si et seulement si Γ ` ⊥.

Ce corollaire est une conséquence immédiate du lemme ci-dessus et de la remarque faite au début du paragraphe 2.2.

29

Page 30: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

2.2.3 Restriction de la résolutionNon seulement la règle de résolution est complète, mais aussi des restrictions de cette règle. Nous ne nous inter-

essons ici qu’à une seule restriction intuitivement évidente. Rappelons qu’une clause n’est valide que si et seulementelle comporte un littéral et son complémentaire.

Lemme 2.2.4 Soit Γ un ensemble fini de clauses. Si Γ est insatisfaisable alors on peut en déduire la clause vide avecune preuve sans clause valide.

Preuve : Nous ne donnons que des indications partielles sur la preuve. Il faut revoir le lemme 2.2.1 en montrant lelemme qui suit et après celà, la preuve est quasi identique à celle du lemme 2.2.3 2

Lemme 2.2.5 Soit Γ un ensemble de clauses, C une clause et L un littéral.Si de Γ[L := 1], on déduit C par une preuve sans clause valide alors de Γ, on peut déduire C ou C∨Lc par une preuvesans clause valide.

Preuve : Soit P une preuve de C à partir de Γ[L := 1] sans clause valide.Notons que les clauses de cette preuve ne comportent pas le littéral L, car ce littéral ne figure pas dans les clauses deΓ[L := 1] (voir exercice 31). On obtient une preuve P′ de C ou C∨Lc à partir de Γ en ajoutant au plus le littéral Lc auxclauses de P.Puisque les clauses de P ne contiennent pas L, cet ajout ne crée pas de clause valide, donc P′ est également sans clausevalide. 2

2.3 Stratégie complète

2.3.1 Clauses et ensembles de littérauxPour savoir si un ensemble fini Γ de clauses est contradictoire, il y a une méthode simple (et peu efficace) :

construire toutes les clauses que l’on peut déduire de Γ. D’après le corollaire 2.2.1, Γ est contradictoire si et seulementla clause vide a été construite.

Il faut préciser ce qu’on entend par construire toutes les clauses déduites de Γ. Si nous considérons comme dif-férentes les clauses qui s’écrivent différemment, deux clauses ont une infinité de résolvants. Par exemple les clausesp+ q et r +q ont comme résolvants la clause p+ r mais aussi les clauses r + p, p+ r + p, p+ . . .+ p+ r + . . .r. Doncl’ensemble des clauses déduites de Γ est infini.

Aussi, il faut, comme précédemment, considérer comme égales deux clauses, qui ont le même ensemble de littéraux(voir définition 2.1.2 : avec cette définition de l’égalité de deux clauses, l’ensemble des résolvants de deux clauses estfini ainsi que l’ensemble des clauses déduites de Γ. Supposons que l’ensemble des littéraux de Γ ait n éléments, commeles clauses déduites de Γ ne comportent que des littéraux de Γ (voir exercice 31), il y a donc au plus 2n clauses déduitesde Γ.

2.3.2 Réduction d’un ensemble de clausesDéfinition 2.3.1 (Comment réduire) Réduire un ensemble de clauses, c’est lui enlever les clauses valides et lesclauses contenant une autre clause de l’ensemble. Un ensemble de clauses est réduit s’il n’est plus réductible.

Propriété 2.3.1 Un ensemble de clauses est équivalent à l’ensemble de clauses obtenu par réduction.

Preuve : Enlever une clause valide donc valant 1, c’est appliquer l’identité x.1 = x.Enlever une clause incluant une autre clause, c’est appliquer l’identité x.(x+ y) = x. 2

Exemple 2.3.1 L’ensemble de clauses {p+q+ p, p+ r, p+ r + s,r +q} est équivalent à l’ensemble réduit{p+ r,r +q}.

30

Page 31: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

2.3.3 Construction de toutes les clauses déduites d’un ensemble de clausesOn organise la construction des clauses déduites de Γ suivant la hauteur des arbres de preuves (voir en 2.1.3 un

exemple d’une preuve représentée par un arbre).

2.3.3.1 Plan de la construction

Pour tout entier i et jusqu’à ce qu’il soit impossible de construire de nouvelles clauses, on construit l’ensembleréduit des clauses ayant un arbre de preuve de hauteur au plus i.Détaillons la méthode. On construit deux suites d’ensembles de clauses, ∆i(i≥0) et Θi(i≥0) telles que :

– ∆i est l’ensemble des clauses déduites de Γ par une preuve de hauteur i après élimination des clauses valides etde celles incluant une autre clause de preuve de hauteur au plus i.

– Θi est l’ensemble des clauses déduites de Γ par une preuve de hauteur inférieure à i après élimination des clausesvalides et de celles incluant une autre clause de preuve de hauteur au plus i.

Donc ∆0 est obtenu en réduisant Γ et ΘO est l’ensemble vide.On arrête la construction des deux suites quand ∆k est l’ensemble vide : la hauteur k−1 est alors la hauteur maximumd’une preuve et Θk est donc l’ensemble réduit des clauses déduites de Γ.Si ⊥ est dans Θk alors, puisque ⊥ est déduit de Γ, cet ensemble est insatisfaisable.Réciproquement, si cet ensemble est insatisfaisable, alors on peut en déduire ⊥, donc ⊥ est élément de Θk, qui, étantun ensemble réduit, est égal à {⊥}.

2.3.3.2 Construction des suites ∆i(i≥0) et Θi(i≥0)

Notons que les clauses de ∆i∪Θi sont déduites de Γ par une preuve de hauteur au plus i.∆i+1 est obtenu de la façon suivante :

– on construit l’ensemble de tous les résolvants entre les clauses de ∆i et de ∆i∪Θi et on réduit cet ensemble– on enlève aussi les nouveaux résolvants incluant une clause de ∆i∪Θi

Θi+1 est obtenu en enlevant de l’ensemble ∆i∪Θi les clauses qui incluent une clause de ∆i+1.

Propriété 2.3.21. pour tout i, l’ensemble Γ est équivalent à ∆i∪Θi

2. Les ensembles ∆i(i≥0) sont disjoints entre eux

La propriété est admise sans preuve.Il en résulte immédiatement le corollaire suivant :

Corollaire 2.3.1 Soit n le nombre de littéraux de Γ et k le plus petit entier tel ∆k soit vide :

1. Γ est équivalent à Θk

2. k ≤ 2n +1

Preuve : La première propriété résulte immédiatement de ce que pour tout i, l’ensemble Γ est équivalent à ∆i∪Θi etde ce que ∆k est vide.La deuxième propriété vient de la remarque faite au debut du paragraphe 2.3.1, il y a au plus 2n clauses déduites de Γ

donc, puisque les ensembles ∆i(i≥0) sont disjoints entre eux et ne comprennent que des clauses déduites de Γ, il y a auplus 2n +1 tels ensembles, donc k ≤ 2n +1 2

Exemple 2.3.2 On applique l’algorithme à l’ensemble de clausesa+b+ a,a+b,a+b+ c,a+ b, a+b, a+ b.Sur cette donnée, l’algorithme effectue le calcul suivant.L’ensemble ∆0 comprend les clauses

1 a+b2 a+ b3 a+b4 a+ b

31

Page 32: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

L’ensemble Θ0 est vide. L’algorithme calcule les resolvants non valide suivantsa de 1 et 2b de 1 et 3b de 2 et 4a de 3 et 4

Donc l’ensemble ∆1 comprend les mêmes clauses que nous numérotons5 a de 1 et 26 b de 1 et 37 b de 2 et 48 a de 3 et 4

L’ensemble Θ1 est vide. L’algorithme obtient calcule deux fois ⊥ donc l’ensemble ∆2 comprend la clause9 ⊥ de 5 et 8

L’ensemble Θ2 est vide, l’ensemble ∆3 est vide, L’ensemble Θ3 est égal à ∆2On note que l’algorithme a construit la preuve suivante

1 a+b2 a+ b5 a de 1 et 23 a+b4 a+ b8 a de 3 et 49 ⊥ de 5 et 8

2.3.4 Clauses minimalesDéfinition 2.3.2 (Clause minimale pour la conséquence) Soit Γ un ensemble de clauses. Une clause minimale pourla conséquence de Γ est une clause non valide conséquence de Γ et n’incluant aucune autre clause conséquence de Γ.

Définition 2.3.3 (Clause minimale pour la déduction) Soit Γ un ensemble de clauses.Une clause minimale pour ladéduction de Γ est une clause non valide déduite de Γ et n’incluant aucune autre clause déduite de Γ.

Propriété 2.3.3 (Complétude généralisée) Soit Γ un ensemble de clauses. Une clause est minimale pour la con-séquence de Γ si et seulement si elle est minimale pour la déduction

Cette propriété est admise aussi sans preuve.Une des conséquence évidente de cette propriété est l’algorithme de la stratégie commplète appliquée à Γ et s’arrêtantà l’indice k vérifie que Θk est l’ensemble équivalent à Γ des clauses minimales (pour la conséquence ou la déduction)de Γ, ce qui permet de simplifier le plus possible les clauses de Γ.

Exemple 2.3.3 Soit ma j la fonction majorité à 3 arguments.x y z ma j(x,y,z)0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

D’après la méthode indiquée en 1.9.2, cette fonction est définie par :ma j(x,y,z) = (x+ y+ z)(x+ y+ z)(x+ y+ z)(x+ y+ z).Le produit de clauses ci-dessus est équivalent à l’ensemble de clauses {x + y + z,x + y + z,x + y + z,x + y + z} et lastratégie complète va calculer l’ensemble équivalent des clauses minimales.

32

Page 33: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

∆0 Θ01 x+ y+ z2 x+ y+ z3 x+ y+ z4 x+ y+ z

On construit tous les résolvants non valides : x+ y résolvant de 1 et 2, x+ z résolvant de 1 et 3, y+ z résolvant de1 et 4.

∆1 Θ15 x+ y de 1, 26 x+ z de 1, 37 y+ z de 1, 4

On ne peut plus construire de résolvants donc ∆2 est vide et Θ2 = ∆1. Par suite ma j(x,y,z) = (x+y)(x+ z)(y+ z).

2.4 Algorithme de Davis et Putnam

L’algorithme de Davis et Putnam sert à savoir si un ensemble de clauses est satisfaisable. Bien que cet algorithmedate de plus de 50 ans, de nombreuses variantes en sont encore étudiées, car cet algorithme est bien meilleur que ceuxque nous avons déjà étudiés (table de vérité, transformation en somme de monômes ou produit de sommes, stratégiecomplète) pour des raisons que nous présentons de suite.Il y a deux types de transformations de formules :

1. celles qui préservent le sens, c’est-à-dire transforment une formule en une autre formule équivalente

2. celles qui préservent seulement la satisfaisabilité, c’est-à-dire transforment une formule satisfaisable en uneautre formule satisfaisable

L’efficacité de l’algorithme de Davis et Putnam vient de l’utilisation des transformations préservant seulement lasatisfaisabilité, car ces transformations sont moins coûteuses que celles préservant le sens.

2.4.1 Suppression des clauses qui ont des littéraux isolés

Définition 2.4.1 Littéral isolé.Soit Γ un ensemble de clauses. Soit L un littéral élément d’une clause de Γ. Ce littéral est isolé (relativement à Γ), siaucune clause de Γ ne comporte de littéral complémentaire de L.

Lemme 2.4.1 La suppression des clauses qui comportent un littéral isolé, préserve la satisfaisabilité

La preuve est demandée dans l’exercice 35.

Exemple 2.4.1 Soit Γ l’ensemble de clauses(1) p+q+ r(2) q+ r(3) q+ s(4) s+ t

Les littéraux p et t sont isolés. Donc on peut supprimer les clauses (1) et (4). Après cette suppression, on obtientl’ensemble Θ

(2) q+ r(3) q+ s

Les littéraux r et s sont à leur tour isolés pour l’ensemble Θ. En enlevant les clauses qui contiennent ces littéraux, onobtient l’ensemble vide, dont toute assignation est modèle. Le lemme 2.4.1 nous permet de dire que Γ a un modèle.

33

Page 34: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

2.4.2 Résolution unitaire

Lemme 2.4.2 Soit Γ un ensemble de clauses. Soit L l’ensemble des littéraux des clauses unitaires 1 de Γ.Soit Θ l’ensemble de clauses ainsi obtenu à partir de Γ

– si L comporte deux littéraux complémentaires, alors Θ = {⊥}.– sinon Θ est obtenue ainsi

* on enlève les clauses qui comportent un élément de L* on enlève des clauses restantes les complémentaires des éléments de L

Γ a un modèle si et seulement si Θ en a un.

La preuve est demandée dans l’exercice 36.

Exemple 2.4.2– Soit Γ l’ensemble de clauses : a+b+ d, a+ c+ d, b,d, c.

Par une première résolution unitaire, on obtient : a, a.Par une deuxième résolution unitaire, on obtient la clause vide, donc Γ n’a pas de modèle.

– Soit Γ l’ensemble de clauses : p,q, p+ r, p+ r,q+ r, q+ s.Par résolution unitaire, on obtient : r,s. Cet ensemble de clauses a un modèle donc Γ en a un.

2.4.3 Algorithme de Davis et Putnam

bool fonction DP( Γ ensemble de clauses non valides)La fonction retourne vrai si et seulement si Γ est satisfaisable1 Si ⊥ ∈ Γ, retourner(faux).

Si Γ = /0, retourner (vrai).2 Réduire Γ : il suffit d’enlever toute clause contenant une autre clause.3 Enlever de Γ les clauses comportant des littéraux isolés (cf paragraphe 2.4.1).

Si l’ensemble Γ a été modifié, aller en 1.4 Appliquer à Γ la résolution unitaire (cf paragraphe 2.4.2).

Si l’ensemble Γ a été modifié, aller en 1.5 Soit x une variable quelconque de Γ

retourner(DP(Γ[x := 0]) ou alors DP(Γ[x := 1]))Comme la fonction DP est appliquée à un ensemble de clauses non valides, avant d’appliquer cette fonction a unensemble de clauses, il faut enlever les clauses valides. On peut constater que l’algorithme ne pourra pas produire denouvelles clauses valides, puisqu’il ne fait qu’enlever des littéraux des clauses initialement données et que par suitedans l’étape de réduction, il est inutile d’enlever des clauses valides, puisqu’il n’y aura pas de telles clauses.

Pour obtenir une trace de l’algorithme, on dessine l’arbre des appels avec l’argument de la fonction ainsi que lesensembles obtenus par les étapes 2 (réduction, en abrégé RE), 3 (enlevement des clauses ayant des littéraux isolés, enabrégé ELI) et 4 (résolution unitaire, abrégé en RU). À cause du «ou alors», il est inutile de poursuivre la constructioncet arbre dès que la réponse vrai (attachée à un ensemble vide) a été obtenue.

Exemple 2.4.3 Soit Γ l’ensemble de clauses : a+ b,a+b, a+ c,a+c, b+ c,b+c. On donne la trace de l’algorithme.Puisque toutes les feuilles portent la clause vide, l’ensemble Γ est insatisfaisable.

1une clause unitaire est une clause qui ne comporte qu’un littéral

34

Page 35: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

a+ b,a+b, a+ c,a+ c, b+ c,b+ c

a=0ttiiiiiiiiiiiiiiiii

a=1 **UUUUUUUUUUUUUUUUU

b,c, b+ c,b+ c

RE��

b, c, b+ c,b+ c

RE��

b,c, b+ c

RU��

b, c,b+ c

RU��

⊥ ⊥

Exemple 2.4.4 Soit Γ l’ensemble de clauses : p + q + r, p + s, p + q + r, p + q, p + s + t. On donne la trace de l’al-gorithme. Puisqu’une feuille porte l’ensemble vide, l’ensemble Γ est satisfaisable. Il est inutile de poursuivre la con-struction de la branche droite.

p+ q+ r, p+ s, p+q+ r, p+q, p+ s+ t

s=0ssffffffffffffffffffffff

s=1 ++XXXXXXXXXXXXXXXXXXXXXXX

p+ q+ r, p, p+q+ r, p+q

RE��

p+ q+ r, p+q+ r, p+q, p+ t

p, p+q

ELI��p

ELI��/0

Théorème 2.4.1 L’algorithme de Davis et Putnam est correct et se termine.

Preuve :

Correction La réduction et les transformations 2.4.1, 2.4.2 préservent l’existence d’un modèle, donc au pas 1 , l’al-gorithme vérifie l’invariant suivant : la valeur de Γ,lors de l’appel de DP, a un modèle si et seulement si Γ a unmodèle.On en déduit immédiatement que les réponses de l’algorithme, fournis au pas 1, sont correctes.Au pas 5, pour les mêmes raisons, la valeur de Γ,lors de l’appel de DP, a un modèle si et seulement si Γ a unmodèle.Supposons les appels récursifs corrects :– si DP(Γ[x := 0]) est vrai, alors par récurrence Γ[x := 0] est satisfaisable donc Γ est satisfaisable2, ce qui

correspond à la valeur vrai de DP(Γ).– si DP(Γ[x := 0]) est faux, alors par récurrence Γ[x := 0] est insatisfaisable.

– Supposons que DP(Γ[x := 1]) est vrai alors par récurrence Γ[x := 1] est satisfaisable donc Γ est satisfaisable,ce qui correspond à la valeur vrai de DP(Γ).

– Supposons que DP(Γ[x := 1]) est faux, alors par récurrence Γ[x := 1] est insatisfaisable. Donc Γ est insat-isfaisable, ce qui correspond à la valeur faux de DP(Γ).

Terminaison L’itération en 1 se termine car chaque passage en 1, le nombre de clauses diminue strictement. Larécurrence en 5 se termine car à chaque appel récursif le nombre de variables diminue strictement.

2

2On utilise le résultat du cours : Γ est satisfaisable ssi Γ[x := 0] est satisfaisable ou Γ[x := 1] est satisfaisable

35

Page 36: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Remarque 2.4.1Oubli de simplifications L’algorithme de Davis et Putnam a été donné avec les étapes de «simplifiaction» réduction

(2), enlévement des littéraux isolés (3) et réduction unitaire (4). L’algorithme reste correct si l’on omet cesétapes, ou si l’on ne fait qu’une partie des simplifications, ce qui est souvent le cas lorsqu’on fait une trace del’exécution sans machine, car, sans machine, il est fréquent (et pardonable puisque l’algorithme reste correct)d’oublier des simplifications.

Choix de la variable Un bon choix pour la variable x de l’étape (5), consiste à choisir la variable qui apparait le plussouvent. Un meilleur choix consiste à choisir la variable qui va entrainer par la suite le plus de simplifications :il faut faire des compromis entre le temps passé à choisir la «bonne» variable et l’importance des simplificationsinduite par ce choix.

36

Page 37: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

2.5 ExercicesExercice 21 (Résolvant) Par résolution, on a :a+b a+b

b+bMontrez que :b+b 6|= (a+b).(a+b)

Réponse

Exercice 22 (Résolvant) On considère que deux clauses sont égales si et seulement si elles ont mêmes ensembles delittéraux.

– Les clauses p+q+ r +q+ p+ s+q+ r et s+q+ r + p sont-elles égales ?– Les clauses p + q + r + p et q + r + q + r + q + r sont-elles égales ? L’une est-elle incluse dans l’autre ? L’une

est-elle la conséquence de l’autre ? Sont-elles équivalentes ?– Indiquer tous les résolvants des clauses a+ b+ c et a+b+ c. Ces résolvants sont-ils valides ?

Réponse

Exercice 23 (Preuve) L’ensemble suivant de formules a,a⇒ b, b est insatisfaisable. En donner une preuve par réso-lution.

Réponse

Exercice 24 (Preuve) L’ensemble de clauses a+b, a+ c, a+ d,d + c, b+a est insatisfaisable. En donner une preuvepar résolution. Réponse

Exercice 25 (Preuve) Transformer ¬(x⇔ y) en un produit de clauses.Puis montrer, à l’aide d’une preuve par résolution, la correction du raisonnement suivant :r∨q⇒ t, t ∧q⇒ r,q |= t⇔ r

Réponse

Exercice 26 (Formalisation et preuve) Montrer par résolution, la correction du raisonnement suivant :Il fait beau à moins qu’il ne neigeIl pleut à moins qu’il ne neigeIl fait beau ou il pleutDONC il ne neige pas. Réponse

Exercice 27 (Définir une clause) Une clause est la clause vide ou une disjonction (non vide) de littéraux. Donnerune définition formelle de ce qu’est une clause et définir par récurrence la fonction s telle que s(C) est l’ensemble deslittéraux de la clause C.

Réponse

Exercice 28 (Preuve) L’ensemble de clauses a+b+c, a+b, b+c, c+a, a+ b+ c est insatisfaisable. Le prouver parrésolution. Donner la preuve linéaire et sous forme d’arbre.

Réponse

Exercice 29 (Formalisation et preuve) Indiquez les hypothèses et la conclusion du raisonnement suivant :Il pleut ou il fait beau ou il neige. S’il pleut, je prends mon auto, s’il fait beau je prends mon vélo, s’il neige, je prendsmes skis. Donc, je prends mon auto ou mon vélo ou mes skis.Le formaliser. Montrer qu’il est correct (c’est-à-dire que la conclusion est conséquence des hypothèses) par la méthodede résolution, autrement dit transformer le produit des hypothèses et de la négation de la conclusion en un produit declauses, et en déduire la clause vide.

Réponse

37

Page 38: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Exercice 30 Prouver la propriété 2.1.1 sur la monotonie et composition.Réponse

Exercice 31 (La résolution n’ajoute aucun littéral) Soit Γ un ensemble de clauses. Un littéral de Γ est un littérald’une clause de Γ.Montrez que toute clause déduite de Γ ne comporte que des littéraux de Γ. Réponse

Exercice 32 (Réduction, X1603 Andrews)Soit l’ensemble de clauses {p+q, p+ r + q+ p, p+ r,q+ p+ q,q+ r + p,r +q+ p+ r, r +q}

1. Réduire cet ensemble (la réduction est définie en 2.3.2)

2. Indiquez si l’ensemble réduit est ou non satisfaisableRéponse

Exercice 33 Utilisez l’algorithme DP pour déterminer si l’ensemble suivant de clauses est satisfaisable ou insatis-faisable :a+b+ c+d + e+ f , a+b, b+a, c+d, d + c, b+ c, b+ c,b+ c, e, fOn donnera une trace de l’algorithme.

Réponse

Exercice 34 Utilisez l’algorithme DP pour déterminer si l’ensemble suivant de clauses est satisfaisable ou insatis-faisable :a+b+ c+d + f , a+b, b+a, c+d, d + cOn donnera une trace de l’algorithme.

Réponse

Exercice 35 Prouver le lemme 2.4.1 Réponse

Exercice 36 Prouver le lemme 2.4.2 Réponse

Exercice 37 (Stratégie complète, exercice donné en 2004) Soit Γ le produit suivant de clauses :

(a+b+ c).(b+ c).(c+ c).(b+ c).(a+ b+ c).(a+ b+ c)

Déterminer par la stratégie complète de résolution si Γ est insatisfiable ou possède un modèle. Donner la trace del’algorithme. Indiquez la ou les preuves obtenues. Si Γ a un modèle indiquez-le. Réponse

Exercice 38 (Stratégie complète) Considérons la fonction f telle que f (x,y,z) = 0 si et seulement si le nombre d’ar-guments valant 1 est pair.Exprimez f comme un produit de clauses suivant la méthode décrite au paragraphe 1.9 puis simplifier f en utilisantla stratégie complète.

Réponse

38

Page 39: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Chapitre 3

Déduction Naturelle

Introduction

Quand on demande une preuve dans les cours de Mathématiques, quand on décompose un raisonnement en pasélémentaires évidents, on pratique sans le savoir la déduction naturelle. Le système formel, présenté dans ce cours, estune modélisation particulière de la déduction naturelle. Elle a de nombreux points communs avec le système étudiédans l’UE INF122, que l’on peut voir à l’adresse :http://www-verimag.imag.fr/~monin/EnseignementPublic/L1/INF122/Cours/06-07/Version_papier/.Mais il y a quelques différences entre les deux systèmes :

– La règle de l’élimination de la disjonction, ∨E, est formulée différemment (voir au paragraphe 3.1.1).– Les preuves dans notre système ne sont pas des arbres mais ressemblent aux preuves des mathématiciens– Les abréviations (négation et équivalence) sont utilisées implicitement

En outre nous montrons la cohérence et la complétude de notre version de la déduction naturelle.Dans le système de la résolution, une preuve est une liste de clauses. En déduction naturelle, au cours d’une preuve,

on peut ajouter des hypothèses et les enlever, ce qui rend plus complexe la définition de ce qu’est une preuve. La règlede preuve fondamentale est la suivante : si l’on peut déduire une formule B d’une hypothèse A, alors on peut déduireA⇒ B en se passant de cette hypothèse.

Pour produire automatiquement des preuves dans notre système, on recommande d’utiliser le logiciel :http://www-lsr.imag.fr/users/Michel.Levy/prop_classique/

Ceux qui affectionnent les preuves sous forme d’arbres, peuvent s’aider du logiciel :http://www-sop.inria.fr/lemme/Laurent.Thery/peanoware/Nd.html

3.1 Le système formel

Nous présentons d’abord les règles du système, qui sont les raisonnements élémentaires autorisés, avant d’exposerla notion de preuve. On montre, uniquement avec des exemples, que les preuves peuvent être transformées en arbresde preuve au sens de l’UE INF122.

3.1.1 Les règles

On dénote les formules par les majuscules du début de l’alphabet.On choisit de ne parler que de la logique clas-sique. La logique intuitioniste est obtenue en omettant la règle de réduction à l’absurde, qui est la dernière règle dutableau ci-dessous.

39

Page 40: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Introduction Élimination[A]....B

A⇒ B ⇒ I A A⇒ BB ⇒ E

A BA∧B ∧I A∧B

A ∧E1

A∧BB ∧E2

AA∨B ∨I1 A∨B A⇒C B⇒C

C ∨E

AB∨A ∨I2

Règle du faux⊥A

E f q

Règle de réduction à l’absurde¬¬A

A RAA

Pour chaque règle, les formules au dessus du trait sont les prémisses de la règle et la formule en dessous du traitest la conclusion de la règle.

La négation et l’équivalence sont des abréviations ainsi définies :– ¬A .= A⇒⊥– A⇔ B .= (A⇒ B)∧ (B⇒ A)

Dire que ces connectives sont des abréviations, signifie que dans une preuve, on identifie une formule avec la formuleobtenue en éliminant les abréviations. Par exemple on considère comme identiques les formules ¬¬a, ¬(a⇒ ⊥),¬a⇒⊥, (a⇒⊥)⇒⊥.Il est clair que deux formules égales aux abréviations près sont équivalentes (voir exercice 40).

Définition 3.1.1 Deux ensembles de formules sont égaux aux abréviations près si toute formule de l’un des ensemblesest égale aux abréviations près à une formule de l’autre ensemble.

3.1.2 Preuve3.1.2.1 Brouillon de preuve

Définition 3.1.2 (Ligne de preuve) Une ligne de preuve est de l’une des trois formes :– supposons formule,– formule,– donc formule.

Définition 3.1.3 (Brouillon de preuve) Un brouillon de preuve est une suite de lignes telle que, dans tout préfixe dela suite, le nombre de lignes commençant par le mot supposons est au moins égal à celui des lignes commençantpar le mot donc.

Exemple 3.1.1 Dans l’exemple ci-dessous, la suite des lignes de 1 à 3 est un brouillon de preuve. Par contre la suitedes lignes de 1 à 5, n’est pas un brouillon de preuve car dans la suite des lignes 1 à 4, le nombre de lignes commençantpar le mot donc dépasse celui des lignes commençant par le mot supposons.

numero ligne1 supposons a2 a∨b3 donc a⇒ a∨b4 donc ¬a5 supposons b

40

Page 41: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

3.1.2.2 Contexte des lignes d’un brouillon de preuve

À chaque ligne d’un brouillon de preuve , on associe son contexte, qui est la suite des hypothèses introduites parles lignes supposons et non enlevées par les lignes donc.

Plus précisément numérotons les lignes d’un brouillon de preuve de 1 à n et soit Γ0 la liste vide.Pour i de 1 à n, la liste de formules Γi est le contexte de la ligne i. Les listes de formules Γi sont ainsi définies :

– Si la ligne i est «supposons A», alors Γi = Γi−1,A.– Si la ligne i est «A» alors Γi = Γi−1– Si la ligne i est «donc A» alors Γi est obtenue en enlevant la dernière formule de Γi−1

La liste Γi est le contexte de la ligne i.Puisque dans tout préfixe d’un brouillon de preuve, le nombre de lignes commençant par le mot supposons est au

moins égal à celui des lignes commençant par le mot donc, le contexte de la ligne précédent une ligne donc n’est pasvide et par suite le contexte de chaque ligne d’un brouillon de preuve est bien défini.

Exemple 3.1.2 Dans l’exemple ci-dessous (comme dans la suite), on représente les contextes de chaque ligne enremplaçant chaque hypothèse du contexte par la ligne où cette hypothèse est introduite.

contexte numero ligne1 1 supposons a1,2 2 supposons b1,2 3 c1 4 donc d1,5 5 supposons e

3.1.2.3 Formules utilisables

La formule figurant sur une ligne de preuve est la conclusion de la ligne. La conclusion d’une ligne est utilisabletant que son contexte (c’est-à-dire les hypothèses qui ont permis de la déduire) est présent. Autrement dit la conclusionde la ligne i est utilisable sur la ligne i et sur toutes les lignes suivantes dont le contexte a pour préfixe le contexte dela ligne i.

Exemple 3.1.3 Dans cet exemple, la conclusion de la ligne 2 est utilisable sur la ligne 2, et pas au delà, car à la ligne3, l’hypothèse qui a permis de la déduire est enlevée.

contexte numero ligne1 1 supposons a1 2 a∨b

3 donc a⇒ b4 a5 b∨a

3.1.2.4 Preuves

Soit Γ un ensemble de formules, une preuve dans l’environnement Γ est un brouillon de preuve, ayant les propriétéssuivantes :

1. pour toute ligne «donc A», la formule A est égale aux abréviations près à B⇒C, où B est la dernière formuledu contexte de la ligne précédente et où C est une formule utilisable sur la ligne précédente ou égale auxabréviations près à un élément de l’environnement Γ.Cette ligne est une application de la règle d’introduction de l’implication. En effet C est déduite de Γ ou d’hy-pothèses qui figurent dans la ligne précédente. La liste des hypothèses de la ligne précédente se terminant par B,on peut en déduire B⇒C, en se passant de l’hypothèse B.

2. pour toute ligne «A», la formule A est aux abréviations près la conclusion d’une règle (autre que la règled’introduction de l’implication) dont les premisses, aux abréviations près, sont utilisables sur la ligne précédenteou sont éléments de l’environnement Γ.

41

Page 42: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Une preuve de la formule A dans l’environnement Γ est soit la preuve vide lorsque A est, aux abréviations près,élément de Γ, soit une preuve dont la dernière ligne est, aux abréviations près de conclusion A et de contexte vide.

On note Γ ` A le fait qu’il y a une preuve de A dans l’environnement Γ et Γ ` P : A le fait que P est une preuve deA dans l’environnement Γ.Lorque l’environnement est vide, on l’omet, autrement dit on abrège /0 ` A en ` A et lorsqu’on demande une preuved’une formule sans indiquer d’environnement, c’est qu’on suppose l’environnement vide.

Exemple 3.1.4 Prouvons (a⇒ b)⇒ (¬b⇒¬a).

contexte numéro preuve justification1 1 Supposons a⇒ b1,2 2 Supposons ¬b1,2,3 3 Supposons a1,2,3 4 b ⇒E 1, 31,2,3 5 ⊥ ⇒E 2, 41,2 6 Donc ¬a ⇒I 3, 51 7 Donc ¬b⇒¬a ⇒I 2, 6

8 Donc (a⇒ b)⇒ (¬b⇒¬a) ⇒I 1,7La preuve elle-même est ce qui figure dans la colonne preuve. On y a ajouté la numérotation des lignes de preuves, lesjustifications qui indiquent les règles utilisées et les contextes de chaque ligne de la preuve.

On donne cette même preuve sous forme d’un arbre de preuve pour illustrer la correspondance avec le cours deINF122 : http://www-verimag.imag.fr/~monin/EnseignementPublic/L1/INF122/Cours/06-07/Version_papier/.

Exemple 3.1.5 Preuve précédente sous forme d’arbre

(2)��¬b(1)���a⇒ b (3)�a

(4)b⇒ E

(5)⊥ ⇒ E

(6)¬a⇒ I[3]

(7)¬b⇒¬a⇒ I[2]

(8)(a⇒ b)⇒ (¬b⇒¬a)⇒ I[1]

On constatera que, contrairement au cours cité, où l’usage des définitions est marqué par une barre en pointillé, dansnos preuves, les définitions sont implicites. De plus la convention pour lever une hypothèse, consiste à barrer cettehypothèse.

Exemple 3.1.6 On donne la preuve de ¬A∨B dans l’environnement A⇒ B.

environnementréférence formule

i A⇒ Bcontexte numero preuve justification1 1 supposons ¬(¬A∨B)1,2 2 supposons A1,2 3 B ⇒E i, 21,2 4 ¬A∨B ∨I2 31,2 5 ⊥ ⇒E 1, 41 6 donc ¬A ⇒I 2, 51 7 ¬A∨B ∨I1 61 8 ⊥ ⇒E 1, 7

9 donc ¬¬(¬A∨B) ⇒I 1, 910 ¬A∨B RAA 9

On suggère de numéroter par i,ii,iii,etc... les formules de l’environnement pour distinguer ces numéros et lesnuméros des lignes de la preuve.

42

Page 43: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Exemple 3.1.7 Preuve précédente sous forme d’arbre

(1)�����¬(¬A∨B)

(1)�����¬(¬A∨B)

(i)A⇒ B (2)�A(3)B

⇒ E

(4)¬A∨B∨2

(5)⊥ ⇒ E

(6)¬A⇒ I[2]

(7)¬A∨B∨1

(8)⊥ ⇒ E

(9)¬¬(¬A∨B)⇒ I[1]

(10)¬A∨BRAA

Dans l’arbre de preuve, l’environnement est constitué des formules portées par les feuilles non enlevées.

Théorème 3.1.1 (Indifférence aux abréviations) Soient Γ et ∆ deux ensembles de formules égaux aux abréviationsprès. Toute preuve dans l’environnement Γ est aussi une preuve dans l’environnement ∆.Soient A et B deux formules égales aux abréviations près. Toute preuve de A dans l’environnement Γ est aussi unepreuve de B dans l’environnement ∆.

Preuve : Il suffit de constater que dans la définition des preuves, on peut remplacer toute formule par une autre formuleégale aux abréviations près. 2

3.2 Cohérence de la déduction naturelleThéorème 3.2.1 (Cohérence de la déduction) Si une formule est déduite d’un environnement de formules alors elleen est une conséquence.

Preuve : Soit Γ un ensemble de formules. Soit P une preuve de A dans cet environnement. Soit Ci la conclusion et Hile contexte de la i-ème ligne de la preuve P. Notons par Γ,Hi l’ensemble des formules de l’ensemble Γ et de la listeHi.

Supposons que pour tout i < k, Γ,Hi |= Ci. Montrons que Γ,Hk |= Ck.

1. Supposons que la ligne k est «supposons Ck». La formule Ck est la dernière formule de Hk, donc Γ,Hk |= Ck.

2. Supposons que la ligne k est «donc Ck». La formule Ck est égale, aux abréviations près à la formule B⇒ D,B est la dernière formule de Hk−1 et D est, aux abréviations près, élement de Γ ou est utilisable sur la ligneprécédente.

(a) Dans le premier cas D est égale aux abréviations près à une formule de Γ. Puisque deux formules, égalesaux abréviations près, sont équivalentes, D est conséquence de Γ, donc Γ,Hk |= B⇒ D. Et puisque deuxformules, égales aux abréviations prés, sont équivalentes, on a aussi Γ,Hk |= Ck.

(b) Dans le deuxième cas, D est utilisable sur la ligne précédente. Donc il existe i < k tel que D = Ci et Hiest préfixe de Hk−1. Par hypothèse de récurrence, Γ,Hi |= D. Puisque Hi est préfixe de Hk−1, Γ,Hk−1 |= D.Puisque B est la dernière formule de Hk−1, on a Hk−1 = Hk,B et donc Γ,Hk |= B⇒ D. Et puisque deuxformules, égales aux abréviations prés, sont équivalentes, on a Γ,Hk |= Ck.

3. Supposons que la ligne k est «Ck». Cette formule est, aux abréviations près, la conclusion B d’une règle duparagraphe 3.1.1, appliquée à ses prémisses utilisables à la ligne précédente ou éléments de Γ.Considérons le seul cas de la règle ∧I, les autres cas étant analogues. La formule B s’écrit, aux abréviations près,(D∧E) et les premisses de la règle sont D et E.Puisque D et E sont, aux abréviations près, éléments de Γ ou utilisables à la ligne précédente, comme dans lecas précédent, en utilisant l’hypothèse de récurrence, on a :Γ,Hk−1 |= D et Γ,Hk−1 |= EPuisque la ligne k ne change pas les hypothèses, on a Hk−1 = Hk, donc Γ,Hk |= D et Γ,Hk |= EPuisque B est, aux abréviation près, égale à (D∧E), on a : D,E |= B.

43

Page 44: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Par suite Γ,Hk |= B. Puisque la formule Ck est égale, aux abréviations près à la formule B, donc équivalente à B,on a : Γ,Hk |= Ck

Supposons que A soit déduite de Γ par la preuve vide. Alors A est (aux abréviations près) élément de Γ, donc Γ |= A.Supposons que la preuve de A, n’est pas vide.D’après la preuve par récurrence «forte» ci-dessus, pour toute ligne i de la preuve P, nous avons Γ,Hi |= Ci. Soit n ladernière ligne de cette preuve : par définition Hn est la liste vide et Cn = A, donc Γ |= A. 2

3.3 Complétude de la déduction naturelleOn prouve la complétude des règles uniquement pour les formules avec les symboles logiques ⊥,∧,∨,⇒. La

complétude pour les formules obtenues en ajoutant ¬ et ⇔ résulte immédiatement de l’indifférence des preuves auregard des abréviations.

Théorème 3.3.1 (Complétude ⊥,∧,∨,⇒) Soit Γ un ensemble fini de formules et A une formule (sur les symboleslogiques ⊥,∧,∨,⇒). Si Γ |= A alors Γ ` A.

Preuve : Vu l’absence de négation, on réfinit un littéral comme étant une variable ou une implication entre une variableet ⊥. Soit x une variable, x et x⇒⊥ (qui peut être abrégé en ¬x) sont des littéraux complémentaires.Dans la suite nous distinguons une liste de formules Γ et s(Γ) l’ensemble des formules de la liste.Pour simplifier les notations, nous utilisons la virgule pour ajouter un élément en debut ou en fin de liste ainsi que pourconcaténer deux listes, que ces listes soit des listes de formules ou des preuves.Soit m une mesure des formules et des listes de formules, ainsi définie :

– la mesure de ⊥ est 0, celle d’une variable est 1, celle de⇒ est 1, celle de ∧ est 1, celle de ∨ est 2– la mesure d’une formule est la somme des mesures de ses symboles et de ses variables– la mesure d’une liste de formules est la somme des mesures des formules de la liste

Par exemple soit A = (a∨ (a⇒>)), on m(A) = 5, et m(A,(b∧b),A) = 13.Soit P(n) la proprité suivante : Soit Γ une liste de formules et A une formule telle que n = m(Γ,A), si s(Γ) |= A alorss(Γ) ` A.Pour montrer que P(n) est vraie pour tout entier n, on utilise la récurrence «forte», en supposant que pour tout i tel quei < k, la propriété P(i) est vérifiée. Et on montre P(k).Supposons donc que m(Γ,A) = k et que s(Γ) |= A et montrons que s(Γ) ` A.On examine tous les choix possibles pour Γ et A. On commence par «raisonner en arrrière» en décomposant A, puispar «raisonner en avant» en décomposant une des formules de Γ. Lorsqu’aucune de ces décompositions n’est possible,il est facile de voir que A peut se déduire en zéro ou une règle de s(Γ).

1. Supposons que A = (B∧C). On sait que s(Γ) |= B et s(Γ) |= C.Les mesures de B et C sont strictement inférieures à celles de A.Donc m(Γ,B) < k et m(Γ,C) < k, et par hypothèse de récurrence, il existe deux preuves P et Q telles ques(Γ) ` P : B et s(Γ) ` Q : C.Puisque A peut se déduire de B et C par la règle ∧I :«P, Q, A» est une preuve de A dans l’environnemnt s(Γ) donc s(Γ) ` A.

2. Supposons que A = (B⇒C). Puisque s(Γ) |= A, il en résulte que s(Γ,B) |= C.La somme des mesures de B et C est strictement inférieure (de 1) à celle de A.Donc m(Γ,B,C) < k, et par hypothèse de récurrence, il existe une preuve P telle que s(Γ,B) ` P : C.Puisqu’on peut déduire A de C en appliquant la règle⇒I qui enlève l’hypothèse B :«supposons B, P, donc A» est une preuve de A dans l’environnement s(Γ) donc s(Γ) ` A.

44

Page 45: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

3. Supposons que A = (B∨C). Puisque s(Γ) |= A, il en résulte que s(Γ,B⇒⊥) |= C.Puisque la mesure de ∨ est 2 et celle de ⊥ est 0, la somme des mesures de B⇒ ⊥ et de C est strictementinférieure (de 1) à celle de A.Donc m(Γ,B⇒⊥,C) < k, et par hypothèse de récurrence, il existe une preuve P telle que s(Γ,B⇒⊥) ` P : C.Soit P1 1 une preuve de (B∨C) dans l’environnement ((B⇒⊥)⇒C).Puisqu’on peut déduire ((B⇒⊥)⇒C) de C en appliquant la règle⇒I qui enlève l’hypothèse (B⇒⊥) :«supposons (B⇒⊥), P, donc ((B⇒⊥)⇒C), P1»est une preuve de A dans l’environnement s(Γ), donc s(Γ) ` A.

4. Supposons que la liste Γ est une permutation de la liste (B∧C),∆. Puisque ces deux listes sont des permutationsl’une de l’autre, elles ont la même mesure.Puisque s(Γ) |= A, il en résulte que s(B,C,∆) |= A.La somme des mesures de B et C est strictement inférieure (de 1) à celle de A.Donc m(B,C,∆,A) < m((B∧C),∆,A) = m(Γ,A) = k, par hypothèse de récurrence, il existe une preuve P telleque s(B,C,∆) ` P : APuisque B peut se déduire de (B∧C) par la règle ∧E1 et que C peut se déduire de (B∧C) par la règle ∧E2 :«B, C, P» est une preuve de A dans l’environnement s(Γ), donc s(Γ) ` A.

5. Supposons que la liste Γ est une permutation de la liste (B∨C),∆.Puisque s(Γ) |= A, il en résulte que s(B,∆) |= A et s(C,∆) |= A.Les mesures des formules B et C sont strictement inférieures à celle de (B∨C).Donc m(B,∆,A) < k et m(C,∆,A) < k, par hypothèse de récurrence, il existe deux preuves P et Q telles ques(B,∆) ` P : A et s(C,∆) ` P : A.Puisque A peut se déduire de (B∨C), (B⇒ A), (C⇒ A) par la règle ∨E :«supposons B, P, donc (B⇒ A), supposons C, Q, donc (C⇒ A), A»est une preuve de A dans l’environnement s(Γ), donc s(Γ) ` A.

6. Supposons que la liste Γ est une permutation de la liste (B⇒C),∆ où C 6=⊥.Puisque s(Γ) |= A, il en résulte que s(B⇒⊥,∆) |= A et s(C,∆) |= A.Comme C 6=⊥, la mesure de C n’est pas nulle et donc m(B⇒⊥) < m(B⇒C). Il est clair que : m(C) < m(B⇒C).Par suite m(B⇒⊥,∆,A) < k et m(C,∆,A) < k, donc par hypothèse de récurrence, il existe deux preuves P et Qtelles que s(B⇒⊥,∆) ` P : A et s(C,∆) ` Q : A.Soit P2 2 une preuve de ((B⇒⊥)∨C) dans l’environnement B⇒C.Puisque A peut se déduire de ((B⇒⊥)∨C, ((B⇒⊥)⇒ A), (C⇒ A) par la règle ∨E :«P2, supposons B⇒⊥, P, donc ((B⇒⊥)⇒ A), supposons C, Q, donc (C⇒ A), A»est une preuve de A dans l’environnement s(Γ), donc s(Γ) ` A.

7. Supposons que la liste Γ est une permutation de la liste ((B∧C)⇒⊥),∆.Puisque s(Γ) |= A, il en résulte que s((B⇒⊥),∆ |= A et s((C⇒⊥),∆ |= A.Les mesures de B⇒⊥ et de C⇒⊥ sont strictement inférieures à celle de (B∧C).Donc m((B⇒⊥),∆,A) < k et m((C⇒⊥),∆,A) < k, par hypothèse de récurrence, il existe deux preuves P etQ telles que s((B⇒⊥),∆) ` P : A et s((C⇒⊥),∆) ` P : A.Soit P3 3 une preuve de ((B⇒⊥)∨ (C⇒⊥) dans l’environnement ((B∧C)⇒⊥).Puisque A peut se déduire de ((B⇒⊥)∨ (C⇒⊥), ((B⇒⊥)⇒ A, ((C⇒⊥)⇒ A par la règle ∨E :«P3, supposons (B⇒⊥), P, donc ((B⇒⊥)⇒ A), supposons (C⇒⊥), Q, donc ((C⇒⊥)⇒ A), A»est une preuve de A dans l’environnement s(Γ), donc s(Γ) ` A.

1La preuve P1 est demandée à l’exercice 442La preuve P2 est demandée à l’exercice 453La preuve P3 est demandée à l’exercice 46

45

Page 46: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

8. Supposons que la liste Γ est une permutation de la liste ((B∨C)⇒⊥),∆.Puisque s(Γ) |= A, il en résulte que s((B⇒⊥),(C⇒⊥),∆) |= A.Puisque la mesure de ∨ est 2 et celle de⊥ est 0, la somme des mesures de (B⇒⊥) et de (C⇒⊥) est strictementinférieure (de 1) à celle de ((B∨C)⇒⊥).Donc m((B⇒⊥),(C⇒⊥),∆,A) < k, par hypothèse de récurrence, il existe une preuve P telle que :s((B⇒⊥),(C⇒⊥),∆) ` P : A.Soit P4 une preuve de (B⇒⊥) dans l’environnement ((B∨C)⇒⊥) et P5 une preuve de (C⇒⊥) dans cemême environnement4 :«P4, P5, P» est une preuve de A dans l’environnement s(Γ), donc s(Γ) ` A.

9. Supposons que la liste Γ est une permutation de la liste ((B⇒C)⇒⊥),∆.Puisque s(Γ) |= A, il en résulte que s(B, (C⇒⊥)∆) |= A.La somme des mesures de B et de (C⇒⊥) est inférieure de 1 à celle de ((B⇒C)⇒⊥)Donc m(B, (C⇒⊥),∆,A) < k, et par hypothèse de récurrence, il existe une preuve P telle que :s(B, (C⇒⊥), ∆) ` P : A.Soit P6 une preuve de B dans l’environnement ((B⇒ C)⇒⊥) et P7 une preuve de (C⇒⊥) dans ce mêmeenvironnement 5 :«P6, P7, P» est une preuve de A dans l’environnement s(Γ), donc s(Γ) ` A.

10. Lorsqu’il est impossible de décomposer A ou une formule de Γ, alors A est ⊥ ou une variable et Γ est une listede littéraux ou comprend la formule ⊥

(a) Supposons que ⊥ est une formule de Γ alors A peut se deduire de ⊥ par la règle Efq, donc s(Γ) ` A.

(b) Supposons que Γ est une liste de littéraux et que A = ⊥. Puisque s(Γ) |= A, la liste Γ comporte deuxlittéraux complémentaires, donc A peut se déduire de Γ par la règle⇒E, et par suite s(Γ) ` A.

(c) Supposons que Γ est une liste de littéraux, que A est une variable. Puisque s(Γ) |= A, soit Γ comporte deuxlittéraux complémentaires et comme dans le cas précédent, on a s(Γ) ` A , soit A est élément de Γ et dansce cas on a aussi s(Γ) ` A (par la preuve vide).

2

Remarque 3.3.1 La preuve de complétude est constructive, c’est à dire qu’elle donne un ensemble complet de tac-tiques pour construire des preuves d’une formule dans un environnement. Cependant ces tactiques peuvent donner despreuves longues. En particulier si l’on doit prouver une formule (B∨C), il vaut mieux en général essayer de prouverB, puis essayer de prouver C et seulement en cas d’échec, utiliser la tactique donnée dans la preuve, qui «réduit» cettepreuve à une preuve de C en ajoutant l’hypothèse ¬B.

Théorème 3.3.2 (Complétude ⊥,∧,∨,⇒,¬,⇔) Soit Γ un ensemble fini de formules et A une formule (sur les sym-boles logiques ⊥,∧,∨,⇒,¬,⇔). Γ |= A si et seulement si Γ ` A.

Preuve :

⇒ Supposons Γ |= A. Soit ∆ l’ensemble de formules obtenues en éliminant ¬ et ⇔ des formules de Γ. Soit B laformule obtenue en éliminant ¬ et⇔ de la formule A.Puisque les formules, égales aux abréviations près, sont équivalentes, on a ∆ |= B.D’après le théorème précédent, ∆ ` B. Donc il existe P une preuve de B dans l’environnement ∆.D’après le théorème 3.1.1, qui précise que les preuves sont indifférentes aux abréviations, P est aussi une preuvede A dans l’environnement Γ, donc Γ ` A.

⇐ Supposons Γ ` A. D’après le théorème 3.2.1, Γ |= A

2

.

4Les preuves P4 et P5 sont demandées à l’exercice 475Les preuves P6 et P7 sont demandées à l’exercice 48

46

Page 47: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

3.4 ExercicesExercice 39 La suite de lignes suivante n’est pas un brouillon de preuve. Indiquez le numéro i de la première lignetelle que les lignes 1 à i−1 soient un brouillon de preuve et que les lignes 1 à i ne soient pas un brouillon de preuve.Préciser le contexte (avec les conventions des exemples du cours) des lignes 1 à i−1.

contexte numero preuve1 supposons a2 supposons b3 c4 donc d5 supposons e6 f7 donc g8 h9 i10 donc j11 donc k12 l

Réponse

Exercice 40 Soit A une formule et d(A) la formule obtenue en remplaçant dans A, les négations et les équivalencespar leur définition. d(A) est la formule obtenue en «dépliant» A, d’où le nom d choisi pour cette fonction de dépliage.

– Définir par récurrence la fonction d.– Montrez que les formules A et d(A) sont équivalentes.– En déduire que deux formules, égales aux abréviations près, sont équivalentes.

Exercice 41 Donnez la preuve de a⇒ c dans l’environnement a⇒ b,b⇒ c.Donnez la preuve de (a⇒ b)∧ (b⇒ c)⇒ (a⇒ c).Donnez la preuve de (a⇒ b)⇒ ((b⇒ c)⇒ (a⇒ c)).Toutes les preuves devront être données avec le formalisme du cours et les arbres de preuve.

Exercice 42 Donnez les preuves de a⇒¬¬a, ¬¬a⇒ a, a⇔¬¬a.Toutes les preuves devront être données avec le formalisme du cours et les arbres de preuve.

Exercice 43 Donnez les preuves avec le formalisme du cours et les arbres de preuve des formules suivantes :

1. a⇒ (b⇒ a)

2. a∧b⇒ a

3. ¬a⇒ (a⇒ b)

4. (a⇒ (b⇒ c))⇒ ((a⇒ b)⇒ (a⇒ c))

5. a∧b⇒ b∧a

6. a∨b⇒ b∨a

7. (a⇒ (b⇒ c))⇒ (a∧b⇒ c)

8. (a∧b⇒ c)⇒ (a⇒ (b⇒ c))

9. (a⇒ b)∧ (c⇒ d)⇒ (a∧ c⇒ b∧d)

Exercice 44 Donnez une preuve de (B∨C) dans l’environnement ((B⇒⊥)⇒C). Réponse

47

Page 48: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Exercice 45 Donnez une preuve de ((B⇒⊥)∨C) dans l’environnement B⇒C. Réponse

Exercice 46 Donnez une preuve de ((B⇒⊥)∨ (C⇒⊥) dans l’environnement ((B∧C)⇒⊥)Réponse

Exercice 47 Donnez une preuve de (B⇒⊥) dans l’environnement ((B∨C)⇒⊥)Donnez une preuve de (C⇒⊥) dans le même environnement.

Réponse

Exercice 48 Donnez une preuve de B dans l’environnement ((B⇒C)⇒⊥)Donnez une preuve de (C⇒⊥) dans le même environnement.

Réponse

Exercice 49 Donnez les preuves avec le formalisme du cours et les arbres de preuve des formules suivantes :

1. ¬(a∨b)⇒ (¬a∧¬b)

2. (¬a∧¬b)⇒¬(a∨b)

3. ¬(a∧b)⇒ (¬a∨¬b)

4. (¬a∨¬b)⇒¬(a∧b)

5. (a∨b)∧ (¬a∨b)⇒ b

6. (a∨b)∧ (¬b∨ c)⇒ a∨ c

48

Page 49: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Chapitre 4

Logique du premier ordre

La logique du premier ordre permet de parler de structures comportant un seul domaine non vide et des fonctions etrelations sur ce domaine. Le langage de cette logique comporte deux catégories, les termes qui dénotent des élémentsdu domaine et les formules qui décrivent des propriétés des relations et fonctions. Par exemple le terme pere(x) désignele père de x et la formule ∀x∃y parent(y,x) indique que tout individu a un parent.

4.1 Le langage

4.1.1 Formules strictes

4.1.1.1 Le vocabulaire

Pour écrire les formules, on dispose du vocabulaire suivant :

1. les variables : suite de lettres et de chiffres commençant par une des minuscules u,v,w,x,y,z.

2. les symboles ordinaires : suite de lettres et de chiffres ne commençant pas par une des minuscules u,v,w,x,y,z.

3. les symboles spéciaux : +,−,∗,/,=, 6=,<,≤,>,≥, . . .

4. les ponctuations : la virgule et les parenthèses

5. les connectives ¬,∧,∨,⇒,⇔

6. les quantificateurs ∀ le quantificateur universel et ∃ le quantificateur existentiel

Par exemple x,x1,x2,y sont des variables.Un symbole est un symbole ordinaire ou spécial.

4.1.1.2 Termes

– un symbole ordinaire ou une variable est un terme– si t1, . . . tn sont des termes et si s est un symbole alors s(t1, . . . tn) est un terme

Par exemple x,a, f (x1,x2,g(y)),+(x,∗(y,z)) sont des termes.

4.1.1.3 Formules atomiques

– > et ⊥ sont des formules atomiques– un symbole ordinaire est une formule atomique– si t1, . . . tn sont des termes et si s est un symbole alors s(t1, . . . tn) est une formule atomique.

49

Page 50: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

4.1.1.4 Formules

– une formule atomique est une formule– si A est une formule alors ¬A est une formule– si A et B sont des formules et si ◦ est une des opérations ∨,∧,⇒,⇔ alors (A◦B) est une formule– si A est une formule et si x une variable quelconque alors ∀x A et ∃x A sont des formules

4.1.2 Formules à priorité

Pour abréger l’écriture des termes, certains symboles de fonction +,−,∗,/ peuvent être écrits de la façon usuelle.Par exemple on abrège le terme +(x,∗(y,z)) en x+y∗ z et la transformation inverse est défini en donnant des prioritésaux symboles +,−,∗,/.

Pour abréger l’écriture des formules atomiques, certains symboles de relations =, 6=,<,≤,>,≥ peuvent être écritsde la façon usuelle. Par exemple on abrège la formule atomique≤ (∗(3,x),+(y,5)) en 3∗x≤ y+5. La transformationinverse est définie en donnant aux symboles =, 6=,<,≤,>,≥ des priorités inférieures à celle des symboles +,−,∗,/.

De même on reprend les priorités précédentes pour les connectives, en décidant que la priorité des quantificateursest identique à celle de la négation.

On règle les problèmes de priorités en attribuant aux symboles du tableau ci-dessous des priorités décroissantes duhaut vers le bas du tableau :

opérations−+ unaire∗,/ associatif gauche

+,− binaire associatif gaucherelations

=, 6=,<,≤,>,≥négation, quantificateurs

¬,∀,∃connectives binaires∧ associatif gauche∨ associatif gauche⇒ associatif droit⇔ associatif gauche

On indique seulement deux règles de formation des formules à priorité, qui les distinguent des formules complété-ment parenthèses et permettent d’omettre des parenthèses ou d’ajouter des nouvelles parenthèses :

– A est une formule à priorité alors ¬A est une formule à priorité– si A et B sont des formules à priorité alors A◦B est une formule à priorité– si x est une variable et A une formule à priorité alors ∀x A et ∃x A sont des formules à priorité– si A est une formule à priorité alors (A) est une formule à priorité

La formule (à priorité) ∀xP(x)∧ ∀xQ(x) ⇔ ∀x(P(x)∧Q(x)) peut être vue comme une abréviation de la formule((∀xP(x)∧∀xQ(x))⇔∀x(P(x)∧Q(x))).La formule (à priorité) ∀x∀y∀z(x≤ y∧y≤ z⇒ x≤ z) peut être vue comme une abréviation de la formule ∀x∀y∀z((≤(x,y)∧ ≤ (y,z))⇒≤ (x,z)).Notez que, puisque la priorité du ∀ est plus forte que celle de⇒, dans la formule ∀xP(x)⇒ Q(x), l’opérande gauchede l’implication est ∀xP(x). La structure de la formule sera ainsi représentée par la formule à priorité (∀xP(x))⇒Q(x)ou par l’arbre suivant :

50

Page 51: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

}}||||

||||

AAA

AAAA

A

∀x

��

Q

��P

��

x

x

4.1.3 Variables libres et liéesLe sens de la formule x + 2 = 4 dépend de x : la formule n’est vraie (en arithmétique) que si x = 2. La variable x

est libre dans la formule.Par contre toujours en arithmétique ∀x(x + 2 = 4) est une formule fausse et ∀x∀y(x + y = y + x) est une formule

vraie indépendamment des valeurs de x et y. Ces deux formules n’ont pas de variables libres. Précisons ces notions.

4.1.3.1 Occurrences libres et liées

Soit x une variable et A une formule. Dans une formule ∀x A ou ∃x A, la portée de la liaison pour x est A.Une occurrence de x dans une formule est libre si elle n’est pas dans la portée d’une liaison pour x.

Pour voir les occurrences des variables, on dessine les structures des formules en faisant apparaître ∀x et ∃x commedes sommets de ces structures. Dessinons la structure de la formule ∀xP(x,y)∧∃zR(x,z), puisque la priorité de ∀ estsupérieure à celle du ∧, cette structure est :

wwoooooooooooooo

''OOOOOOOOOOOOOO

∀x

��

∃z

��P

��~~~~

~~~~

��@@@

@@@@

@ R

������

����

��???

????

?

x y x zSur ce type de structure, une occurrence liée de la variable x c’est une occurence en dessous d’un sommet ∃x ou

∀x. Une occurrence de x qui n’est pas sous un tel sommet est libre.Revenons à l’exemple : l’occurrence en gras de x est liée, l’occurrence soulignée de x est libre. L’occurrence de z estliée.

4.1.3.2 Variables libres et liées

La variable x est une variable libre d’une formule si et seulement si il y a une occurrence libre de x dans la formule.Revenons à l’exemple, la formule a comme variables libres x et y.Une formule sans variable libre est aussi appelée une formule fermée.

4.2 Le sens des formulesEn logique du premier ordre, le sens des connectives, des quantificateurs ainsi que de l’égalité est fixé comme on

le voit ci-dessous. Aussi, pour définir le sens d’une formule,il suffit d’indiquer la valeur de ses variables libres et lesens de ses symboles de fonction et de relation (égalité exceptée).

51

Page 52: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

4.2.1 Interprétation

Une déclaration de symbole est un triplet noté sgn où s est un symbole, g une des lettres f ou r, et n est un entiernaturel. Par exemple parentr2 est une déclaration annonçant que parent est employé comme relation (d’où la lettre r)avec 2 arguments. De même ∗ f 2 est une déclaration annonçant que ∗ va être employé comme fonction (d’où la lettref) avec 2 arguments.

Lorsque le contexte ou les conventions usuelles comporte une déclaration implicite d’un symbole, on omet l’ex-posant, par exemple, le symbole égal étant toujours employé comme relation à deux arguments, on abrége la déclationde symbole =r2 en =, comme on le fait ci-dessous.

Une interprétation I comporte un domaine D non vide et une application qui à chaque déclaration de symbole sgn

associe sa valeur sgnI :

1. s f 0I est un élément de D.

2. s f nI où n≥ 1 est une fonction de Dn dans D.

3. sr0I vaut 0 ou 1.

4. srnI où n≥ 1 est un sous-ensemble de Dn, autrement dit une relation à n arguments

Dans toute interprétation I, la valeur du symbole = est l’ensemble {(d,d) | d ∈ D}, autrement dit dans toute interpré-tation le sens de l’égalité est l’identité sur le domaine de l’interprétation.

Un état e d’une interprétation est une application de l’ensemble des variables dans le domaine de l’interprétation.Pour connaître la valeur d’une formule sans variable libre, il suffit de donner une interprétation des symboles de

la formule. Pour connaitre la valeur d’une formule avec des variables libres on a donc besoin d’un couple Ie composéd’une interprétation et d’un état. On appelle un tel couple une assignation.

4.2.2 Sens des termes et des formules

Soit I une interprétation de domaine D et e un état de cette interprétation. On définit d’abord la valeur [[t]]Ie d’unterme t dans l’assignation Ie : cette valeur est élément de D. Puis on définit la valeur [A]Ie d’une formule A dans cettemême assignation : cette valeur est 0 ou 1.

4.2.2.1 Sens des termes

Chacun sait comme évaluer un terme : on remplace les variables par leurs valeurs, les symboles de fonctions parles fonctions qui leur sont associées et on applique les fonctions. Mais pour raisonner sur le sens des termes ou écrireun programme d’évaluation des termes, on doit formaliser cette évaluation, comme ci-dessous :

1. si t est une variable, alors [[t]]Ie = e(t)

2. si t est un symbole alors [[t]]Ie = t f 0I

3. si t = s(t1, . . . , tn) où s est un symbole et t1, . . . tn sont des termes, alors [[t]]Ie = s f nI ([[t1]]Ie, . . . [[tn]]Ie)

Par exemple, soit I l’interprétation dont le domaine est N et donnant aux déclarations de symboles 1 f 0,∗ f 2,+ f 2

leur sens usuel sur les entiers.Soit e l’état tel que x = 2,y = 3, calculons [[x ∗ (y + 1)]]Ie. Dans les exemples, on suit les conseils précédents la

définition formelle du sens : on remplace les variables par leurs valeurs, on confond les symboles et leur sens et onécrit [[x∗ (y+1)]]Ie = 2∗ (3+1) = 8.

4.2.2.2 Sens des formules atomiques

1. [>]Ie = 1, [⊥]Ie = 0.Dans les exemples, on autorise de remplacer > par 1 et ⊥ par 0.

2. Soit s un symbole, [s]Ie = sr0I

52

Page 53: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

3. Soit A = s(t1, . . . , tn) où s est un symbole et t1, . . . tn sont des termes.Si ([[t1]]Ie, . . . [[tn]]Ie) ∈ srn

I alors [A]Ie = 1 sinon [A]Ie = 0On doit distinguer entre évaluer un terme et évaluer une formule atomique, car, dans notre présentation, ces deuxcatégories syntaxiques ne sont pas disjointes. Mais quand le contexte est sans ambiguité, on peut omettre cettedistinction.

Exemple 4.2.1 Soit I l’interprétation de domaine D = {0,1,2} avec– anne f 0

I = 0,bernard f 0I = 1,claude f 0

I = 2Les prénoms anne, bernard, claude dénotent des élément du domaine D.

– ar2I = {(0,1),(1,0),(2,0)}

La lettre a dénote une relation à deux arguments, et on peut lire a(x,y) comme x aime y.– c f 1

I (0) = 1,c f 1I (1) = 0,c f 1

I (2) = 2La lettre c dénote une fonction à un argument, et on peut lire c(x) comme le copain ou la copine de x. Notonsque la fonction c f 1

I a comme domaine D, ce qui oblige à définir artificiellement c f 1I (2), alors que claude, qui

dénote 2, n’a ni copain, ni copine.Dans l’interprétation I, on a :– a(anne,bernard) = a(0,1) = 1 car (0,1) ∈ ar2

I– a(anne,claude) = a(0,2) = 0 car (0,2) 6∈ ar2

ISoit e l’état x = 0,y = 2. Dans l’assignation Ie, on a :– a(x,c(x)) = a(0,c(0)) = a(0,1) = 1– a(y,c(y)) = a(2,c(2)) = a(2,2) = 0 car (2,2) 6∈ ar2

IDans l’interprétation I, on a :– (anne = bernard) = (0 = 1) = 0

Attention à distinguer (suivant le contexte), les éléments du domaine 0,1 et les valeurs de vérité 0,1. Cet exempleet les deux exemples suivants mettent en évidence l’interprétation de l’égalité comme une identité.

– (c(anne) = anne) = (c(0) = 0) = (1 = 0) = 0– (c(c(anne)) = anne) = (c(c(0)) = 0) = (0 = 0) = 1

4.2.2.3 Sens des formules

1. Les connectives propositionnelles ont le même sens qu’en logique propositionnelle. Soient B et C des formules.Rappelons uniquement le sens de l’implication : si [B]Ie = 0 alors [(B⇒C)]Ie = 1 sinon [(B⇒C)]Ie = [C]Ie

2. Soit x une variable et B une formule. [∀xB]Ie = 1 si et seulement si [B]I f = 1 pour tout état f identique à e, saufpour x.Soit d ∈ D. Notons e[x = d] l’état identique à l’état e, sauf pour la variable x, auquel l’état e[x = d] associe lavaleur d.La définition ci-dessus peut être mise sous la forme suivante : [∀xB]Ie = ∏d∈D[B]Ie[x=d] où le produit est leproduit booléen.Cette définition permet de calculer la valeur de ∀xB dans le cas où D est un domaine fini. Mais quand D n’estpas un domaine fini, c’est seulement une traduction du quantificateur universel d’un formalisme dans un autre.

3. [∃xB]Ie = 1 si et seulement si il y a un état f identique à e, sauf pour x, tel que [B]I f = 1.La définition ci-dessus peut être mise sous la forme suivante : [∀xB]Ie = ∑d∈D[B]Ie[x=d] où la somme est lasomme booléenne.

Utilisons l’interprétation I donnée dans l’exemple 4.2.1 :– ∃x a(x,x) = a(0,0)+a(1,1)+a(2,2) = 0 car (0,0),(1,1),(2,2) 6∈ ar2

D’après le sens du quantificateur existentiel, on doit évaluer a(x,x) pour x = 1,x = 2,x = 3. On simplifie cecalcul et les calculs suivants en remplaçant immédiatement les variables par leurs valeurs.

– ∀x∃y a(x,y)=∃y a(0,y).∃y a(1,y).∃y a(2,y)= (a(0,0)+a(0,1)+a(0,2)).(a(1,0)+a(1,1)+a(1,2)).(a(2,0)+a(2,1)+a(2,2)) = (0+1+0)(1+0+0)(1+0+0) = 1

– ∃y∀x a(x,y)=∀x a(0,x)+∀x a(1,x)+∀x a(2,x)= a(0,0).a(0,1).a(0,2)+a(1,0).a(1,1).a(1,2)+a(2,0).a(2,1).a(2,2)=0.1.0+1.0.0+1.0.0 = 0

53

Page 54: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Remarque 4.2.1 Dans l’interprétation ci-dessus, les formules ∀x∃y a(x,y) et ∃y∀x a(x,y) n’ont pas la même valeur.Donc en intervertissant un quantificateur existentiel et un quantificateur universel, on ne préserve pas le sens desformules.

4.2.2.4 Modèle, validité, conséquence, équivalence

Ces notions sont définies comme en logique propositionnelle. Mais alors qu’en logique propositionnelle, uneassignation est une application des variables propositionnelles dans 0,1, en logique du premier ordre une assignationest un couple constitué d’une interprétation des symboles d’une part et de l’état des variables d’autre part.

Notons que la valeur d’une formule ne dépend que de ses variables libres et de ses symboles, aussi pour évaluer uneformule sans variable libre, l’état des variables est inutile et l’on utilise une interprétation au lieu d’une assignation.

4.2.3 SignatureUne signature est un ensemble de déclarations de symboles.Soit Σ une signature :

1. le symbole s est une constante de la signature si et seulement si s f 0 ∈ Σ

2. le symbole s est un symbole de fonction à n arguments (où n entier strictement positif) de la signature, si s f n ∈ Σ

3. le symbole s est une variable propositionnelle de la signature si et seulement si sr0 ∈ Σ

4. le symbole s est un symbole de relation à n arguments (où n entier strictement positif) de la signature, si srn ∈ Σ

Au lieu de dire 0 f 0,1 f 0,+ f 2,∗ f 2,=r2 est une signature pour l’arithmétique, on dit plus simplement qu’une signa-ture possible pour l’arithmétique comporte 0,1,+ (à deux arguments),∗ et =. On note qu’on omet de préciser la natured’un symbole et son nombre d’arguments quand le contexte et les conventions usuelles le déterminent sans ambiguité,sur cet exemple, on a uniquement dû préciser que le plus est utilisé avec deux arguments (car on peut rencontrer plusutilisé avec un seul argument).

Une signature possible pour la théorie des ensembles est ∈,=, car toutes les autres opérations sur les ensemblespeuvent être définies à partir de ces deux symboles.

Un symbole est surchargé dans une signature, lorsque cette signature comporte deux déclarations distinctes dusymbole. Par exemple il est fréquent d’utiliser des signatures dans lesquels le signe moins est surchargé car il estutilisé simultanément pour obtenir l’opposé d’un nombre ou faire la soustraction de deux nombres. Dans la suite de cecours, nous nous interdirons d’utiliser des signatures comportant des symboles surchargés. Celà permet de simplifierles notations, car une fois qu’on a précisé la signature utilisée, on peut remplacer une déclaration de symbole par lesymbole lui-même.

Reprenons l’interprétation donnée dans l’exemple 4.2.1. On présente d’abord la signature qu’elle définit :– les constantes anne, bernard et claude– le symbole de relation a à deux arguments– le symbole de fonction c à un argument

Puis on définit l’interprétation I en indiquant son domaine {0,1,2} et le sens qu’elle donne aux symboles de lasignature, en identifiant les symboles, leurs déclarations dans la signature et leurs valeurs :

– anne = 0,bernard = 1,claude = 2– a = {(0,1),(1,0),(2,0)}– c(0) = 1,c(1) = 0,c(2) = 2L’interprétation d’une signature est une interprétation qui définit seulement le sens des éléments de la signature.Soit Σ une signature. Un terme sur cette signature est soit une variable, soit une constante s où s f 0 ∈ Σ, soit un

terme de la forme s(t1, . . . tn) où n≥ 1, s f n ∈ Σ et où t1, . . . tn sont des termes sur cette signature. Une formule atomiquesur cette signature est soit une des constantes >,⊥, soit une variable propositionnelle s où sr0 ∈ Σ, soit de la formes(t1, . . . tn) où n≥ 1, srn ∈ Σ et où t1, . . . tn sont des termes sur cette signature. Une formule sur cette signature est uneformule, dont les sous-formules atomiques sont sur cette signature.

Dans la suite, TΣ est l’ensemble des termes sur la signature Σ et FΣ est l’ensemble des formules sur la signature Σ.Par exemple ∀x(p(x)⇒ ∃yq(x,y)) est une formule sur la signature pr1,qr2,h f 1,c f 0. Mais c’est aussi une formule

sur la signature pr1,qr2, puisque les symboles h et c ne figurent pas dans la formule.

54

Page 55: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

La signature associée à une formule est la plus petite signature Σ telle la formule est élément de FΣ, c’est donc laplus petite signature permettant d’écrire la formule.

Par exemple la signature associée à la formule ∀x(p(x)⇒∃yq(x,y)) est pr1,qr2.La signature associée à un ensemble de formules est l’union des signatures associées à chaque formule de l’ensem-

ble.Par exemple la signature associée à l’ensemble des deux formules ∀x(p(x)⇒∃yq(x,y)),∀n∀p(n+s(p) = s(n+ p)

est pr1,qr2,+ f 2,s f 1,=r2.L’interprétation d’un ensemble de formules est une interprétation qui définit seulement le sens de la signature

associée à l’ensemble des formules.

4.2.4 InstanciationSoit x une variable, t un terme, A une formule.

1. A<x := t> est la formule obtenue en remplaçant dans la formule A toute occurrence libre de x par le terme t.Par exemple, soit A la formule (∀xP(x))∨Q(x).A<x := b> est la formule (∀xP(x))∨Q(b) car seule l’occurrence soulignée de x est libre.

2. Le terme t est libre pour x dans A, si les variables de t ne sont pas liées dans les occurrences libres de x.Par exemple le terme z est libre pour x dans la formule ∃yp(x,y). Par contre le terme y, comme tout termecomportant la variable y n’est pas libre pour x dans cette formule

Théorème 4.2.1 Soit A une formule et t un terme libre pour la variable x dans A . Soit I une interprétation et e unétat de l’interprétation. Nous avons :[A<x := t>]Ie = [A]Ie[x=d] où d = [[t]]Ie.Autrement dit, la valeur de A<x := t> dans une assignation est la même que celle de A dans une assignation identique,sauf qu’elle donne à x la valeur du terme t.

Ce théorème, dont le résultat est évident, peut être prouvé par une récurrence (que nous ne ferons pas) sur la tailledes formules. On montre seulement que la condition sur t est indispensable en observant un exemple où cette conditionn’est pas respectée.

Soit I l’interprétation de domaine {0,1} avec pI = {(0,1)} et soit e, l’état y = 0.Soit A la formule ∃yp(x,y) et t le terme y. Ce terme n’est pas libre pour x dans ADans l’assignation Ie on a : A<x := t>= ∃yp(y,y) = p(0,0)+ p(1,1) = 0.Soit d = [[t]]Ie = [[y]]Ie = 0. Dans l’assignation Ie[x = d], on a x = 0.Donc dans l’assignation Ie[x = d], on a : A = ∃yp(0,y) = p(0,0)+ p(0,1) = 1Ainsi [A<x := t>]Ie = 0 6= [A]Ie[x=d] = 1 où d = [[t]]Ie.

Corollaire 4.2.1 Soit A une formule et t un terme libre pour x dans A.Les formules ∀xA⇒ A<x := t> et A<x := t>⇒∃xA sont valides

Ce corollaire est une conséquence immédiate du théorème précédent.

4.2.5 Interprétation finieOn montre comment rechercher des modèles finis de formules fermées (c’est-à-dire sans variables libres). Un

modèle fini d’une formule fermée est une interprétation de la formule de domaine fini, qui rend vraie la formule. Ilest clair que le nom des éléments du domaine est sans importance, aussi quand nous cherchons un modèle avec néléments, le domaine que nous utiliserons, sera celui des entiers (sous-entendu naturels) inférieurs à n.

Pour savoir si une formule fermée a un modèle de domaine {0, . . . ,n−1}, il suffit de d’énumérer toutes les inter-prétations possibles de la signature associée à la formule et d’évaluer la formule pour ces interprétations. Mais cetteméthode est inutilisable en pratique, car le nombre de ces interprétations est énorme.Soit une signature avec une constante, un symbole de fonction à un argument et un symbole de relation à deux ar-guments (plus éventuellement l’égalité de sens fixé), sur un domaine à 5 éléments, cette signature à 5× 55 × 225

interprétations.

55

Page 56: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Aussi nous montrons d’abord, comment dans le cas où une formule n’a aucun symbole de fonction et aucuneconstante, sauf des représentations d’entiers inférieurs à n, on peut rechercher ses modèles à n éléments par réductionau cas propositionnel. En présence de symboles de fonctions et de constantes, on peut en énumerer leurs valeurs, puisappliquer les méthodes ci-dessous. Pour trouver des énumérations intelligentes, on conseille de lire http://www.cs.unm.edu/~mccune/prover9/mace4.pdf.

4.2.5.1 Les entiers et leurs représentations

On distingue dans la suite un entier n et sa représentation n. Par exemple l’entier 3 peut être représenté en base 10par 3, en base 2 par 11, en chiffres romains par III, en chiffre grec par γ. Par habitude, on choisit la réprésentation enbase 10.

Dans la suite, de façon implicite, toutes les interprétations considérées donnent à la représentation d’un entier, lavaleur de l’entier représenté.

4.2.5.2 Expansion d’une formule

Soit A une formule et n un entier. La n-expansion de A est la formule qui consiste à remplacer toute sous-formule deA de la forme ∀xB par la conjonction (∏i<n B<x := i>) et toute sous-formule de A de la forme ∃xB par la disjonction(∑i<n B<x := i>) où i est la représentation décimale de l’entier i.

Exemple 4.2.2 La 2-expansion de la formule ∃xP(x)⇒∀xP(x) est la formule P(0)+P(1)⇒ P(0).P(1)

Théorème 4.2.2 Soit n un entier et A une formule, ne comportant que des représentations d’entiers de valeur in-férieure à n. Soit B la n-expansion de A. Toute interprétation de domaine {0, . . . ,n−1} attribue la même valeur à A età B.

La condition sur A est necessaire car si A comporte une représentation d’un entier au moins égal à n, la valeur decette représentation ne sera pas dans le domaine de l’interprétation.

La preuve du théorème est une récurrence sur la taille des formules, que nous ne ferons pas. On se contente demontrer que chaque élimination d’un quantificateur universel conserve la valeur de la formule fermée ∀xB. Soit I uneinterprétation de domaine {0, . . . ,n−1} donnant à la représentation d’un entier, la valeur de l’entier représenté.

Par définition du sens du quantificateur universel : [∀xB]I = ∏i<n[B]I[x=i]D’après le théorème 4.2.1 et le fait que la valeur de la représentation de l’entier i est i, on a : [B]I[x=i] = [B<x := i>]IPar suite : [∀xB]I = ∏i<n[B<x := i>]I = [∏i<n B<x := i>]I

4.2.5.3 Interprétation et assignation propositionnelle

Soit n un entier et A une formule fermée, sans quantificateur, sans égalité, sans symbole de fonction, sans constantesauf des représentions d’entiers inférieurs à n. Soit P l’ensemble des formules atomiques de A (sauf > et ⊥ dont lesens est fixé).

4.2.5.4 De l’assignation à l’interprétation

Soit v une assignation propositionnelle de P dans {0,1} et soit I l’interprétation suivante de A :

1. Domaine {0, . . . ,n−1}2. sr0

I = v(s) si et seulement si s ∈ P

3. Soit p≥ 1 et srp un symbole de relation de A . Alors srpI = {(k1, . . .kp)|s(k1, . . .kp) ∈ P et v(s(k1, . . .kn)) = 1}

Par définition de I, l’assignation v et l’interprétation I donnent la même valeur aux sous-formules atomiques de A,donc la même valeur à la formule A.

Par exemple l’assignation v, définie par p(0) = 1, p(1) = 0, donne la valeur 0 à la formule (p(0) + p(1)) ⇒(p(0).p(1)). Donc l’interprétation I définie par pI = {0} donne aussi la valeur 0 à cette même formule. Cet exemplemontre que v et I sont deux façons analogues de présenter une interprétation, la deuxième étant souvent plus concise.

56

Page 57: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

4.2.5.5 De l’interprétation à l’assignation

Soit I une interprétation de A et v l’assignation propositionnelle suivante de P dans {0,1} : pour tout B ∈ P,v(B) = [B]I .

Par définition de v, l’assignation v et l’interprétation I donnent la même valeur aux sous-formules atomiques de A,donc la même valeur à la formule A.

4.2.5.6 Recherche d’un modèle fini d’une formule fermée

4.2.5.6.1 Formule fermée sans symbole de fonction Soit A une formule fermée sans symbole de fonctions niconstantes, sauf des représentations d’entiers de valeur inférieure à n. Pour trouver une interprétation I modèle de Ade domaine {0, . . . ,n−1} donnant à la représentation d’un entier, la valeur de l’entier représenté, on procède ainsi :

1. On remplace A par sa n-expansion B

2. Dans la formule B, on remplace les égalités par leur valeur, c’est-à-dire que i = j est remplacée par 0 si i 6= j etpar 1 si i = j.De plus on recommande d’éliminer ces valeurs de vérité par les identités x+0 = x,x+1 = 1,x∗0 = 0,x∗1 = x.Soit C la formule obtenue après ces remplacements et simplifications.

3. On cherche une assignation propositionnelle v des formules atomiques de C, qui soit modèle de C : si une telleassignation n’existe pas, A n’a pas de modèle, sinon l’interprétation I déduite de v comme il est indiqué en4.2.5.4 est modele de A.

Prouvons la correction de cette méthode :

1. Supposons qu’il n’a pas d’assignation propositionnelle modèle de C, mais que A ait un modèle I. D’après 4.2.2,I est modèle de B, donc de C, et d’après 4.2.5.5, il y a une assignation propositionnelle modèle de C. De cettecontradiction, on déduit que A n’a pas de modèle à n éléments.

2. Supposons que l’assignation propositionnelle v existe. Donc, l’interprétation I construite comme il est indiquéen 4.2.5.4 est modèle de C, donc elle est modèle de B, donc aussi d’après 4.2.2, elle est modèle de A.

Exemple 4.2.3 Soit A la formule ∃xP(x)∧∃x¬P(x)∧∀x∀y(P(x)∧P(y)⇒ x = y)).Il est clair que cette formule n’a pas modèle à un élément car cet élément devrait vérifier à la fois la propriéte P et sanégation.On adopte les abréviations suivantes : p0 = P(0), p1 = P(1). Avec ces abréviations, la 2-expansion de A est :(p0+ p1).(p0+ p1)(p0).p0⇒ 0 = 0).(p0.p1⇒ 0 = 1).(p1.p0⇒ 0 = 1).(p1.p0⇒ 0 = 1).En remplaçant les égalités par leur valeurs, on obtient :(p0+ p1).(p0+ p1).(p0.p0⇒ 1).(p0.p1⇒ 0).(p1.p0⇒ 0).(p0.p1⇒ 1).Ce qui se simplifie en : (p0+ p1).(p0+ p1).L’assignation p0 = 1, p1 = 0 est un des modèles propositionnels de la formule ci-dessus, donc l’interpretation I dedomaine {0,1} où PI = {0} est modèle de A.

4.2.5.6.2 Formule fermée avec symbole de fonction Soit A une formule fermée pouvant comporter des représen-tations d’entiers de valeur inférieure à n. Comme dans le cas précédent, on remplace A par son extension, puisqueon énumére les choix des valeurs des symboles comme dans l’algorithme de Davis et Putnam, en propageant le pluspossible chacun des choix effectué.

Exemple 4.2.4 Soit A la formule (∃yP(y))⇒ P(a), dont on cherche un contre-modèle à 2 éléments (cela revient aumême que de trouver un modèle de la négation de A).On remplace A par son expansion P(0)+P(1)⇒ P(a). La suite est analogue à l’algorithme de Davis et Putnam, ondoit trouver les valeurs de P(0), P(1), a.On choisit (arbitrairement) de poser a = 0, donc A devient P(0)+ P(1)⇒ P(0). Cette dernière formule a un contre-modèle propositionnel P(0) = 0,P(1) = 1 que l’on traduit en une interprétation telle que P = {1}.On obtient donc comme contre modèle l’interprétation de domaine {0,1} telle que P = {1} et a = 0

57

Page 58: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Exemple 4.2.5 On cherche un modèle à 2 éléments de l’ensemble des 3 formules P(a),∀x(P(x)⇒P( f (x))),¬P( f (b)).On remplace les formules par leurs extensions P(a),(P(0)⇒ P( f (0))).(P(1)⇒ P( f (1))),¬P( f (b)).Soit F l’ensemble obtenu. Il faut trouver les valeurs de P(0), P(1),a, b et f , qui donnent un modèle de F. On a donc :P(a) = 1, (P(0)⇒ P( f (0))) = 1,(P(1)⇒ P( f (1))) = 1, P( f (b)) = 0On choisit (arbitrairement) de poser a = 0.De P(a) = 1 et a = 0, on déduit : P(0) = 1De P(0) = 1 et de (P(0)⇒ P( f (0))) = 1, on déduit : P( f (0)) = 1De P( f (b)) = 0 et de P( f (0)) = 1, on déduit f (0) 6= f (b) donc que b 6= 0, donc : b = 1De P( f (b)) = 0, P(0) = 1 et b = 1, on déduit f (b) = f (1) 6= 0 donc : f (1) = 1 et P(1) = 0De P( f (0)) = 1 et P(1) = 0, on déduit : f (0) = 1Ainsi avec un seul choix propagé, on a trouvé le modèle : a = 0,b = 1,P = {0}, f (0) = 0, f (1) = 1

4.2.6 Substitution et remplacement

Les propriétés de substitution et de remplacement déjà énoncées en logique propositionnelle (voir 1.4.1 et 1.4.2)s’étendent à la logique du premier ordre.

Plus précisement l’application d’une substitution à une formule propositionnellement valide donne une formulevalide. Par exemple soit σ la substitution propositionnelle telle que σ(p) = ∀x q(x). Puisque la formule p∨¬p estvalide, il en est de même de la formule σ(p∨¬p) = ∀x q(x)∨¬∀x q(x).

Dans le livre de Kleene (voir [8]), cette notion de substitution sur les variables propositionnelles est étendue à unesubstitution plus générale applicable à tous les symboles de relation.

Le principe de remplacement s’étend avec le même énoncé de la logique propositionnelle à la logique du premierordre car il est déduit des propriétés élémentaires suivantes :Pour toutes formules A et B et toute variable x :

– (A⇔ B) |= (∀xA⇔∀xB)– (A⇔ B) |= (∃xA⇔∃xB)

4.3 Équivalences remarquables

4.3.1 Relation entre ∀ et ∃Lemme 4.3.1 Soit A une formule et x une variable.

1. ¬∀xA≡ ∃x¬A

2. ∀xA≡ ¬∃x¬A

3. ¬∃xA≡ ∀x¬A

4. ∃xA≡ ¬∀x¬A

Prouvons les deux premières identités :

1. Soit I une interprétation de domaine D et e un état de cette interprétation.[¬∀xA]Ie= ¬[∀xA]Ie= ¬∏x∈D[A]Ie[x:=d] d’après le sens de ∀= ∑d∈D¬[A]Ie[x:=d] par les lois de de Morgan généralisées= ∑d∈D[¬A]Ie[x:=d] par définition du sens de ¬= [∃x¬A]Ie par définition du sens de ∃

En examinant de façon critique cette preuve, on voit qu’elle utilise la loi de Morgan généralisée, qu’elle estcensée établir. Il faut donc formaliser l’usage des quantificateurs pour échapper à ces preuves qui ne sont en faitque des changement de notations. Nous le ferons en ajoutant à la déduction naturelle des règles qui gouvernentles quantificateurs.

58

Page 59: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

2. Les autres équivalences sont prouvables à partir de la première par le principe de remplacement. On ne prouveque la deuxième identité∀xA≡ ¬¬∀xA identité de la double négation≡ ¬∃x¬A par l’identité 1

4.3.2 Déplacement des quantificateursOn donne, sans preuve, des équivalences qui s’appliquent à toutes les formules (avec ou sans variable libre) et qui

permettent de retrouver les lois usuelles de déplacement des quantificateurs. On suppose ci-dessous que x,y sont desvariables et que A,B sont des formules.

1. ∀x∀yA≡ ∀y∀xA

2. ∃x∃yA≡ ∃y∃xA

3. ∀x(A∧B)≡ (∀xA∧∀xB)

4. ∃x(A∨B)≡ (∃xA∨∃xB)

5. Soit Q un des quantificateurs ∀,∃, soit ◦ une des opérations ∧,∨. Supposons que x n’est pas une variable librede A.

(a) QxA≡ A,

(b) Qx(A◦B)≡ (A◦QxB)

4.3.3 Changement de variables liéesThéorème 4.3.1 Soit Q un des quantificateurs ∀,∃.

Supposons que y est une variable qui ne figure pas dans QxA alors : QxA≡ QyA<x := y>

Par exemple la formule ∀x p(x,z) est équivalente à la formule ∀y p(y,z) (d’après le théorème ci-dessus) mais ellen’est pas équivalente à la formule ∀z p(z,z), où le changement de variable ne respecte pas les conditions du théorème.

Définition 4.3.1 Deux formules sont égales à un changement près de variables liées si on peut obtenir l’une à partirde l’autre par des remplacements de sous-formules, de la forme QxA par QyA<x := y> où Q est un quantificateur ety est une variable qui ne figure pas dans QxA.Deux formules égales à un changement près de variables liées, sont dites aussi copie l’une de l’autre ou encoreα-équivalentes.

Théorème 4.3.2 Si deux formules sont égales à un changement près de variables liées alors elles sont équivalentes.

Ce résultat est clairement une conséquence du théorème 4.3.1. Nous n’en ferons pas la preuve, qui est longue etfastidieuse. On se contente de suggérer cette preuve à l’aide d’un exemple.On montre que les formules ∀x∃yP(x,y) et ∀y∃xP(y,x) sont égales par changement des variables liées, au sens de ladéfinition 4.3.1 donc sont équivalentes, en effet :

∀x∃yP(x,y)≡ ∀u∃yP(u,y) d’après 4.3.1≡ ∀u∃xP(u,x) d’après 4.3.1≡ ∀y∃xP(y,x) d’après 4.3.1

Notre définition de l’égalité entre deux formules à un changement prés de variables liées n’est pas pratique, car ladéfinition ne donne pas un test. Or il est simple à voir si deux formules sont égales à un changement prés de variablesliées : on trace des traits entre chaque quantificateur et les variables qu’il lie et on efface les noms des variables liées.Si après cette transformation, les deux formules deviennent identiques, c’est qu’elles sont égales à un changement prèsdes variables liées.

59

Page 60: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Par exemple avec cette transformation les deux formules ∀x∃yP(y,x) et ∀y∃xP(y,x) sont transformées en la formule àliens ∀|∃|P(|, |).Notons = α la relation d’égalité entre deux formules à un changement près des variables liées. On donne sans preuvedes propriétés de cette relation qui permettent facilement d’écrire un algorithme pour la tester.

Théorème 4.3.3 4.3.1 =α

Dans ce théorème les majuscules désignent des formules. Les minusucules sont des variables.

1. Soit A une formule atomique, A =α A′ si et seulement si A′ = A

2. ¬B =α A′ si et seulement si A′ = ¬B′ et B =α B′

3. (B◦C) =α A′ si et seulement si A′ = (B′ ◦C′) et B =α B′ et C =α C′.où ◦ est l’une des connectives ∧,∨,⇒,⇔.

4. Si ∀xB =α A′ alors A′ = ∀x′B′ et pour toute variable z absente des formules B et B′, on a :B<x := z>=α B′<x′ := z>.

5. Si ∃xB =α A′ alors A′ = ∃x′B′ et pour toute variable z absente des formules B et B′, on a :B<x := z>=α B′<x′ := z>.

6. S’il existe une variable z absente des formules B et B′ telle queB<x := z>=α B′<x′ := z> alors ∀xB =α ∀x′B′ et ∃xB =α ∃x′B′.

Algorithme 4.3.1 test de l’alpha-équivalence.Les données du test sont deux formules A et A′.Le résulat est oui si A =α A′, non si A 6=α A′.On traite uniquement le cas où A = ∀xB.

1. si A′ n’est pas de la forme ∀x′B′, alors, d’après le point (4) du théorème, la réponse est non

2. si A′ = ∀x′B′ alors on choisit une variable z quelconque absente de B et B′.

(a) si B<x := z>=α B′<x′ := z> alors, d’après point (6) du théorème, la réponse est oui.

(b) si B<x := z>6=α B′<x′ := z> alors, d’après le point (4) du théorème la réponse est non.

60

Page 61: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

4.4 ExercicesExercice 50 (Structure et variables libres)Pour chaque formule ci-dessous, indiquez sa structure et ses variables libres.

1. ∀x(P(x)⇒∃yQ(x,y))

2. ∀a∀b(b 6= 0⇒∃q∃r(a = b∗q+ r∧ r < b))

3. Pair(x)⇔∃y(x = 2∗ y)

4. x Divise y⇔∃z(y = z∗ x)

5. Premier(x)⇔∀y(y Divise x⇒ y = 1∨ y = x)Réponse

Exercice 51 (Formalisation) Prenez les abréviations suivantes :– a = l’équipe d’Allemagne– f = l’équipe de France– J(x,y) = x a joué un match contre y– G(x,y) = x a gagné contre yExprimez formellement les phrases suivantes

1. L’équipe de France a gagné un match et en a perdu un

2. L’équipe de France et l’équipe d’Allemagne ont fait match nul

3. Une équipe a gagné tous ses matchs

4. Aucune équipe n’a perdu tous ses matchs

5. Tous ceux qui ont joué contre une équipe qui a gagné tous ses matchs, ont gagné au moins un match.Réponse

Exercice 52 (Formalisation, symbole de fonction et de relation) Prenez les abréviations suivantes :– f (x,y) = x est frère de y– o(x,y) = x est l’oncle de y– c(x,y) = x est le cousin de y– j(x,y) = x est plus jeune que y– r est le diminutif de Robert– p(x) est le père de xExprimez formellement

1. Tout frère du père de Robert est un oncle de Robert

2. Si les pères de deux enfants sont des frères alors ces deux enfants sont des cousins

3. Robert a un cousin plus jeune qu’un des frères de Robert.Réponse

Exercice 53 (Formaliser)En utilisant les constantes s pour Serge, t pour Tobby et les symboles de relation A(x,y), x aime y, C(x), x est un chien,D(x), x est un animal domestique, E(x), x est un enfant, O(x), x est un oiseau et P(x,y), x a peur de y, formaliser lesénoncés suivants :

1. Les chiens et les oiseaux sont des animaux domestiques

2. Tobby est un chien qui aime les enfants

3. Les oiseaux n’aiment pas les chiens

4. Serge aime tous les animaux domestiques sauf les chiens

5. Tous les enfants n’ont pas peur des chiens

61

Page 62: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

6. Certains chiens aiment les enfants

7. Certains chiens aiment les enfants et réciproquement

8. Les enfants aiment certains chiensRéponse

Exercice 54 (Évaluer des prédicats unaires)Soit I l’interprétation de domaine {0,1} telle que PI = {0},QI = {1}.

1. Évaluer dans cette interprétation les formules ∀xP(x),∀x(P(x)∨Q(x)).Les formules ∀xP(x)∨∀xQ(x) et ∀x(P(x)∨Q(x)) sont-elles équivalentes ?

2. Évaluer dans cette interprétation les formules ∃xP(x),∃x(P(x)∧Q(x)).Les formules ∃xP(x)∧∃xQ(x) et ∃x(P(x)∧Q(x)) sont-elles équivalentes ?

3. Évaluer dans cette interprétation les formules ∀x(P(x)⇒ Q(x)) et ∀xP(x)⇒∀xQ(x).Ces deux formules sont-elles équivalentes ?

Réponse

Exercice 55 (Interprétation) On donne les formules suivantes

1. ∀x∃y(y = x+1)

2. ∃y∀x(y = x+1)

3. ∀x∃y(y = x+1)⇒∃y∀x(y = x+1)

4. ∀x∃y(x = y+1)

5. ∃x∀y(y = x+ y)

6. ∃x(x 6= 0∧ x+ x = x)

On donne les interprétations suivantes

1. I1 est l’algèbre de boole sur {0,1}2. I2 est l’arithmétique usuelle sur les entiers naturels

3. I3 est l’arithmétique usuelle sur les entiers relatifs

4. I4 est l’algèbre de boole de domaine P (X) où les constantes 0 et 1 dénotent les ensembles /0 et X et où l’additionest l’union d’ensembles.

Indiquer si ces interprétations sont des modèles ou des contre-modèles des formules ci-dessus.Réponse

Exercice 56 (prédicats unaire et égalité)Soit I l’interprétation de domaine {0,1,2} telle que :PI = {0,1},QI = {1,2},RI = {}.Évaluer dans cette interprétation les formules

1. ∃xR(x)

2. ∀x(P(x)∨Q(x))

3. ∀x(P(x)⇒ Q(x))

4. ∀x(R(x)⇒ Q(x))

5. ∃x(P(x)∧∀y(P(y)⇒ x = y)). Cette formule signifie qu’il y a un et un seul élément vérifiant P.

62

Page 63: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

6. ∃x(P(x)∧Q(x)∧∀y(P(y)∧Q(y)⇒ x = y)).Réponse

Exercice 57 (Évaluation, égalité)On utilise le symbole de fonction unaire f et la constante a. On abrège ¬(x = y) en x 6= y.

Soit I1, I2 les interprétations suivantes de domaine {0,1,2} :aI1 = aI2 = 0

x fI1(x) fI2(x)0 0 11 0 22 2 0

Dans l’interprétation I1 puis dans I2, évaluer les formules suivantes

1. f (a) = a

2. f ( f (a)) = a

3. f ( f ( f (a)) = a

4. ∃x( f (x) = x), f a un point-fixe

5. ∀x( f ( f ( f (x))) = x)

6. ∀y∃x( f (x) = y), f est surjective

7. ∀x∀y( f (x) = f (y)⇒ x = y), f est injective

8. ¬∃x∃y( f (x) = f (y)∧ x 6= y)Réponse

Exercice 58 (Formalisation et évaluation)On adopte les notations suivantes :

– P(x) signifie que x a réussi son examen– Q(x,y) signifie que x a téléphoné à yTraduire en formules les énoncés suivants :

1. Quelqu’un a raté l’examen et n’a été appelé par personne

2. Tous ceux qui ont réussi à l’examen ont été appelés

3. Personne n’a appelé tous ceux qui ont réussi à l’examen

4. Tous ceux qui ont appelé quelqu’un, ont appelé quelqu’un qui a réussi l’examen

Soit l’interprétation ayant pour domaine Anatoli, Boris, Catarina, Denka où Anatoli et Boris sont des garçons etCatarina et Denka sont des filles. Dans cette interprétation seuls Boris et Catarina ont réussi l’examen, les garçonsont appelé les filles, Denka a appelé Boris, Catarina a appelé Denka et ce sont les seuls appels. On demande de donnerla valeur des énoncés dans cette interprétation.Indication : pour faciliter le calcul de la valeur, on suggère de dessiner l’interprétation en coloriant en rouge les élé-ments du domaine qui ont réussi leurs examens, et en mettant une flêche de x vers y si x a téléphoné à y. Réponse

Exercice 59Un contre-modèle d’une formule est un modèle de sa négation.Trouver, par la méthode des expansions, des contre-modèles des formules

1. ∃xP(x)⇒∃x(P(x)∧Q(x))

2. ∀x(P(x)⇒ Q(x))⇒∃xQ(x)

63

Page 64: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

3. ∀x(P(x)⇒ Q(x))⇒ (∃xP(x)⇒∀xQ(x))

4. (∃xF(x)⇒∃xG(x))⇒∀x(F(x)⇒ G(x))

5. ∀x∃yR(x,y)⇒∃xR(x,x)

6. ∀x∀y(R(x,y)⇒ R(y,x))⇒∀xR(x,x)

Indication : il suffit de construire des 1 ou 2 expansions. Réponse

Exercice 60Montrez que le raisonnement suivant est incorrect :Hypothèses

1. ∃xP(x)

2. ∃xQ(x)

3. ∀x(P(x)∧Q(x)⇒ R(x))

Conclusion ∃xR(x) Réponse

Exercice 61Construire des contre-modèles des formules suivantes :

1. ∀x∃y(x = y)⇒∃y∀x(y = x)

2. F(a)∧ (a 6= b)⇒¬F(b)

3. ∃x∃y(F(x)∧F(y)∧ x 6= y)⇒∀xF(x)

4. ∀x∀y(F(x,y)⇒ x = y)⇒∃xF(x,x)Réponse

Exercice 62 (Équivalence) Prouver que ¬∀x∃yP(x,y)≡ ∃y∀x¬P(y,x) Réponse

Exercice 63 (Équivalence) Prouver que ∃x(P(x)⇒ Q(x))≡ ∀xP(x)⇒∃xQ(x). Réponse

Exercice 64 (Équivalence) La phrase "aucun malade n’aime les charlatans" a été traduite en logique du premierordre par les 2 formules

– ∀x∀y((M(x)∧A(x,y))⇒¬C(y))– ¬(∃x(M(x)∧ (∃y(A(x,y)∧C(y)))))

Montrez que ces 2 traductions sont équivalentes. Réponse

64

Page 65: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Chapitre 5

Déduction Naturelle : quantificateurs etégalité

IntroductionOn ajoute aux règles du chapitre 3 des règles concernant les quantificateurs et l’égalité. Notre système comporte

une seule règle pour enlever les hypothèses (la règle d’introduction de l’implication). Les définitions des mots brouillonde preuve, environnement, contexte, formule utilisable sont inchangées.

On montre la cohérence des règles de notre système, mais on demande d’admettre sans preuve, que ce système estcomplet : on trouvera des preuves de complétude pour des systèmes de règles proches dans les livres [2], [1],. . .

Contrairement au cas propositionnel, il n’y a aucun algorithme pour décider si une formule est valide ou non valide.Autrement dit, en admettant l’équivalence entre prouvable (sans environnement) et valide, il n’y a pas d’algorithmequi, étant donné une formule, puisse nous en construire la preuve, ou nous avertir que cette formule n’a pas de preuve.

5.1 Les règles

5.1.1 Règles des quantificateursA et B sont des formules, x est une variable, t est un terme

A∀xA ∀I x ne doit être libre ni dans l’environnement

de la preuve, ni dans le contexte de laprémisse de la règle

∀xAA<x := t> ∀E t est libre pour x dans AA<x := t>∃xA ∃I t est libre pour x dans A

∃xA (A⇒ B)B ∃E x ne doit être libre ni dans l’environ-

nement, ni dans B, ni dans le contexte dela prémisse droite de la règle.

AA′

copieLa formule A′ est une copie (voir définition4.3.1) de la formule A.

On montre l’usage de ces règles sur des exemples, ainsi que les erreurs occasionnées par le non respect des conditionsd’emploi des règles.

65

Page 66: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Exemple 5.1.1 On prouve ∀xP(x)∧∀xQ(x)⇒∀x(P(x)∧Q(x)).1 1 supposons ∀xP(x)∧∀xQ(x)1 2 ∀xP(x) ∧E1 11 3 ∀xQ(x) ∧E2 11 4 P(x) ∀E 2, x1 5 Q(x) ∀E 3, x1 6 P(x)∧Q(x) ∧I 4, 51 7 ∀x(P(x)∧Q(x)) ∀I 5

8 donc ∀xP(x)∧∀xQ(x)⇒∀x(P(x)∧Q(x)) ⇒I 1, 6Noter que dans l’usage de la règle d’instanciation aux lignes 4 et 5, on a précisé que x est remplacé x.

Exemple 5.1.2 On montre qu’un usage incorrect de la règle ∀E conduit à «prouver» une formule non valide.1 1 supposons ∀x∃yp(x,y)1 2 ∃yp(y,y) ∀E 1, y ERREUR

3 donc ∀x∃yp(x,y)⇒∃yp(y,y)À la ligne 2, on a pas respecté les conditions d’applications de la règle ∀E car le terme y n’est pas libre pour x dansla formule ∃yp(x,y).Soit I l’interprétation de domaine {0,1} avec pI = {(0,1),(1,0)}.Cette interprétation rend fausse la «conclusion».

Exemple 5.1.3 On montre qu’un usage incorrect de la règle ∀I conduit à «prouver» une formule non valide.1 1 supposons P(x)1 2 ∀xP(x) ∀I 1 ERREUR

3 donc P(x)⇒∀xP(x) ⇒I 1, 2À la ligne 2, on n’a pas respecté les conditions d’applications de la règle ∀I car la prémisse P(x) est établie dans lecontexte P(x), ce qui interdit de généraliser sur x.

Exemple 5.1.4 On montre qu’un usage incorrect de la règle ∃E conduit à «prouver» une formule non valide.1 1 supposons ∃xP(x)1, 2 2 supposons P(x)1 3 donc P(x)⇒ P(x) ⇒ I 2, 21 4 P(x) ∃E 1, 3 ERREUR

5 donc ∃xP(x)⇒ P(x)La conclusion de la règle ∃E est P(x) , contrairement à la condition d’application de cette règle qui impose que laconclusion ne doit pas dépendre de x.

Exemple 5.1.5 On montre qu’un usage incorrect de la règle ∃E conduit à «prouver» une formule non valide.1 1 Supposons ∃xP(x)∧ (P(x)⇒∀yQ(y))1 2 ∃xP(x) ∧E1 11 3 P(x)⇒∀yQ(y) ∧E2 11 4 ∀yQ(y) ∃E 2, 3 ERREUR

5 Donc (∃xP(x)∧ (P(x)⇒∀yQ(y)))⇒∀yQ(y) ⇒ I 1,4On n’a pas respecté la condition que le contexte de chaque prémisse de la règle ne doit pas dépendre de x.Il est clair que la conclusion obtenue n’est pas valide.Soit I l’interprétation de domaine {0,1} avec PI = QI = {0} et l’état e où x = 1.L’assignation Ie rend faux cette «conclusion».

66

Page 67: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Exemple 5.1.6 (Lois de Morgan) On montre que pour toute formule A, on peut prouver ¬∀xA⇒∃x¬A.1 1 Supposons ¬∀xA1, 2 2 Supposons ¬∃x¬A1, 2, 3 3 Supposons ¬A1, 2, 3 4 ∃x¬A ∃I 3, x1, 2, 3 5 ⊥ ⇒ E 2, 41, 2 6 Donc ¬¬A ⇒ I 3, 51, 2 7 A Raa 61, 2 8 ∀xA ∀I 71, 2 9 ⊥ ⇒ E 1, 81 10 Donc ¬¬∃x¬A ⇒ I 2, 91 11 ∃x¬A Raa 10

12 Donc ¬∀xA⇒∃x¬A ⇒ I 1, 11On vérifie que les conditions d’application des règles sont respectées.À la ligne 4, on a utilisé la fait que ¬A peut être vue comme le résultat de la substitution de x par x dans ¬A et qu’unevariable est toujours libre pour elle-même dans une formule.À la ligne 7, le contexte de la prémisse ne dépend pas de x, puisque dans ce contexte A et ¬A sont dans la portée d’unquantificateur liant x.

5.1.2 Les règles de l’égalité

Deux règles caractérisent l’égalité : un terme est égal à lui-même (règle de la réflexivité) et si deux termes sontégaux, on peut les remplacer l’un par l’autre.Comme pour les règles ∀E et ∃I, il faut préciser les remplacements légitimes.

t = t re f lexivite t est un termes = t A<x := s>

A<x := t>congruence

s et t sont deux termes libres pour lavariable x dans la formule A

On remarque que la première règle n’a pas de prémisse. C’est ce que l’on appelle aussi un axiome.

Exemple 5.1.7 Prouvons que s = t⇒ t = s, autrement dit prouvons que l’égalité est symétrique.1 1 supposons s = t1 2 s = s réflexivité1 3 t = s congruence 1, 2 (s = s) = (x = s)<x := s> (t = s) = (x = s)<x := t>

3 donc s = t⇒ t = s ⇒I 1, 3Notons que la variable x ne figure pas dans la preuve, elle ne fait que marquer l’endroit où fait le remplacement de spar t. Dans les prochains exemples, on se contentera de souligner cet endroit.

Exemple 5.1.8 Prouvons que s = t ∧ t = u⇒ s = u, autrement dit prouvons que l’égalité est transitive.1 1 supposons s = t ∧ t = u1 2 s = t ∧E1 11 3 t = u ∧E2 11 4 s = u congruence 3, 2

5 donc s = t ∧ t = u⇒ s = u ⇒I 1, 4

5.1.3 Tactiques de preuves

Nous revoyons des tactiques de preuve pour les connectives et nous donnons des tactiques pour l’application des règles∀I et ∃E et nous appliquons ces tactiques à un exemple.

67

Page 68: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

5.1.3.1 Raisonner en avant avec une hypothèse d’existence

Soit Γ un ensemble de formules, x une variable, A et B des formules. Supposons que l’on cherche une preuve de Cdans l’environnement Γ,∃xA.

1. Supposons que x n’est libre ni dans Γ, ni dans C. Dans ce cas, la preuve peut toujours s’écrire :supposons Apreuve de C dans l’environnement Γ,Adonc A⇒C ⇒I 1,_C ∃E

2. Supposons que x soit libre dans Γ ou C. On choisit une variable y «nouvelle», c’est-à-dire non libre dans Γ, C etabsente de A, puis on se ramène au cas précédent, via la règle de copie.La preuve s’écrit alors :∃yA<x := y> copie de ∃xAsupposons A<x := y>preuve de C dans l’environnement Γ,A<x := y>donc A<x := y>⇒C ⇒I 1,_C ∃E

La recherche de la preuve initiale a été réduite à la recherche d’une preuve dans un environnement plus simple.C’est exactement le mode de raisonnement appliqué dans les cours de mathématiques quand on cherche une preuved’une formule C avec l’hypothèse ∃xP(x). On introduit une constante «nouvelle» a vérifiant P(a) et on prouve C sousl’hypothèse P(a).

5.1.3.2 Raisonner en arrière pour généraliser

On reprend les notations du paragraphe précédent. Supposons que l’on cherche une preuve de ∀xA dans l’environ-nement Γ.

1. Supposons que x n’est pas libre dans Γ. Dans ce cas, la preuve peut toujours s’écrire :

preuve de A dans l’environnement Γ

∀xA ∀I2. Supposons que x est libre dans Γ. On choisit une variable y «nouvelle», c’est-à-dire non libre dans Γ, puis on se

ramène au cas précédent, via la règle de copie.La preuve s’écrit alors :

preuve de A<x := y> dans l’environnement Γ

∀yA<x := y> ∀I∀xA copie de la formule précédente

La recherche de la preuve initiale a été réduite à la recherche d’une preuve dans un environnement plus simple.C’est exactement le mode de raisonnement appliqué dans les cours de mathématiques quand on cherche une preuvede ∀xP(x). On introduit une constante «nouvelle» a et on prouve P(a). Puis l’on ajoute : puisque le choix de a estarbitraire, on a ∀xP(x)

5.1.3.3 Un exemple d’application des tactiques

On peut définir la notation "il existe un et un seul x" (en bref ∃!x) par :∃!xP(x) .= ∃x(P(x)∧∀y(P(y)⇒ x = y)).En séparant l’existence de x et son unicité, on peut aussi la définir par :∃!xP(x) .= ∃xP(x)∧∀x∀y(P(x)∧P(y)⇒ x = y).Ces deux définitions sont bien sûr équivalentes et on montre ici formellement que la première implique la deuxième.Comme la preuve est longue, il faut apprendre à décomposer les preuves.

68

Page 69: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

5.1.3.3.1 Plan de la preuveOn applique les deux tactiques suivantes :

– Pour prouver A⇒ B, supposer A et déduire B– Pour prouver A∧B, prouver A et prouver B.

1 supposons ∃x(P(x)∧∀y(P(y)⇒ x = y))preuve de ∃xP(x) dans l’environnement de (1)preuve de ∀x∀y(P(x)∧P(y)⇒ x = y) dans l’environnement de (1)∃xP(x)∧∀x∀y(P(x)∧P(y)⇒ x = y) ∧Idonc ∃x(P(x)∧∀y(P(y)⇒ x = y))⇒∃xP(x)∧∀x∀y(P(x)∧P(y)⇒ x = y) ⇒I

5.1.3.3.2 Application de la tactique utilisant une hypothèse d’existenceOn cherche une preuve de ∃xP(x) dans l’environnement de ∃x(P(x)∧∀y(P(y)⇒ x = y))On applique la tactique «raisonner en avant en présence d’une hypothèse existentielle» (voir 5.1.3.1).

référence formulei ∃x(P(x)∧∀y(P(y)⇒ x = y))1 supposons P(x)∧∀y(P(y)⇒ x = y)2 P(x) ∧E1 13 ∃xP(x) ∃I 2, x3 donc P(x)∧∀y(P(y)⇒ x = y)⇒∃xP(x) ⇒I 1,24 ∃xP(x) ∃E i, 3

5.1.3.3.3 Application de la tactique pour obtenir une conclusion généraleOn cherche une preuve de ∀x∀y(P(x)∧P(y)⇒ x = y) dans l’environnement de ∃x(P(x)∧∀y(P(y)⇒ x = y))On applique, dans l’ordre ci-dessous, les tactiques suivantes :

– «raisonner en avant en utilisant d’une hypothèse existentielle» (voir 5.1.3.1).– Pour prouver A⇒ B, supposer A et déduire B– «raisonner en arrière pour obtenir une conclusion générale» (voir 5.1.3.2).– Pour prouver A∧B, prouver A et prouver B.

référence formulei ∃x(P(x)∧∀y(P(y)⇒ x = y))1 supposons P(x)∧∀y(P(y)⇒ x = y)2 supposons P(u)∧P(y)3 ∀y(P(y)⇒ x = y) ∧E2 14 P(u) ∧E1 25 P(u)⇒ x = u ∀E 3, u6 x = u ⇒E 4, 57 P(y) ∧E2 28 P(y)⇒ x = y ∀E 3, y9 x = y ⇒E 7, 810 u = y congruence 6, 911 donc P(u)∧P(y)⇒ u = y ⇒I 2, 1012 ∀y(P(u)∧P(y)⇒ u = y) ∀I 1113 ∀u∀y(P(u)∧P(y)⇒ u = y) ∀I 1214 ∀x∀y(P(x)∧P(y)⇒ x = y) copie de 1315 donc (P(x)∧∀y(P(y)⇒ x = y))⇒∀x∀y(P(x)∧P(y)⇒ x = y) ⇒I 1, 1316 ∀x∀y(P(x)∧P(y)⇒ x = y) ∃E i, 14

La tactique «utiliser une hypothèse d’existence» sert à produire la ligne 15La tactique «éliminer une implication» sert à produire la ligne 14 : elle introduit l’hypothèse (1) dans laquelle x estune variable libre.

69

Page 70: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Donc pour appliquer la tactique «obtenir une conclusion générale», il faut déjà changer de variable ligne 13.Observer aussi que la formule, ligne 3, est instanciée aux lignes 5 et 8.Comme sur cet exemple, toute la difficulté des preuves est concentrée autour des règles ∀E et ∃I :

– dans le raisonnement en avant, il faut trouver les bonnes instanciations des formules commençant par un quan-tificateur universel

– dans le raisonnement en arrière, il faut trouver la bonne instance permettant de déduire une formule commençantpar un quantificateur existentiel

5.2 Cohérence du système

5.2.1 Propriétés de la conséquencePropriété 5.2.1 Soit Γ un ensemble de formules, x une variable et A une formule.Supposons que x n’est pas libre dans Γ, alors on a :Γ |= A si et seulement si Γ |= ∀xA

Preuve :⇒ Supposons que Γ |= A. Soit I une interprétation et e un état tels que Ie est modèle de Γ. Puisque x n’est pas libre

dans Γ, pour tout état f identique à e sauf pour la valeur de x, I f et Ie donnent la même valeur aux formules deΓ, donc I f est modèle de Γ.Puisque Γ |= A, pour tout état f identique à e sauf pour la valeur de x, I f est modèle de A, donc Ie est modèlede ∀xA.

⇐ Supposons que Γ |= ∀xA. Puisque la formule ∀xA⇒ A est valide (d’après le corollaire 4.2.1), on a Γ |= A2

Si on observe d’un oeil critique cette preuve, on voit que c’est une paraphrase, dans un autre formalisme, de la loi ∀Iqu’elle «prétend» prouver.C’est l’équivalence ci-dessus, qui explique que la tactique «raisonner en arrière pour généraliser» (voir 5.1.3.2), estune tactique utilisable sans risque. En effet, en admettant la complétude du système, lorsque x n’est pas libre dans Γ,il y a une preuve de A dans l’environnement Γ si et seulement si il a une preuve de ∀xA dans ce même environnement.

Propriété 5.2.2 Soit Γ un ensemble de formules, x une variable, A et B deux formules.Supposons que x n’est libre ni dans Γ, ni dans B, alors on a :Γ |= A⇒ B si et seulement si Γ |= (∃xA)⇒ B

Preuve :⇒ Supposons que Γ |= A⇒ B. Soit I une interprétation et e un état tels que Ie est modèle de Γ. Puisque x n’est

pas libre dans Γ, pour tout état f identique à e sauf pour la valeur de x, I f et Ie donnent la même valeur auxformules de Γ, donc I f est modèle de Γ.Puisque Γ |= A⇒ B, pour tout état f identique à e sauf pour la valeur de x, I f est modèle de A⇒ B. Supposonsque Ie est modèle de ∃xA, il existe g identique à e sauf pour la valeur de x tel que Ig est modèle de A.Puisque pour tout état f identique à e sauf pour la valeur de x, I f est modèle de A⇒ B, alors Ig est modèle deB.Puisque x n’est pas libre dans B, Ie est modèle de B.

⇐ Supposons que Γ |= (∃xA)⇒ B. Puisque la formule A⇒ (∃xA) est valide (d’après le corollaire 4.2.1), on aΓ |= A⇒ B.

2

Si on observe d’un oeil critique cette preuve, on voit que c’est une paraphrase, dans un autre formalisme, de la loi ∃Equ’elle «prétend» prouver.C’est l’équivalence ci-dessus, qui explique que la tactique «raisonner en avant avec une hypothèse d’existence» (voir5.1.3.1), est une tactique utilisable sans risque. En effet, en admettant la complétude du système, lorsque x n’est libreni dans Γ, ni dans B, il y a une preuve de B dans l’environnement Γ,A si et seulement si il a une preuve de B dans l’environnement Γ,∃xA.

70

Page 71: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

5.2.2 Preuve de la cohérenceThéorème 5.2.1 (Cohérence de la déduction) Si une formule est déduite d’un environnement de formules alors elleen est une conséquence.

Preuve : La preuve obéit au même plan que celle du même théorème dans le cas propositionnel (voir theoreme 3.2.1)et nous en reprenons les notations en traitant uniquement le cas des nouvelles règles.Soit Γ un ensemble de formules. Soit P une preuve de A dans cet environnement.Soit Ci la conclusion et Hi le contexte de la i-ème ligne de la preuve P. Rappelons que les lignes d’une preuve sontnumérotées à partir de 1 et que H0 est la liste vide.Notons par Γ,Hi l’ensemble des formules de l’ensemble Γ et de la liste Hi.Supposons que pour tout i où 0 < i < k, Γ,Hi |= Ci. Montrons que, pour 0 < k, Γ,Hk |= Ck. On examine uniquementle cas des nouvelles règles et pour simplifier on ne fait pas de distinctions entre deux formules égales aux abréviationsprès de la négation et de l’équivalence.

1. supposons que Ck = ∀xA et que cette ligne a été déduite, par la règle ∀I, de la formule A avec A = Ci et 0 < i < kou A ∈ Γ.Si A = Ci et 0 < i < k, par hypothèse de récurrence on a, Γ,Hi |= A.Si A ∈ Γ alors Γ |= A.Puisque H0 est la liste vide, il existe i où 0≤ i < k tel que Γ,Hi |= A.Vu les conditions d’application de la règle, x n’est pas libre dans Γ,Hi.Donc, d’après la propriété 5.2.1, on a aussi Γ,Hi |= ∀xA.Puisque la ligne i est utilisable sur la ligne k−1 et que H0 est la liste vide, Hi est préfixe de Hk−1.Puisque le contexte n’est pas modifié par la ligne k, on a Hk−1 = Hk, donc Γ,Hk |= Ck.

2. supposons que Ck = A<x := t> et que cette ligne a été déduite, par la règle ∀E, de la formule ∀xA avec ∀xA = Ciet 0 < i < k ou ∀xA ∈ Γ.Par hypothèse de récurrence ou parce que HO est la liste vide, il existe i où 0≤ i < k tel que Γ,Hi |= ∀xAD’après les conditions d’applications de la règle, le terme t est libre pour la variable x dans la formule A. Donc,d’après la propriété 4.2.1, la formule ∀xA⇒ A<x := t> est valide et par suite Γ,Hi |= A<x := t>.Puisque la ligne i est utilisable sur la ligne k−1, et que H0 est la liste vide, Hi est préfixe de Hk−1.Puisque le contexte n’est pas modifié par la ligne k, on a Hk−1 = Hk, donc Γ,Hk |= Ck.

3. supposons que Ck = ∃xA et que cette ligne a été déduite, par la règle ∃I, de la formule A<x := t > avecA<x := t>= Ci et 0 < i < k ou A<x := t>∈ Γ.Par hypothèse de récurrence ou parce H0 est la liste vide, il existe i où 0≤ i < k tel que Γ,Hi |= A<x := t>D’après les conditions d’applications de la règle, le terme t est libre pour la variable x dans la formule A. Donc,d’après la propriété 4.2.1, la formule A<x := t>⇒∃xA est valide et par suite Γ,Hi |= ∃xA.Puisque la ligne i est utilisable sur la ligne k−1, et que H0 est la liste vide, Hi est préfixe de Hk−1.Puisque le contexte n’est pas modifié par la ligne k, on a on a Hk−1 = Hk, donc Γ,Hk |= Ck.

4. supposons que Ck = B et que cette formule a été déduite, par la règle ∃E, de la formule ∃xA avec ∃xA = Ci et0 < i < k ou ∃xA ∈ Γ et de la formule A⇒ B avec A⇒ B = C j et 0 < j < k ou A⇒ B ∈ Γ.Par hypothèse de récurrence ou parce H0 est la liste vide, il existe i et j tels que 0≤ i < k, 0≤ j < k, Γ,Hi |= ∃xAet Γ,H j |= A⇒ B.Vu les conditions d’application de la règle, x n’est libre ni dans Γ,H j, ni dans BDonc, d’après la propriété 5.2.2, on a aussi Γ,H j |= (∃xA)⇒ B.Puisque les lignes i et j sont utilisables sur la ligne k− 1, et que H0 est la liste vide, Hi et H j sont préfixes deHk−1.Puisque le contexte n’est pas modifie par la ligne k, on a Hk−1 = Hk, donc Γ,Hk |= ∃xA et Γ,Hk |= (∃xA)⇒ B.Par suite Γ,Hk |= Ck.

5. supposons que Ck = A′ et que cette formule a été déduite, par la règle de copie de la formule A avec A = Ci et0 < i < k ou A ∈ Γ.Par hypothèse de récurrence ou parce H0 est la liste vide, il existe i tel que 0≤ i < k, Γ,Hi |= A.Puisque, d’après 4.3.2, les formules A et A′ sont équivalentes, on a Γ,Hi |= A′.

71

Page 72: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Puisque la ligne i est utilisable sur la ligne k−1, et que H0 est la liste vide, Hi est préfixe de Hk−1.Puisque le contexte n’est pas modifié par la ligne k, on a on a Hk−1 = Hk, donc Γ,Hk |= Ck.

6. supposons que Ck = (t = t). Puisque cette formule est valide (dans le sens attribué à l’égalité), Γ,Hk |= Ck.

7. supposons que Ck = A<x := t> et que cette ligne a été déduite, par la règle de congruence, de la formule s = tavec (s = t) = Ci et 0 < i < k ou (s = t) ∈ Γ et de la formule A<x := s> avec A<x := s>= C j et 0 < j < k ouA<x := s>∈ Γ.Par hypothèse de récurrence ou parce H0 est la liste vide, il existe i et j tels que 0 ≤ i < k, 0 ≤ j < k, Γ,Hi |=(s = t) et Γ,H j |= A<x := s>.Puisque les lignes i et j sont utilisables sur la ligne k− 1, et que H0 est la liste vide, Hi et H j sont préfixes deHk−1.Puisque le contexte n’est pas modifie par la ligne k, on a Hk−1 = Hk, donc Γ,Hk |= (s = t) et Γ,Hk |= A<x := s>.D’après le théorème 4.2.1 et les conditions d’application de la règle, on a : s = t,A<x := s>|= A<x := t>Par suite Γ,Hk |= Ck.

2

72

Page 73: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

5.3 ExercicesExercice 65 Prouver les formules suivantes :

1. le syllogisme fameux, tout homme est mortel, socrate est un homme, donc est mortel, que l’on formalise par∀x(H(x)⇒M(x))∧H(socrate)⇒M(socrate).

2. ∀xP(x)⇒∃xP(x)

3. ∀xP(x)⇒∃yP(y)

4. ∀x(P(x)∧Q(x))⇒∀xP(x)∧∀xQ(x). Noter que l’exemple 5.1.1 donne la preuve de la réciproque.

5. ∃x(P(x)∨Q(x))⇒∃xP(x)∨∃xQ(x)

6. ∃xP(x)∨∃xQ(x)⇒∃x(P(x)∨Q(x))

7. ∀x(P(x)⇒ Q(x))∧∃xP(x)⇒∃xQ(x)

8. ∀x(P(x)⇒ Q(x))∧∀x(Q(x)⇒ R(x))⇒∀x(P(x)⇒ R(x))

Dans cet exercice, les formules P(x) et Q(x) peuvent être remplacées par des formules quelconques. Réponse

Exercice 66 Prouver les formules suivantes :

1. ∀x∀yP(x,y)⇒∀y∀xP(x,y)

2. ∃x∃yP(x,y)⇒∃y∃xP(x,y)

3. ∃x∀yP(x,y)⇒∀y∃xP(x,y)

4. ∀x(Q(x)⇒∀y(R(y)⇒ P(x,y)))⇒∀y(R(y)⇒∀x(Q(x)⇒ P(x,y)))

Dans cet exercice, la formule P(x,y) peut être remplacée par une formule quelconque.Par contre Q(x) peut être remplacée seulement par une formule n’ayant pas y comme variable libre, et R(y) peut êtreremplacée par une formule n’ayant pas x comme variable libre : expliquez la raison de ces contraintes.

Exercice 67 On sait que (∀x(A∧B)) ≡ (A∧ (∀xB)) à la condition que x ne soit pas une variable libre de A commeil est dit au paragraphe 4.3.2. Montrez que cette condition est nécessaire en donnant une assignation qui donne desvaleurs différentes aux deux formules ∀x(P(x)∧Q(x)) et P(x)∧ (∀xQ(x)).

Réponse

Exercice 68 Prouver les formules suivantes :

1. ∀x(Q∧P(x))⇒ Q∧∀xP(x).Noter que Q est une variable propositionnelle.

2. Q∧∀xP(x)⇒∀x(Q∧P(x))

3. ∀x(Q∨P(x))⇒ Q∨∀xP(x).

4. Q∨∀xP(x)⇒∀x(Q∨P(x))

5. ∃x(Q∧P(x))⇒ Q∧∃xP(x).

6. Q∧∃xP(x)⇒∃x(Q∧P(x))

7. ∃x(Q∨P(x))⇒ Q∨∃xP(x).

8. Q∨∃xP(x)⇒∃x(Q∨P(x))

Dans cet exercice, la formule P(x) peut être remplacée par une formule quelconque.Par contre, Q peut être remplacée seulement par une formule n’ayant pas x comme variable libre, comme le montrel’exercice précédent. Réponse

Exercice 69 Prouver la formule ¬∃xP(x)⇒ ∀x¬P(x). Vérifier que P(x) peut être remplacer par une formule quel-conque. Remarquer que cette formule est la réciproque de la formule prouvée à l’exemple 5.1.6

73

Page 74: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Exercice 70 (Égalité) Prouvez les formules suivantes :

1. x = y⇒ f (x,z) = f (y,z)

2. ∀x∃y(x = y)

3. R(a,c)∧ (a = b)⇒ R(b,c)Réponse

Exercice 71 (Égalité) Prouvez que la deuxième définition de «il existe un et un seul x» (voir 5.1.3.3) implique lapremière, autrement dit prouver la formule :∃xP(x)∧∀x∀y(P(x)∧P(y)⇒ x = y)⇒∃x(P(x)∧∀y(P(y)⇒ x = y))

Réponse

Exercice 72 On peut définir l’addition grâce aux deux formules :(a) ∀n(n+0 = n)(b) ∀n∀p(n+ s(p) = s(n+ p))

Ces deux formules permettent de faire des additions : on peut grâce à elles prouver que s(0) + s(0) = s(s(0)).Mais elles ne permettent pas de prouver les propriétés générales de l’addition, qui nécessitent d’avoir le principe derécurrence.

1. Montrer que des hypothèses (a) et (b), on ne peut pas déduire∀n(0+n = n).

2. On donne un nom à la propriété ci-dessus et on pose le principe de récurrence sur cette propriété :(c) ∀n(P(n)⇔ 0+n = n)(d) P(0)∧∀n(P(n)⇒ P(s(n)))⇒∀nP(n)Prouver par la déduction naturelle que (a)∧ (b)∧ (c)∧ (d)⇒∀nP(n)

Réponse

74

Page 75: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Chapitre 6

Base de la démonstration automatique

IntroductionEn logique du premier ordre, il n’a pas d’algorithme pour décider si une formule est valide ou non valide.

Mais on peut d’écrire un programme, qui a pour donnée une formule et qui a le comportement suivant

1. il termine en déclarant la formule valide (cette déclaration étant souvent accompagnée d’une preuve de la for-mule).

2. il termine en déclarant qu’il n’y a pas de preuve de la formule, donc qu’elle n’est pas valide.

3. il termine après épuisement des ressources allouées au programme sans donner de réponse : on ne sait pas alorsle statut de la formule

De plus lorsqu’on donne à ce programme une formule valide et des ressources suffisantes, il termine en donnant labonne réponse. Lorsque la formule n’est pas valide, le programme peut parfois s’en apercevoir, mais aussi peut allerjusqu’à épuiser ses ressources sans donner de réponse.Nous étudions uniquement des programmes basés sur la résolution, par manque de temps et parce que ces programmessont les plus répandus.

6.1 Interprétation de Herbrand et théorème de HerbrandDéfinition 6.1.1 (fermeture universelle) Soit C une formule ayant pour variables libres x1, . . .xn. La fermeture uni-verselle de C, notée ∀(C), est la formule ∀x1 . . .∀xnC. Cette notion est définie à l’ordre près des variables libres de C.Soit Γ un ensemble de formules, ∀(Γ) = {∀(A) | A ∈ Γ}

Exemple 6.1.1 ∀(P(x)∧R(x,y)) = ∀x∀y(P(x)∧R(x,y)) = ∀y∀x(P(x)∧R(x,y))

Définition 6.1.2 (substitution) Une substitution est une application des variables dans les termes.Soit A une formule et σ une substitution. Aσ est la formule obtenue en remplaçant toute occurrence libre d’une variablepar son image dans l’application.La formule Aσ est une instance de A.

Dans la suite, on ne considére que des formules qui ne contiennent pas le symbole égal, dont le sens est fixé dans touteinterprétation. De plus on considère que toute signature comporte au moins une constante. Ainsi la signature d’unensemble de formules ne comportant pas de constante, sera complétée par la constante a.

75

Page 76: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Définition 6.1.3 (Domaine et base de Herbrand)1. Le domaine de Herbrand pour Σ est l’ensemble des termes fermés de cette signature. On le note DΣ.

Puisque la signature comporte au moins une constante, cet ensemble n’est pas vide. Noter que le domaine deHerbrand d’une signature sans constante est vide.

2. La base de Herbrand pour Σ est l’ensemble des formules atomiques fermées (sauf > et ⊥) de cette signature.On la note BΣ.

Exemple 6.1.21. Soit Σ la signature comportant uniquement les 2 constantes a,b et les 2 symboles de relations unaires P,Q.

On a DΣ = {a,b} et BΣ = {P(a),P(b),Q(a),Q(b)}.2. Soit Σ la signature comportant uniquement la constante a, le symbole de fonction unaire f et le symbole de

relation unaire P.On a DΣ = { f n(a) | n ∈ N} et BΣ = {P( f n(a)) | n ∈ N}

Définition 6.1.4 (Interprétation de Herbrand) Soit Σ une signature et E ⊆ BΣ. L’interprétation de Herbrand HΣ,Ea pour domaine DΣ et donne aux symboles le sens suivant :

1. Si le symbole s est une constante de la signature , il vaut lui-même dans cette interprétation.

2. si n≥ 1 et si s est un symbole de fonction à n arguments de la signature et si t1, . . . tn ∈ DΣ alorss f n

HΣ,E(t1, . . . tn) = s(t1, . . . tn)

3. Si le symbole s est une variable propositionnelle, il vaut 1, autrement dit il est vrai, si et seulement si s ∈ E

4. si n≥ 1 et si s est un symbole de relation de la signature et si t1, . . . tn ∈ DΣ alorssrn

HΣ,E= {(t1, . . . tn) | t1, . . . tn ∈ DΣ∧ s(t1, . . . tn) ∈ E}

Théorème 6.1.1 (Propriété d’une interprétation de Herbrand) Soit Σ une signature et E ⊆ BΣ. Dans l’interpréta-tion de Herbrand HΣ,E ,

1. La valeur d’un terme sans variable est lui-même

2. L’interprétation est modèle d’une formule atomique fermée (sauf > et ⊥) si et seulement si cette formule estélement de E

La preuve est une conséquente évidente de la définition d’une interprétation de Herbrand. Le résultat montre qu’unetelle interprétation peut être identifiée à l’ensemble des formules atomiques fermées dont elle est modèle.

Exemple 6.1.3 Soit Σ la signature comportant les 2 constantes a,b et les 2 symboles de relations unaires P,Q.L’ensemble E = {P(b),Q(a)} définit l’interprétation de Herbrand H de domaine DΣ = {a,b} où les constantes a et bont pour valeur elles-mêmes et où PH = {b} et QH = {a}.

Théorème 6.1.2 (Formule universelle et modèle de Herbrand) Soit Γ un ensemble de formules sans quantifica-teurs sur la signature Σ.∀(Γ) a un modèle si et seulement si ∀(Γ) a un modèle qui est une interprétation de Herbrand de Σ.

Ce théorème n’est pas utilisé dans les exercices. mais il est appliqué au paragraphe 6.2.5.

Théorème 6.1.3 (Theoreme de Herbrand) Soit Γ un ensemble de formules sans quantificateur de signature Σ : onrappelle que l’on suppose que la signature comporte au moins une constante et que le signe égal n’est pas utilisé.∀(Γ) a un modèle si et seulement si tout ensemble fini d’instances fermées sur la signature Σ des formules de Γ a unmodèle propositionnel application de la base de Herbrand BΣ dans l’ensemble {0,1}.

Preuve : On donne seulement les idées essentielles de la preuve.⇒ Supposons que ∀(Γ) a un modèle I. Les instances des formules de Γ sont conséquences de ∀(Γ) donc ont pour

modèle I. Ce modèle I peut être vu comme une modèle propositionnel v de domaine BΣ, la base de Herbrand dela signature Σ, où pour tout A ∈ BΣ, v(A) = [A]I .Donc v est modèle propositionnel de tout ensemble d’instances des formules de Γ.

76

Page 77: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

⇐ Supposons que tout ensemble fini d’instances fermées sur la signature Σ des formules de Γ a un modèle propo-sitionnel de domaine BΣ. On démontre que de l’ensemble de toutes les instances fermées sur la signature Σ aalors un modèle propositionnel v de domaine BΣ.Ce modèle propositionnel peut être vu comme le modèle de Herbrand de ∀(Γ) associé à l’ensemble des élementsde la base de Herbrand dont v est modèle.

2

Corollaire 6.1.1 (Variante du theoreme de Herbrand) Soit Γ un ensemble de formules sans quantificateur de sig-nature Σ. ∀(Γ) est insatisfaisable si et seulement si il existe un ensemble fini insatisfaisable d’instances fermées sur lasignature Σ des formules de Γ

Preuve : Le corollaire est obtenu en remplaçant chaque côté de l’équivalence du théorème de Herbrand par sa négation.2

Dans le cas où Γ est un ensemble fini de formules, ce corrolaire fonde une procédure de semi-décision pour savoir si∀(Γ) est ou n’est pas insatisfaisable : on enumère l’ensemble des instances fermées des formules de Γ sur la signature Σ

et on arrête cette énumération dès qu’on obtient un ensemble insatisfaisable, ou dès que cette enumération est terminéesans contradiction ou dès qu’on est «fatigué » :

1. Dans le premier cas, la procèdure répond (en appliquant le corollaire) que ∀(Γ) est insatisfaisable.

2. Le deuxième cas ne peut se produire que si le domaine de Herbrand ne comprend que des constantes, la procé-dure répond (en appliquant le corollaire) que ∀(Γ) est satisfaisable et en donne un modèle.

3. Dans le troisième cas, on ne peut évidemment pas conclure : le corollaire nous dit que si ∀(Γ) est insatisfaisable,et si l’on avait été plus courageux, on aurait obtenu une contradiction.

Exemple 6.1.4 1. Soit Γ = {P(x),Q(x),¬P(a)∨¬Q(b)}.La signature Σ comporte 2 constantes a,b et 2 symboles de relation unaire P,Q.Le domaine de Herbrand est {a,b}.L’ensemble {P(a),Q(b),¬P(a)∨¬Q(b)} d’instances sur le domaine de Herbrand est insatisfaisable, donc ∀(Γ)est insatisfaisable.

2. Soit Γ = {P(x)∨Q(x),¬P(a),¬Q(b)}. On a la même signature que précédemment. L’ensemble de toutes lesinstances sur le domaine de Herbrand {P(a)∨Q(a),P(b)∨Q(b),¬P(a),¬Q(b)} a un modèle propositionnelcaractérisé par E = {P(b),Q(a)}.Donc l’interprétation de Herbrand associée à E est modèle de ∀(Γ).

3. Soit Γ = {P(x),¬P( f (x))}. La signature Σ comporte une constante a , un symbole de fonction unaire f et unsymbole de relation unaire P.La constante a est ajoutée à la signature de Γ pour que le domaine de Herbrand ne soit pas vide.L’ensemble {P( f (a)),¬P( f (a))} d’instances sur le domaine de Herbrand est insatisfaisable, donc ∀(Γ) estinsatisfaisable.

4. Soit Γ = {P(x)∨¬P( f (x)),¬P(a),P( f ( f (a)))}. On a la même signature que précédemment.L’ensemble {P(a)∨¬P( f (a)),P( f (a))∨¬P( f ( f (a))),¬P(a),P( f ( f (a)))} d’instances sur le domaine de Her-brand est insatisfaisable, donc ∀(Γ) est insatisfaisable.Observez qu’il a fallu prendre 2 instances de la première formule de Γ pour obtenir une contradiction.

5. Soit Γ = {R(x,s(x)),R(x,y)∧R(y,z)⇒ R(x,z),¬R(x,x)}. La signature Σ comporte une constante a, un symbolede fonction unaire s et un symbole de relation binaire R.Le domaine de Herbrand est DΣ = {sn(a) | n ∈ N}. Ce domaine est infini.∀(Γ) a un modèle infini : l’interprétation I de domaine N avec pour tout n ∈ N, sI(n) = n+1 etRI = {(n, p) | n < p}, en bref R(x,y) = x < y.On peut prouver que ∀(Γ) n’a aucun modèle fini, autrement dit il est inutile de chercher des modèles finis avecles méthodes du chapitre précédent.Puisque ∀(Γ) a un modèle, on est dans une situation, où la procédure évoquée ci-dessus, ne pourra jamaisdonner de réponses, aussi longtemps que l’on poursuive l’énumération des instances des formules de Γ.

77

Page 78: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

6.2 SkolémisationLe théorème de Herbrand est applicable à la fermeture universelle d’un ensemble de formules sans quantifica-

teur. On étudie une transformation, la skolémisation, qui change un ensemble de formules fermées en la fermetureuniverselle d’un ensemble de formules sans quantificateur et qui préserve l’existence d’un modèle.

6.2.1 Exemples et propriétés de la skolémisationExemple 6.2.1 La formule ∃xP(x) est skolémisée en P(a). On observe les relations entre ces deux formules

1. P(a) a pour conséquence ∃xP(x)2. ∃xP(x) n’a pas pour conséquence P(a) mais un modèle de ∃xP(x) «donne» un modèle de P(a).

En effet soit I un modèle de ∃xP(x). Donc il existe d ∈ PI .Soit J l’interprétation telle que PJ = PI et aJ = d. J est modèle de P(a).

Exemple 6.2.2 La formule ∀x∃yQ(x,y) est skolémisée en ∀xQ(x, f (x)).On observe les relations entre ces deux for-mules

1. ∀xQ(x, f (x)) a pour conséquence ∀x∃yQ(x,y)2. ∀x∃yQ(x,y) n’a pas pour conséquence ∀xQ(x, f (x)) mais un modèle de ∀x∃yQ(x,y) «donne» un modèle de∀xQ(x, f (x)).En effet soit I un modèle de ∀x∃yQ(x,y) et soit D le domaine de I.Pour tout d ∈ D, l’ensemble {e ∈ D | (d,e) ∈ QI} n’est pas vide, donc il existe g : D→ D une fonction 1 telleque pour tout d ∈ D, g(d) ∈ {e ∈ D | (d,e) ∈ QI}.Soit J l’interprétation J telle que QJ = QI et fJ = g : J est modèle de ∀xQ(x, f (x)).

Comme sur nos deux exemples, la skolémisation sert à éliminer les quantificateurs existentiels et change une formulefermée A en une formule B telle que

– B a pour conséquence A– tout modèle de A donne un modèle de B

Par suite A a un modèle si et seulement si B a un modèle : la skolémisation préserve l’existence d’un modèle, on ditaussi qu’elle préserve la satisfaisabilité.

6.2.2 Comment skolémiser une formuleDéfinition 6.2.1 (Formule propre) Une formule fermée est dite propre, s’il elle ne comporte pas de variable liée pardeux quantificateurs distincts.

Exemple 6.2.3 La formule ∀xP(x)∨∀xQ(x) n’est pas propre.La formule ∀x(P(x)⇒∃xQ(x)∧∃yR(x,y)) n’est pas propre.

Définition 6.2.2 (Formule normale) Une formule normale est une formule sans équivalence, ni implication, dont lesnégations portent uniquement sur les formules atomiques.

Il y a plusieurs façons de skolémiser une formule fermée. Celle que nous proposons, est un compromis entre l’efficacitéet la simplicité de la transformation. Elle comporte quatre étapes

1. Transformation de la formule fermée en une autre formule fermée normale équivalente.2. Transformation de la formule fermée normale en une formule fermée, normale et propre équivalente3. Élimination des quantificateurs existentiels.

Cette transformation préserve seulement l’existence de modèle, comme on l’a vu sur les exemples.4. Transformation de chaque formule fermée, normale, propre et sans quantificateur existentiel en une formule

normale sans quantificateur.

Définition 6.2.3 (Forme de Skolem) Soit A une formule fermée et B la formule normale sans quantificateur obtenuepar la transformation ci-dessus : B est la forme de Skolem de A.

1En affirmant l’existence de g, on utilise implicitement l’axiome du choix

78

Page 79: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

6.2.2.1 Transformation en formule normale

On enlève les équivalences et les implications et on déplace les négations vers les formules atomiques au moyendes équivalences suivantes utilisées de gauche à droite :

A⇔ B≡ (A⇒ B)∧ (B⇒ A)A⇒ B≡ ¬A∨B¬¬A≡ A¬(A∧B)≡ ¬A∨¬B¬(A∨B)≡ ¬A∧¬B¬∀xA≡ ∃x¬A¬∃xA≡ ∀x¬A

Comme dans le cas propositionnel, en combinant déplacement de la négation et élimination de l’implication, c’est àdire en remplaçant ¬(A⇒ B) par A∧¬B, on peut effectuer plus rapidement la transformation en formule normaleéquivalente, qu’en se limitant aux équivalences ci-dessus.

Exemple 6.2.4 La formule ∀y(∀xP(x,y)⇔Q(y)) est transformée par élimination de l’équivalence et de l’implicationen∀y((¬∀xP(x,y)∨Q(y))∧ (¬Q(y)∨∀xP(x,y)))puis par déplacement de la négation en∀y((∃x¬P(x,y)∨Q(y))∧ (¬Q(y)∨∀xP(x,y)))

6.2.2.2 Transformation en formule propre

On change le nom des variables liées correctement, par exemple en choisissant de nouvelles variables à chaquechangement de nom.

Exemple 6.2.5 La formule ∀xP(x)∨∀xQ(x) est changée en ∀xP(x)∨∀yQ(y)La formule ∀x(P(x)⇒∃xQ(x)∧∃yR(x,y)) est changée en ∀x(P(x)⇒∃zQ(z)∧∃yR(x,y))

6.2.2.3 Élimination des quantificateurs existentiels

Théorème 6.2.1 (Élimination d’une occurence d’un quantificateur existentiel) Soit A une formule fermée normaleet propre ayant une occurrence de la sous-formule ∃yB.Soient x1, . . .xn l’ensemble des variables libres de ∃yB, où n≥ 0.Soit f un symbole ne figurant pas dans A.Soit A′ la formule obtenue en remplaçant cette occurrence de ∃yB par B<y := f (x1, . . .xn)> 2.La formule A′ est une formule fermée normale et propre vérifiant :

1. A′ a pour conséquence A2. Si A a un modèle alors A′ a un modèle identique à celui de A sauf pour le sens de f .

Preuve :1. Montrons que A′ a pour conséquence A.

Puisque la formule A est fermée et propre, les variables libres de ∃yB, qui sont liées à l’extérieur de ∃yB, nesont pas liées par des quantificateurs dans B (sinon la propriété propre ne serait pas respectée), donc le termef (x1, . . .xn) est libre pour y dans B et donc d’après le théorème 4.2.1 :B<y := f (x1, . . .xn)> a pour conséquence ∃yB.Par récurrence sur les formules normales, on en déduit que A′ a pour conséquence A.

2. Montrons que tout modèle de A donne un modèle de A′.Supposons que A a un modèle I où I est une interprétation de domaine D. Soit c ∈ D.Pour tous d1, . . .dn ∈D, soit Ed1,...dn l’ensemble des éléments d ∈D tels que la formule B vaut 1 dans l’interpré-tation I et l’état x1 = d1, . . .xn = dn,y = d de ses variables libres.Soit g : Dn→ D une fonction telle que si Ed1,...dn 6= /0 alors g(d1, . . .dn) ∈ Ed1,...dn sinon g(d1, . . .dn) = c3.

2Si n = 0, f est une constante3En affirmant l’existence de g, on utilise implicitement l’axiome du choix

79

Page 80: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Soit J l’interprétation identique à I sauf que fJ = g.D’après l’interprétation de f et le theoreme 4.2.1, pour tout état e des variables, on a :(1) [∃yB]Ie = [B<y := f (x1, . . .xn)>]Je.Puisque le symbole f est nouveau, la valeur de ∃yB ne dépend pas du sens de f , donc :(2) [∃yB]Ie = [∃yB]JeD’après la propriété du remplacement 1.4.2, qui est aussi vraie en logique du premier ordre, on a :(3) ∃yB⇔ B′<y := f (x1, . . .xn)>|= A⇔ A′

D’après 1, 2 et 3, [A]Je = [A′]Je et puisque f n’est pas dans A et que les formules A et A′ n’ont pas de variableslibre, [A]I = [A′]J .Puisque I est modèle de A, J est modèle de A′.

2

Remarque 6.2.1 Dans le théorème 6.2.1, il faut constater que la formule A′ obtenue à partir de la formule A parélimination d’un quantificateur reste fermée, normale et propre. Donc, en «appliquant» plusieurs fois le théorème,ce qui implique de choisir un nouveau symbole à chaque quantificateur éliminé, on peut transformer une formule Afermée, normale et propre en une formule B fermée, normale, propre et sans quantificateur existentiel telle que :

– La formule A est conséquence de la formule B– Si A a un modèle, alors B a un modèle identique sauf pour le sens des nouveaux symboles

Exemple 6.2.6 En éliminant les quantificateurs existentiels de la formule ∃x∀yP(x,y)∧∃z∀u¬P(z,u) on obtient∀yP(a,y)∧ ∀u¬P(b,u). Il est facile de voir que cette formule a un modèle. Mais si on fait l’erreur impardonabled’éliminer les deux quantificateurs existentiels avec la même constante a, on obtient la formule ∀yP(a,y)∧∀u¬P(a,u),qui est insatisfaisable, puisqu’elle a pour conséquence P(a,a) et ¬P(a,a).Donc il faut impérativement utiliser un nouveau symbole lors de chaque élimination d’un quantificateur existentiel.

6.2.2.4 Transformation en formule universelle

Théorème 6.2.2 Soit A une formule fermée, normale, propre et sans quantificateur existentiel. Soit B la formuleobtenue en enlevant de A tous les quantificateurs universels. La formule A est équivalente à la fermeture universellede B.

Preuve : Avec les conditions posées sur A, la transformation de A en ∀(B) revient à effectuer tous les remplacementspossibles des sous formules de la forme

(∀xC)∧D par ∀x(C∧D) où x non libre dans D(∀xC)∨D par ∀x(C∧D) où x non libre dans DD∧ (∀xC) par ∀x(D∧C) où x non libre dans DD∨ (∀xC) par ∀x(D∨C) où x non libre dans D

Puisque chacun de ces remplacements change une formule en une autre équivalente, les formules A et ∀(B) sontéquivalentes. 2

Théorème 6.2.3 (Propriété de la skolémisation) Soit A une formule fermée et B la forme de Skolem de A.– La formule ∀(B) a pour conséquence la formule A– si A a un modèle alors ∀(B) a un modèle

Donc A a un modèle si et seulement si ∀(B) a un modèle.

Preuve : Soit C la formule fermée normale et propre, obtenue au terme des deux premières étapes de la skolémisationde A.Soit D le résultat de l’élimination des quantificateurs existentiels appliquée à C.D’après la remarque 6.2.1 on a

– La formule D a pour conséquence la formule C– si C a un modèle alors D a un modèle.

Puisque les deux premières étapes changent des formules en des formules équivalentes, A et C sont équivalentes.D’après le theoreme 6.2.2, D est équivalent à ∀(B).Donc on peut remplacer ci-dessus D par ∀(B) et C par A, ce qui prouve le théorème. 2

80

Page 81: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Exemple 6.2.7 Soit A = ∀x(P(x)⇒ Q(x))⇒ (∀xP(x)⇒∀xQ(x)). On skolémise ¬A.

1. ¬A est transformée en la formule normale :∀x(¬P(x)∨Q(x))∧∀xP(x)∧∃x¬Q(x)

2. La formule normale est transformée en la formule propre :∀x(¬P(x)∨Q(x))∧∀yP(y)∧∃z¬Q(z)

3. le quantificateur existentiel est «remplacé» par une constante :∀x(¬P(x)∨Q(x))∧∀yP(y)∧¬Q(a)

4. Les quantificateurs universels sont enlevés :(¬P(x)∨Q(x))∧P(y)∧¬Q(a)).Cette formule est la forme de Skolem, définie en 6.2.3, de ¬A

Instancions la forme de Skolem de ¬A en remplaçant x et y par a.On obtient la formule (¬P(a)∨Q(a))∧P(a)∧¬Q(a) qui est insatisfaisable.Donc ∀((¬P(x)∨Q(x))∧ P(y)∧¬Q(a)) est insatisfaisable. Puisque, d’après la propriété 6.2.3, la skolémisationpréserve l’existence d’un modèle, ¬A est insatisfaisable, donc A est valide.

6.2.3 Skolémiser un ensemble de formules

Pour skolémiser un ensemble de formules, on skolémise chaque formule de l’ensemble comme il a été indiqué cidessus mais il faut impérativement choisir un nouveau symbole à chaque quantificateur existentiel éliminé durant latroisième étape de la skolémisation (voir 6.2.2) pour les raisons qui apparaissent clairement dans la preuve du théorème6.2.1 et dans l’exemple 6.2.6.

Théorème 6.2.4 Soit Γ un ensemble de formules fermées. La skolémisation de Γ consiste à appliquer la skolémisationdécrite en 6.2.2 à chaque formule de Γ, en choisissant un nouveau symbole pour chaque quantificateur existentieléliminé à la troisième étape de la skolémisation.On obtient ainsi un ensemble ∆ de formules sans quantificateurs tel que :

– Tout modèle de ∀(∆) est modèle de Γ

– Si Γ a un modèle alors ∀(∆) en a un modèle qui ne différe de celui de Γ que par le sens des nouveaux symboles.

La skolémisation a des conséquences pratiques : elle facilite la preuve qu’une formule est insatisfaisable. Elle a aussides conséquences théoriques, que nous examinons ci-dessous.

Théorème 6.2.5 Soit Γ un ensemble dénombrable de formules fermées. Si Γ a un modèle alors Γ a un modèle dénom-brable.

Preuve : On skolémise Γ et un ensemble ∆ de formules sans quantificateurs. Supposons que Γ a un modèle. Alors∀(∆) a un modèle d’après le théorème ci-dessus.D’après le théorème 6.1.2, ∀(∆) a un modèle de Herbrand sur la signature de ∆

Puisque que l’ensemble Γ est denombrable, sa signature l’est aussi, donc aussi celle de ∆ et par suite le domaine de cemodèle de Herbrand est dénombrable. 2

Remarque 6.2.2 Appelons théorie, un ensemble de formules. D’après le théorème, toute théorie dénombrable qui a unmodèle, a un modèle dénombrable. Autrement dit avec une théorie du premier ordre, vous pouvez parler des propriétésdes nombres réels ou des ensembles, mais vous ne pouvez pas obliger votre théorie à n’avoir que des modèles nondénombrables, bien que l’ensemble des réels, ou la classe de tous les ensembles, ne soient pas dénombrables.

6.2.4 Forme clausale

Nous définissons ultérieurement une généralisation au premier ordre de la méthode de résolution. Aussi après laskolémisation des formules il faut les transformer en clauses.

81

Page 82: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Définition 6.2.4 (littéral, clause) Un littéral positif est une formule atomique. Un littéral négatif est la négation d’uneformule atomique. Tout littéral est positif ou négatif.Une clause est une somme de littéraux

Définition 6.2.5 (Forme clausale d’une formule) Soit A une formule fermée. La forme clausale de A est un ensemblede clauses obtenue en deux étapes :

1. skolémiser A, autrement dire construire sa forme de Skolem B

2. remplacer B par un ensemble Γ équivalent de clauses obtenu par distributivité de la somme sur le produit

Théorème 6.2.6 (Propriété de la forme clausale d’une formule) La fermeture de la forme clausale d’une formulefermée a un modèle si et seulement la formule a un modèle. Plus précisément

– la fermeture de la forme clausale d’une formule a pour conséquence la formule– si la formule a un modèle alors la fermeture de sa forme clausale en a un

Preuve : Soit A une formule fermée, B sa forme de skolem et Γ sa forme clausale. D’après les propriétés de laskolémisation :

– ∀(B) a pour conséquence A– Si A a un modèle alors ∀(B) a un modèle

Puisque Γ est obtenu par distributivité, B et Γ sont équivalents donc ∀(B) et ∀(Γ) sont aussi équivalents. Par suite dansles deux propriétés ci-dessus, on peut remplacer ∀(B) par ∀(Γ) 2

Définition 6.2.6 (Forme clausale d’un ensemble de formules) Soit Γ un ensemble de formules fermées, la formeclausale de Γ est obtenu en faisant l’union des formes clausales de chacune des formules de Γ et en prenant soin aucours de la skolémisation d’éliminer chaque occurrence d’un quantificateur existentiel à l’aide d’un nouveau symbole.

Théorème 6.2.7 (Propriété de la forme clausale d’un ensemble de formules) Soit Γ un ensemble de formules fer-mées et ∆ la forme clausale de Γ. On a :

– ∀(∆) a pour conséquence Γ

– Si Γ a un modèle alors ∀(∆) a un modèle

Théorème 6.2.8 (Adaptation du théoreme de Herbrand aux formes clausales) Soit Γ un ensemble de formules fer-mées et ∆ la forme clausale de Γ.Γ est insatisfaisable si et seulement il existe un sous-ensemble fini insatisfaisable d’instances des clauses de ∆ sur lasignature de ∆

Preuve : D’après la propriété 6.2.7, la skolémisation préserve la satisfaisablité, donc :Γ est insatisfaisable si et seulement si ∀(∆) est insatisfaisable.D’après le corollaire du théorème de Herbrand 6.1.1, ∀(∆) est insatisfaisable si et seulement si il existe un sous-ensemble fini insatisfaisable d’instances des clauses de ∆ sur la signature de ∆. 2

Exemple 6.2.8 Soit A = ∃y∀z(P(z,y)⇔¬∃x(P(z,x)∧P(x,z))). Calculons la forme clausale de A.

1. Mettons A sous forme normale :∃y∀z((¬P(z,y)∨∀x(¬P(z,x)∨¬P(x,z)))∧∃x(P(z,x)∧P(x,z))∨P(z,y))

2. Rendons propre le résultat :∃y∀z((¬P(z,y)∨∀x(¬P(z,x)∨¬P(x,z)))∧∃u(P(z,u)∧P(u,z))∨P(z,y))

3. Éliminons les quantificateurs existentiels :∀z((¬P(z,a)∨∀x(¬P(z,x)∨¬P(x,z)))∧ (P(z, f (z))∧P( f (z),z))∨P(z,a))

4. Supprimons les quantificateurs universels, on obtient la forme de Skolem de A :((¬P(z,a)∨ (¬P(z,x)∨¬P(x,z)))∧ (P(z, f (z))∧P( f (z),z))∨P(z,a))

5. Transformons en produit de sommes de littéraux, on obtient la forme clausale de A, qui est l’ensemble suivantde clauses :

82

Page 83: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

– C1 = ¬P(z,a)∨¬P(z,x)∨¬P(x,z)– C2 = P(z, f (z))∨P(z,a)– C3 = P( f (z),z)∨P(z,a)

D’après la propriété ci-dessus, A n’a pas de modèle si et seulement si il y a un ensemble fini insatisfaisable d’instancesde C1,C2,C3 sur la signature de ces clauses. On recherche ces instances :

– Soit C′1 obtenue avec x = a,z = a dans C1 : C′1 = ¬P(a,a)– Soit C′′1 obtenue avec x = a,z = f (a) dans C1 : C′′1 = ¬P( f (a),a)∨¬P(a, f (a))– Soit C′2 obtenue avec z = a dans C2 : C′2 = P(a, f (a))∨P(a,a)– Soit C′3 obtenue avec z = a dans C3 : C′3 = P( f (a),a)∨P(a,a)

L’ensemble de ces instances est insatisfaisable, donc A est insatisfaisable.

6.3 Résolution au premier ordreSoit Γ un ensemble de clauses. Supposons que ∀(Γ) n’a pas de modèle. Le système formel «factorisation, copie,

résolution binaire» est un système formel permettant de déduire ⊥ de Γ avec trois règles :

1. La factorisation qui de la prémisse P(x, f (y))∨P(g(z),z)∨Q(z,x) permet de déduire P(g( f (y)), f (y))∨Q( f (y),g( f (y))).La clause déduite est obtenue en calculant la solution la plus générale de P(x, f (y)) = P(g(z),z)

2. La règle de copie qui permet de renommer les variables d’une clause.

3. La résolution binaire qui des 2 prémisses sans variable commune P(x,a)∨Q(x) et ¬P(b,y)∨R( f (y)) permet dedéduire le résolvant Q(b)∨R( f (a)), en calculant la solution plus générale x = b,y = a de P(x,a) = P(b,y)

La complétude de ce système formel est basée sur le théorème de Herbrand dans sa version 6.2.8. Pour trouver lesinstances contradictoires des clauses, les règles utilisent l’algorithme d’unification.

6.3.1 Unification6.3.1.1 Définition de la solution la plus générale

Définition 6.3.1 (expression, solution) Appelons expression, un terme ou un littéral. Une substitution σ (voir défini-tion 6.1.2) est solution de l’équation e1 = e2 entre deux expressions, si les deux expressions e1σ et e2σ sont identiques.Une substitution est solution d’un ensemble d’équations si elle est solution de chaque équation de l’ensemble.

Définition 6.3.2 (support d’une substitution) Le support d’une substitution σ est l’ensemble des variables x tellesque xσ 6= x. Dans la suite, on s’intéresse seulement aux substitutions à support fini, c’est à dire qui ne changent qu’unnombre fini de variables.Une substitution σ à support fini est notée < x1 := t1, . . . ,xn := tn > ou plus simplement x1 := t1, . . . ,xn := tn quand iln’y a pas de risque d’ambiguïté.Les variables x1, . . . ,xn sont distinctes et la substitution vérifie :

– pour i de 1 à n, xiσ = ti– pour toute variable y telle que y 6∈ {x1, . . . ,xn}, on a : yσ = y

Exemple 6.3.1 La substitution x := g( f (y)),z := f (y) est une solution de l’équation P(x, f (y)) = P(g(z),z).Elle est aussi solution du système d’équations : x = g(z), f (y) = z.

Définition 6.3.3 (composition de substitutions) Soient σ et τ 2 substitutions, on note στ la substitution telle que pourtoute variable x, xστ = (xσ)τ.La substitution στ est une instance de σ. Deux substitutions sont équivalentes si chacune d’elles est une instance del’autre.

83

Page 84: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Exemple 6.3.2 Considérons les substitutions– σ1 =< x := g(z),y := z >– σ2 =< x := g(y),z := y >– σ3 =< x := g(a),y := a,z := a >

On a les relations suivantes entre ces susbstitutions– σ1 = σ2 < y := z >– σ2 = σ1 < z := y >– σ3 = σ1 < z := a >– σ3 = σ2 < y := a >

Les substitutions σ1 et σ2 sont équivalentes.La substitution σ3 est une instance de σ1 ainsi que de σ2, mais ne leur est pas équivalente.

Définition 6.3.4 (solution la plus générale) Une solution d’un système d’équations est appelée la plus générale (enfrançais on dit aussi principale) si toute autre solution en est une instance. Notons que deux solutions «les plusgénérales» sont équivalentes.

Exemple 6.3.3 σ1 =< x := g(z),y := z >, σ2 =< x := g(y),z := y >, σ3 =< x := g(a),y := a,z := a > sont 3 solutionsde l’équation f (x,g(z)) = f (g(y),x).σ1 et σ2 en sont les solutions «les plus générales».

Définition 6.3.5 (unificateur) Soit σ une substitution et E un ensemble d’expressions. Eσ = {tσ | t ∈ E}.La substitution σ est un unificateur de E si et seulement si l’ensemble Eσ n’a qu’un élément.Soit {ei|1≤ i≤ n} un ensemble fini d’expressions. La substitution σ est un unificateur de cet ensemble si et seulementsi elle est solution du système d’équations {ei = ei+1|1≤ i < n}.

6.3.1.2 Algorithme d’unification

6.3.1.2.1 Plan de l’algorithme L’algorithme calculant la solution la plus générale d’un système d’équations estappelé algorithme d’unification car la recherche d’un unificateur le plus général d’un ensemble d’expression se réduità la recherche de la solution la plus générale d’un système d’équations.L’algorithme sépare les équations en équations à résoudre, notées par une égalité et équations résolues, notées par lesigne :=.Initialement, il n’y a pas d’équations résolues.L’algorithme applique les règles énoncées ci-dessous. Il s’arrête quand il n’y a plus d’équations à résoudre ou quandil a déclaré que le système à résoudre n’a pas de solution.Quand il s’arrête sans avoir déclaré l’absence de solution, la liste des équations résolues est la solution la plus généraledu système initial d’équations.

6.3.1.2.2 Les règles de l’algorithmeSupprimer Si les 2 membres d’une équation sont identiques, il supprime l’équation4

Décomposer Si les 2 membres d’une équation sont distincts, l’équation ayant la forme– ¬A = ¬B, il la remplace par A = B.– f (s1, . . . ,sn) = f (t1, . . . , tn), il la remplace par les équations s1 = t1, . . . ,sn = tn.

Pour n = 0 cette décomposition supprime l’équation.

Echec de la décomposition Si une équation à résoudre est de la forme f (s1, . . . ,sn) = g(t1, . . . , tp) avec f 6= g alorsl’algorithme déclare qu’il n’y a pas de solution.En particulier il y a évidemment un échec, si l’on cherche à résoudre une équation entre un littéral positif et unlittéral négatif.

Orienter Si une équation est de la forme t = x où t est un terme qui n’est pas une variable et x une variable, alors onremplace l’équation par x = t

4On peut se limiter à la suppression des équations de la forme x = x où x est une variable

84

Page 85: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Élimination d’une variable Si une équation à résoudre est de la forme x = t où x est une variable et t un terme necontenant pas x

1. il l’enlève des équations à résoudre2. il remplace x par t dans toutes les équations (non résolues et résolues) 5

3. il ajoute x := t à la partie résolueEchec de l’élimination Si une équation à résoudre est de la forme x = t où x est une variable et t un terme distinct de

x et contenant x alors l’algorithme déclare qu’il n’y a pas de solution.

Exemple 6.3.4 1. Résoudre f (x,g(z)) = f (g(y),x).Par décomposition, on obtient : x = g(y),g(z) = xPar élimination de x, on obtient : x := g(y),g(z) = g(y)Par décomposition, on obtient : x := g(y),z = yPar élimination de z, on obtient la solution : x := g(y),z := y

2. Résoudre f (x,x,a) = f (g(y),g(a),y).Par décomposition, on obtient : x = g(y),x = g(a),a = yPar élimination de x, grâce à la première équation, on obtient : x := g(y),g(y) = g(a),a = yPar décomposition, on obtient : x := g(y),y = a,a = yPar élimination de y, on obtient : x := g(a),y := a,a = aPar suppression de l’identité, on obtient : x := g(a),y := a

3. Résoudre f (x,x,x) = f (g(y),g(a),y).Par décomposition, on obtient : x = g(y),x = g(a),x = yPar élimination de x, on obtient : x := g(y),g(y) = g(a),g(y) = yPar orientation des équations, on obtient : x := g(y),g(y) = g(a),y = g(y)L’équation y = g(y) engendre un échec. Donc l’équation f (x,x,x) = f (g(y),g(a),y) n’a pas de solution.

6.3.1.2.3 Correction de l’algorithme1. Invariant : les règles de suppression, de décomposition, d’orientation et d’élimination des variables préservent

l’ensemble des solutions.2. Invariant : initialement et après toute application de règle, l’ensemble des équations résolues forme une substi-

tution x1 := t1, . . . ,xn := tn où x1, . . .xn sont des variables distinctes ne figurant pas dans les termes t1, . . . tn.Soit σ cette substitution. Il est clair que tiσ = ti donc que σ est solution des équations résolues.

3. Les règles d’echec déclarent correctement l’absence de solution.Des invariants (1) et (2), il résulte que si l’algorithme termine sans échec, la substitution trouvée est la solution la plusgénérale du système initial. En effet

– C’est une solution, puisque, d’après l’invariant 2, elle est solution du système terminal et que, d’après l’invariant1, l’ensemble des solutions est préservé par les règles.

– C’est une solution la plus générale, puisque, d’après l’invariant 1, toute autre solution est une solution du systèmeterminal, donc une instance de la substitution définie par ce système.

De l’invariant (1) et de la remarque (3), il résulte que si l’algorithme déclare un échec, alors le système initial n’apas de solution. En effet, dans ce cas

– si le système initial avait une solution, d’après l’invariant 1, elle serait solution du système terminal– d’après la remarque (3), le système terminal n’a pas de solution

6.3.1.2.4 Terminaison de l’algorithme Les règles de suppression et de décomposition font décroître strictementla somme des longueurs des termes qui sont de part et d’autre des équations.

La règle d’orientation fait décroître strictement la somme des longueurs des termes qui sont à gauche des équations.La règle d’élimination fait décroître strictement le nombre des variables des équations non résolues.De ces 3 remarques, il résulte que l’algorithme termine.

5Un algorithme efficace évite ce remplacement systématique

85

Page 86: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

6.3.2 Règles de la résolutionPour simplifier la description des règles, nous identifierons, dans cette description, une clause, qui est une somme

de littéraux, avec l’ensemble de ses littéraux.

6.3.2.1 Factorisation

Définition La clause C′ est un facteur de la clause C si C′ = C ou s’il existe un sous-ensemble E de C tel que E a aumoins deux éléments, E est unifiable et C′ = Cσ où σ est l’unificateur le plus général de E.

Exemple La clause P(x)∨Q(g(x,y))∨ P( f (a)) a deux facteurs, elle-même et le facteur P( f (a))∨Q(g( f (a),y))obtenu en appliquant à la clause, l’unificateur le plus général x := f (a) des deux littéraux soulignés.

Cohérence de la règle Soit C′ un facteur de C. Puisque C′ est une instance de C, la fermeture universelle de C′ estune conséquence de celle de C

6.3.2.2 Copie d’une clause

Définition Soit C une clause et σ une substitution dont la restriction aux variables de C est une bijection entre cesvariables et celles de la clause Cσ. Les clauses C et Cσ sont des copies l’une de l’autre. La substitution σ estaussi appelée un renommage de C.Soit σ un renommage de C et soit σ

−1C la substitution ainsi définie : si x est une variable de Cσ, xσ

−1C = y, où

yσ = x sinon xσ−1C = x. On montre que Cσσ

−1C = C.

Exemple Soit σ =<x := u,y := v>. σ est un renommage de P(x,y). Le renommage inverse, relativement à P(x,y) est<u := x,v := y>

Propriété Soient 2 clauses copies l’une de l’autre. Puisque chacune des clauses est instance de l’autre, leurs ferme-tures universelles sont équivalentes.

6.3.2.3 Résolvant binaire

Définition Soient C et D deux clauses n’ayant pas de variable commune.La clause E est un résolvant binaire de C et D s’il y a un littéral L ∈ C et un littéral M ∈ D tels que L et Mc

(le littéral opposé à M) sont unifiables et si E = ((C−{L})∪ (D−{M}))σ où σ est la solution principale del’équation L = Mc.

Exemple Soit C = P(x,y)∨P(y,k(z)) et D = ¬P(a, f (a,y1)).<x := a,y := f (a,y1)> est la solution la plus générale de P(x,y) = P(a, f (a,y1)), donc P( f (a,y1),k(z)) est unrésolvant binaire des clauses C et D.

Cohérence de la règle Soit E un résolvant binaire des clauses C et D : ∀(C),∀(D) |= ∀(E).

6.3.2.4 Preuve par factorisation, copie et résolution binaire

Définition Soit Γ un ensemble de clauses et C une clause. Une preuve de C à partir de Γ est une suite de clauses seterminant par C, toute clause de la preuve étant un élément de Γ, un facteur d’une clause la précédant dans lapreuve, une copie d’une clause la précédant dans la preuve ou un résolvant binaire de 2 clauses la précédantdans la preuve.C est déduite de Γ au premier ordre par les 3 règles factorisation, copie et résolution binaire (ce qui est notéΓ `1 f cb C) s’il y a une preuve de C à partir de Γ. Quand il n’y a pas d’ambiguïté sur le système formel utilisé,on remplace `1 f cb par `.

Cohérence Soit Γ un ensemble de clauses et C une clause. Notons ∀(Γ) l’ensemble des fermetures universelles desformules de Γ.Si Γ `1 f cb C alors ∀(Γ) |= ∀(C)Cette propriété est une conséquence immédiate de la cohérence de la factorisation, de la copie et de la résolutionbinaire.

86

Page 87: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Exemple 6.3.5 Soient les deux clauses

1. C1 = P(x,y)∨P(y,x)

2. C2 = ¬P(u,z)∨¬P(z,u)

Montrons par résolution que ∀(C1,C2) n’a pas de modèle.(1) P(x,y)∨P(y,x) Hyp C1(2) P(y,y) Facteur de 1 par <x := y>(3) ¬P(u,z)∨¬P(z,u) Hyp C2(4) ¬P(z,z) Facteur de 3 par <u := z>(5) ⊥ res bin 2, 4 par <y := z>

Cet exemple montre, a contrario, que la résolution binaire seule est incomplète, sans la factorisation, on ne peutpas déduire la clause vide.

Exemple 6.3.6 Soient les trois clauses

1. C1 = ¬P(z,a)∨¬P(z,x)∨¬P(x,z)

2. C2 = P(z, f (z))∨P(z,a)

3. C3 = P( f (z),z)∨P(z,a)

On donne une preuve par résolution de ce que ∀(C1,C2,C3) n’a pas de modèle.Dans cette preuve RB 1(3), 3(1) signifie par résolution binaire sur le 3o littéral de la clause 1 et le 1o littéral de la

clause 3.(1) ¬P(z,a)∨¬P(z,x)∨¬P(x,z) Hyp C1(2) P(z, f (z))∨P(z,a) Hyp C2(3) P(v0, f (v0))∨P(v0,a) Copie 2 par<z := v0>(4) ¬P( f (v0),a)∨¬P( f (v0),v0)∨P(v0,a) RB 1(3), 3(1) par<z := f (v0);x := v0>(5) ¬P( f (a),a)∨P(a,a) Fact 4 par<v0 := a>(6) ¬P(a,a) Fact 1 par<x := a;z := a>(7) P( f (z),z)∨P(z,a) Hyp C3(8) P( f (v0),v0)∨P(v0,a) Copie 7 par<z := v0>(9) P( f (a),a) RB 6, 8 par<v0 := a>(10) P(a,a) RB 5, 9(11) ⊥ Res Bin 6, 10

6.3.3 Complétude de la résolution6.3.3.1 Résolution 1o ordre

On définit une nouvelle règle, la résolution au 1o ordre, qui est une combinaison des trois règles de factorisation,copie et résolution binaire.

Définition La clause E est un résolvant au 1o ordre des clauses C et D si E est un résolvant binaire de C′ et D′ où C′

est un facteur de C et D′ est une copie sans variable commune avec C′ d’un facteur de D.La règle qui de C et D permet de déduire E est appelée la résolution de 1o ordre.

Exemple Soient C = ¬P(z,a)∨¬P(z,x)∨¬P(x,z) et D = P(z, f (z))∨P(z,a).C′ = ¬P(a,a) est un facteur de C. La clause P(a, f (a)) est un résolvant binaire de C′ et de D (qui est facteur delui-même) donc c’est un résolvant de C et D.

87

Page 88: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

6.3.3.2 Trois notions de preuve par résolution

Soit Γ un ensemble de clauses et C une clause.

1. On note Γ `p C le fait qu’il y a une preuve de C à partir de Γ obtenue par résolution propositionnelle, autrementdit sans substitution.

2. On rappelle que Γ `1 f cb C signifie qu’il y a une preuve de C à partir de Γ par factorisation, copie et résolutionbinaire.

3. On note Γ `1r C le fait qu’il y a une preuve de C à partir de Γ obtenue par résolution de 1o ordre.

Puisque la résolution du premier ordre est une combinaison des règles factorisation, copie et résolution binaire, on a :Γ `1r C implique Γ `1 f cb C

6.3.3.3 Lemme du relèvement

Théorème 6.3.1 Soient C et D deux clauses. Soit C′ une instance de C et D′ une instance de D. Soit E ′ un résolvantpropositionnel de C′ et D′, il existe E un résolvant premier ordre de C et D qui a pour instance E ′.

On admet sans preuve ce résultat, qui dépend essentiellement de l’emploi des unificateurs les plus généraux.

Exemple 6.3.7 Soient C = P(x)∨P(y)∨R(u)∨R(v) et D = ¬Q(x)∨P(x)∨¬R(x)∨P(y).Les clauses C′ = P(a)∨R(a) et D′ = ¬Q(a)∨P(a)∨¬R(a) sont des instances respectivement de C et D.La clause E ′ = P(a)∨¬Q(a) est un résolvant propositionnel de C′ et D′.La clause E = P(x)∨¬Q(x) est un résolvant au 1o ordre de C et D qui a pour instance E ′.

Théorème 6.3.2 Soit Γ un ensemble de clauses et ∆ un ensemble d’instances des clauses de Γ. Soit C1, . . . ,Cn unepreuve par résolution propositionnelle à partir de ∆. Il existe une preuve D1, . . . ,Dn par résolution 1o ordre à partirΓ telle que pour i de 1 à n, la clause Ci est une instance de Di.

Preuve : par récurrence sur n. Soit C1, . . . ,Cn,Cn+1 une preuve par résolution propositionnelle à partir de ∆. Parrécurrence, il existe une preuve D1, . . . ,Dn par résolution 1o ordre à partir Γ telle que pour i de 1 à n, la clause Ci estune instance de Di.

1. Supposons Cn+1 ∈ ∆. Il existe E ∈ Γ dont Cn+1 est une instance donc on prend Dn+1 = E.

2. Supposons que Cn+1 est un résolvant propositionnel de C j et Ck où j,k ≤ n. D’après le transparent précédent, ilexiste E résolvant au 1o ordre de D j et Dk : on prend Dn+1 = E.

2

Corollaire 6.3.1 Soit Γ un ensemble de clauses et ∆ un ensemble d’instances des clauses de Γ. Supposons que ∆ `p C.Il existe D telle que Γ `1r D et C est une instance de D.

Preuve : Conséquence immédiate du théorème ci-dessus 2

Exemple 6.3.8 Soit l’ensemble de clauses P( f (x))∨P(u),¬P(x)∨Q(z),¬Q(x)∨¬Q(y).La fermeture universelle de cet ensemble de clauses est insatisfaisable et nous le montrons de trois manières

1. Par instanciation sur le domaine de Herbrand a, f (a), f ( f (a)), . . . :P( f (x))∨P(u) est instanciée par x := a,u := f (a) en P( f (a)¬P(x)∨Q(z) est instanciée par x := f (a),z := a en ¬P( f (a))∨Q(a)¬Q(x)∨¬Q(y) est instanciée par x := a,y := en ¬Q(a)L’ensemble de ces 3 instanciations est insatisfaisable, comme le montre la preuve par résolution propositionnelleci-dessous :P( f (a)) ¬P( f (a))∨Q(a)

Q(a) ¬Q(a)⊥

88

Page 89: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

2. Cette preuve par résolution propositionnelle est relevée en une preuve par la règle de résolution au premierordre :P( f (x))∨P(u) ¬P(x)∨Q(z)

Q(z) ¬Q(x)∨¬Q(y)⊥

3. Chaque règle de résolution au premier ordre est décomposée en factorisation, copie et résolution binaire :P( f (x))∨P(u)

P( f (x))f act

¬P(x)∨Q(z)¬P(y)∨Q(z)

copie

Q(z)rb

¬Q(x)∨¬Q(y)¬Q(x)

f act

⊥ rb

Théorème 6.3.3 (Complétude réfutationnelle de la résolution au 1o ordre) Soit Γ un ensemble de clauses. Les propo-sitions suivantes sont équivalentes :

1. Γ `1r ⊥2. Γ `1 f cb ⊥3. ∀(Γ) |=⊥

Preuve : On sait que (1) implique (2), car la résolution au 1o ordre est une combinaison de factorisation, copie etrésolution binaire.On sait que (2) implique (3), car la factorisation, la copie et la résolution binaire sont cohérentes.Il nous reste à montrer que (3) implique (1).Supposons que ∀(Γ) |=⊥, autrement dit ∀(Γ) est insatisfaisable.D’après le théorème de Herbrand, il y a ∆ un ensemble fini d’instances sans variable de clauses de Γ qui n’a pas demodèle propositionnel.Par complétude de la résolution propositionnelle, on a : ∆ `p ⊥.D’après le corollaire au relèvement 6.3.1, il existe D telle que Γ `1r D et ⊥ instance de D. Mais dans ce cas, on aD =⊥. 2

89

Page 90: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

6.4 ExercicesExercice 73 (Domaine de Herbrand) Soit Σ la signature composée de la constante a et des symboles de fonctions fet g respectivement à un et deux arguments.Donner 5 éléments différents du domaine de Herbrand de cette signature.Définir inductivement ce domaine.

Réponse

Exercice 74 (Modèle de Herbrand) Soit ∆ l’ensemble de formules suivant :

1. x < y∧ y < z⇒ x < z

2. ¬(x < x)

3. x < y⇒ x < f (x,y)∧ f (x,y) < y

4. a < b

Indiquez un modèle de ∀(∆).∀(∆) a-t-il un modèle sur le domaine de Herbrand engendré par a,b, f ?

Réponse

Exercice 75 (Unification) Les termes h(g(x), f (a,y),z) et h(y,z, f (u,x)) sont-ils unifiables ? Si la réponse est oui,donner leur unificateur le plus général, sinon justifier la réponse négative.Les termes h(g(x), f (a,y),z) et h(y,z, f (u,g(x))) sont-ils unifiables ? Si la réponse est oui, donner leur unificateur leplus général, sinon justifier la réponse négative.

Réponse

Exercice 76 (Unification avec plusieurs solutions) L’équation f (g(y),y)= f (u,z) a deux solutions «la plus générale».Indiquez ces deux solutions. Réponse

Exercice 77 Montrez que la formule suivante est valide en mettant sa négation sous la forme clausale et en trouvantun ensemble contradictoire d’instances des clauses obtenues :∀x(P(x)⇒ Q(x))⇒ (∀xP(x)⇒∀xQ(x))

Réponse

Exercice 78 Considérons les formules suivantes :

1. H1 = ∃xP(x)⇒∀xP(x)

2. H2 = ∀x(P(x)∨Q(x))

3. C = ∃x¬Q(x)⇒∀xP(x)

On veut montrer que C est conséquence de H1 et H2 par instanciation et par résolution.

1. Mettre en forme clausale l’ensemble des trois formules H1, H2, ¬C

2. Trouver des instances contradictoires des clauses obtenues et montrez par résolution propositionnelle que cesinstances sont contradictoires

3. Donner une preuve directe de cette contradiction par factorisation, copie et résolution binaire. Il est possibleque seule la dernière règle soit utilisée.

Réponse

Exercice 79 (Unification, résolution) Soit Γ l’ensemble des deux clauses unitaires {P(x, f (x,b),u),¬P(g(a),z,h(z))}.L’ensemble ∀(Γ) est-il satisfaisable ou insatisfaisable ? Justifier votre réponse. Réponse

Exercice 80 (Unification, résolution) Soit Γ l’ensemble des deux clauses unitaires {P(x, f (x,b),u),¬P(g(z),z,h(z))}.L’ensemble ∀(Γ) est-il satisfaisable ou insatisfaisable ? Justifier votre réponse. Réponse

90

Page 91: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Exercice 81 Considérons les formules suivantes :1. A1 = ∃u∀v(P(u)∧ (R(v)⇒ Q(u,v)))2. A2 = ∀u∀v(¬P(u)∨¬S(v)∨¬Q(u,v))3. A3 = ∃v(R(v)∧S(v))

Montrer que la liste de ces trois formules est contradictoire par résolution :1. Mettre en forme clausale les trois formules A1, A2, A3

2. Trouver des instances contradictoires des clauses obtenues et montrez cette contradiction par résolution propo-sitionnelle.

3. Faire une preuve directe de ⊥ par factorisation, copie et résolution binaireRéponse

Exercice 82 Considérons les formules suivantes :1. E1 = ∀x(x = x)2. E2 = ∀x∀y(x = y⇒ y = x)3. E3 = ∀x∀y∀z∀t(x = y∧ z = t⇒ (x ∈ z⇒ y ∈ t))4. C = ∀y∀z(y = z⇒∀x(x ∈ y⇔ x ∈ z))

E1,E2,E3 sont des axiomes de l’égalité : E1 exprime que l’égalité est reflexive, E2 qu’elle est symétrique, E3 que c’estune congruence relativement à l’appartenance.La transitivité de l’égalité ne sert pas dans cet exercice.C exprime que deux ensembles égaux ont les mêmes éléments.On note que dans cet exercice, le symbole égal est traité comme un symbole de prédicat «ordinaire» dont le sens n’estpas fixé comme étant l’identité, mais qu’on «définit» par ses propriétés. Autrement dit l’interdiction de l’égalité dansles formules, indiquée dans le cours, c’est en réalité l’interdiction de l’égalité comme symbole de sens fixé.Montrer que C est conséquence des axiomes de l’égalité.

1. Mettre en forme clausale les trois formules E1, E2, E3, ¬C.2. Trouver des instances contradictoires des clauses obtenues3. Faire une preuve directe de ⊥ par factorisation, copie et résolution binaire

Réponse

Exercice 83 Considérons les formules suivantes1. H1 = ∀u(∃vR(u,v)⇒ R(u, f (u)))2. H2 = ∀u∃vR(u,v)3. H3 = ∃uR( f ( f (u)),u)4. C = ∃u∃v∃w(R(u,v)∧R(v,w)∧R(w,u)Montrer que C est conséquence de H1,H2,H3.

1. Mettre en forme clausale les trois formules H1, H2, ¬C2. Trouver des instances contradictoires des clauses obtenues (montrez la contradiction par résolution proposi-

tionnelle)3. Faire une preuve directe de cette contradiction par factorisation, copie et résolution binaire.

Réponse

Exercice 84 Soit P(x,y) une formalisation de "x est père de y", soit A(x,y) une formalisation de "x est aïeul de y".Soient les trois formules :

H1 = ∀x∃yP(x,y)H2 = ∀x∀y∀z(P(x,y)∧P(y,z)⇒ A(x,y))C = ∀x∃yA(x,y)

Montrons que C est conséquence de H1,H2, de la façon suivante, transformer H1,H2,¬C en leur forme clausale, puisdériver la clause vide par factorisation, copie, résolution binaire. Réponse

91

Page 92: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Exercice 85 Une formule BS (de Bernays-Schonfinkel) est une formule fermée, sans symbole de fonctions, de la forme∃x1 . . .∃xn∀y1 . . .∀ypB où B est sans quantificateur.Expliquez pourquoi on peut décider la satisfaisabilité d’une telle formule.

Réponse

92

Page 93: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Appendices

93

Page 94: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

94

Page 95: Michel Lévy 29 avril 2009lig-membres.imag.fr/michel.levy/ENSEIGNEMENT/INF242_2008...Chapitre 1 Logique propositionnelle Introduction La logique sert à préciser ce qu’est un raisonnement

Bibliographie

[1] Peter B.Andrews. An introduction to mathematical logic : to truth through proof. Academic Press, 1986.

[2] Herbert B.Enderton. A mathematical Introduction to Logic. Academic Press, 2001.

[3] Collin.Allen and Michael Hand. Logic Primer. MIT, 2001.

[4] René David, Karim Nour, and Christophe Raffali. Introduction à la logique. Dunod, 2001.

[5] Michael Huth and Mark Ryan. Logic in Computer Science. Cambridge University Press, 2004.

[6] Jacquemin. Logique et Mathématiques 109 exercices corrigées. Masson, 1994.

[7] Thierry Lucas, Isabelle Berlanger, and Isabelle De Greef. Initiation à la logique formelle. de boeck, 2003.

[8] S.C.Kleene. Logique Mathématique. Armand Colin, 1971.

95