Académique Documents
Professionnel Documents
Culture Documents
Cour - S.djedai
Cour - S.djedai
BOUMERDES
LOGIQUE MATHÉMATIQUE
Support de cours
27 octobre 2022
Table des matières
Introduction 5
1 Logique propositionnelles 6
1.1 Syntaxe de la logique propositionnelles . . . . . . . . . . . . 6
1.1.1 Connecteurs logiques . . . . . . . . . . . . . . . . . . . 7
La négation . . . . . . . . . . . . . . . . . . . . . . . . 7
La conjonction . . . . . . . . . . . . . . . . . . . . . . 7
La disjonction . . . . . . . . . . . . . . . . . . . . . . . 7
L’implication . . . . . . . . . . . . . . . . . . . . . . . 8
L’équivalence . . . . . . . . . . . . . . . . . . . . . . . 8
Priorité des connecteurs logiques . . . . . . . . . . . . 9
1.1.2 Formules logiques et arbres . . . . . . . . . . . . . . . 10
1.2 Sémantique de la logique propositionnelle . . . . . . . . . . . 10
1.2.1 Valuation . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.2 Tautologies et contradictions . . . . . . . . . . . . . . 11
1.2.3 Équivalence sémantique . . . . . . . . . . . . . . . . . 12
1.3 Substitution et Théorème de remplacement . . . . . . . . . . 13
1.3.1 Substitution . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.2 Théorème de remplacement . . . . . . . . . . . . . . . 13
1.4 Forme Normale Conjonctive . . . . . . . . . . . . . . . . . . . 15
1.4.1 Définitions : . . . . . . . . . . . . . . . . . . . . . . . . 16
1.5 Ensemble complet de connecteurs . . . . . . . . . . . . . . . . 18
1.6 Satisfaisabilité et Validité . . . . . . . . . . . . . . . . . . . . 19
1.7 Calcul des Séquents . . . . . . . . . . . . . . . . . . . . . . . . 21
1.8 Résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.8.1 Réfutation . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.9 Méthode de Davis-Putnam pour le Calcul Propositionnel . . . 25
2
2 Logique des prédicats 27
2.1 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.1.1 Termes . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.1.2 Prédicats . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.1.3 Quantificateurs . . . . . . . . . . . . . . . . . . . . . . 28
2.1.4 Formules du calcul des prédicats . . . . . . . . . . . . 28
Portée . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Variables libres et liées . . . . . . . . . . . . . . . . . . 28
2.2 Sémantique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.1 Structure . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.2 Satisfaction d’une formule . . . . . . . . . . . . . . . . 28
3
Introduction
La logique fait partie intégrante de nos vies, nous l’utilisons tous les jours
autant dans le coté personnel que professionnel. Nous utilisons le langage de
la logique pour établir des observations, pour définir des concepts ainsi que
formaliser des théories. Nous utilisons un raisonnement logique pour tirer des
conclusions à partir de ces éléments d’information. Nous utilisons les preuves
logiques pour convaincre les autres de ces conclusions.
En informatique, la logique mathématique prend une place importante.
Elle représente le courant principal des fondements mathématiques de l’in-
formatique. Principalement, elle permet de formaliser la notion de démons-
tration.
De nos jours, la logique est de plus en plus utilisée lors du développement
de logiciels. Sur les logiciels critiques, qui n’acceptent pas l’erreur, elle est
exploitée pour prouver des théorèmes mathématiques et valider des représen-
tations techniques. Elle est aussi utilisée pour diagnostiquer des défaillances
techniques. Elle fournit, par conséquent, un cadre de développement permet-
tant de produire des logiciels robustes, efficaces et fiables.
La logique mathématique a pour objet d’étudier d’étudier les mathé-
matiques en tant que langage. Lorsqu’on souhaite connaître un langage en
particulier, il suffit de déterminer une liste de particularités qui permettent
de le différencier des autres langages. Ces spécificités sont représentés par
la syntaxe et la sémantique du langage. La syntaxe est liée à la forme du
langage, elle constitue les reg-les permettant de définir comment on écrit
correctement dans ce langage. La sémantique, par contre, détermine la signi-
fication des combinaisons des mots écrit en ce langage.
Dans ce cours il est question d’apprendre deux langages de la logique
mathématique : la logique propositionnelles et la logique des prédicats. Ils
constitueront les deux chapitres principaux de ce support de cours. Pour
chacun de ses deux langages que nous fournit la logique nous devront étudier
la syntaxe ainsi que la sémantique.
5
Chapitre 1
Logique propositionnelles
6
reliés grâce à des connecteurs. Ils y a cinq types d’énoncés composés : La
négation, la conjonction, la disjonction, l’implication et l’équivalence.
p ¬p
V F
F V
La conjonction
p q p∧q
V V V
V F F
F V F
F F F
La disjonction
7
p q p∨q
V V V
V F V
F V V
F F F
L’implication
p q p⇒q
V V V
V F F
F V V
F F V
L’équivalence
Une équivalence est une implication bidirectionnelle, elle est mise en place
grâce à l’opérateur ⇔. On peut exprimer l’équivalence de p et q comme
représenté dans ce qui suit : (p ⇔ q). Les deux énoncés p et q sont équivalents
seulement et seulement si ils ont les même valeurs de vérités. Autrement dit,
(p ⇔ q) est vraie seulement et seulement si p et q sont tous deux vrais ou
tous deux faux. La définition de l’équivalence est introduite par le table si
dessous :
p q p⇔q
V V V
V F F
F V F
F F V
8
Priorité des connecteurs logiques
Avant d’aller plus loin, rappelons que ce qui peut constituer un énoncé
composé peut être soit des énoncés simples, soit des énoncés composées ou
un mélange des deux. Par exemple, ce qui suit est un énoncé composé tout
à fait correcte : ((p ∨ q) ⇒ r).
Notre notation, telle qu’elle est rédigée, est claire mais à quand même
un inconvénient, les parenthèses ont tendance à s’accumuler et doivent être
assorties correctement. Il serait meilleur si nous pouvions nous passer de
parenthèses. Par exemple, supposons que nous éliminions les parenthèses
dans l’énoncé précédent, ceci donnerait : p ∨ q ⇒ r.
Malheureusement, nous ne pouvons pas nous débarrasser des parenthèses
définitivement, car dans ce cas, nous serions incapables de lire certains énon-
cés sans ambiguïté. Par exemple, l’énoncé ci-dessus pourrait être considéré
de deux façons différentes : (p ∨ q) ⇒ r ou bien p ∨ (q ⇒ r).
La solution à ce problème est l’utilisation de la priorité des opérateurs.
Dans ce qui suit nous donnons une hiérarchie des priorités pour nos opéra-
teurs. L’opérateur ¬ a une priorité supérieure a ∧ ; ∧ est a son tour plus
prioritaire que ∨ ; et ∨ a une priorité plus élevée que ⇒ et ⇔.
Exemple 1.1.1 La formule p∨q ⇒ r est évaluée comme suit pour (p = true
, q = true, r= false) :
Nous devons commencer par evaluer p ∨ q (car ∨ est prioritaire par rapport
a ⇒), le résultat est true.
ensuite, nous évaluons true ⇒ r qui est évaluée à false.
Exemple 1.1.2 Vérifions que ((p ∨ q) ⇒ (¬p ∧ r)) est une formule proposi-
tionnelles.
9
p, q , r sont des variables propositionnelles donc d’après Définition 1.1.1 :
p, q , r sont des formules propositionnelles.
alors : p ∨ q , ¬p sont des formules propositionnelles aussi.
et : ¬p ∧ r est une formule propositionnelle.
par conséquent : ((p ∨ q) ⇒ (¬p ∧ r)) est une formule propositionnelle.
10
1.2.1 Valuation
Définition 1.2.1 Valuation Booléenne
Une valuation Booléenne est une application v de l’ensemble des formules
propositionnelles vers l’ensemble {vrai,faux} vérifiant les conditions suivantes :
1. v(¬X) = ¬v(X)
2. v(X ∧ Y ) = v(X) ∧ v(Y ), v(X ∨ Y ) = v(X) ∨ v(Y ),
v(X ⇒ Y ) = v(X) ⇒ v(Y )
p q q⇒p F
1 1 1 1
1 0 1 1
0 1 0 1
0 0 1 1
11
Exemple 1.2.3 démontrons en utilisant une table de vérité que la formule
(¬p ∧ p) est une contradiction
p ¬p ¬p ∧ p
1 0 0
0 1 0
p q ¬p p⇒q (¬p) ⇒ (p ⇒ q)
1 1 0 1 1
1 0 0 0 1
0 1 1 1 1
0 0 1 1 1
p q p∧q q∧p (p ∧ q) ⇔ (q ∧ p)
1 1 1 1 1
1 0 0 0 1
0 1 0 0 1
0 0 0 0 1
12
1.3 Substitution et Théorème de remplacement
1.3.1 Substitution
Définition 1.3.1 Substitution
Une substitution (ou substitution uniforme) associe une formule A à une
variable propositionnelle p. Elle est notée [p\A]. Lors qu’elle est appliquée
à une formule B, notée (B)[p\A] elle permet de remplacer simultanément
toutes les occurrences de p par A dans la formule B.
Démonstration
Soit F une tautologie.
Soient p1 , p2 , ..., pn les variables propositionnelles contenues dans F.
Soient E1 , E2 , ..., En des formules propositionnelles.
Soit E la formule prpositionnelle obtenue en substituant dans F les Ei aux
pi respectivement (1 ≤ i ≤ n).
La valeur de F est toujours vraie et indépendante des valeurs prises par
variables qui la constituent. Alors quelque soit la valeur de vérité des Ei
(1 ≤ i ≤ n), lorsqu’ils remplacent respectivement les pi , la valeur de F reste
la même, donc E est aussi une tautologie.
13
Proposition 1.3.2 Soit A une formule propositionnelle contenant seule-
ment les connecteurs ∧, ∨, ¬. Soit A∗ la formule propositionnelle obtenue
en interchangeant les connecteurs ∧ et ∨, et en remplaçant chaque variable
p par sa négation (¬p) dans A alors A∗ est logiquement équivalent à ¬A.
Démonstration
La démonstration se fait par induction sur le nombre n de connecteurs qui
sont contenus dans A.
Base d’induction (n=0)
Quand n =0 , cela signifie qu’il n’y aucun connecteur dans A. Donc, A
contient uniquement une variable propositionnelle : A ≡ p
A∗ ≡ ¬p. Il est évident que A∗ ≡ ¬A (¬p ≡ ¬(p)).
Hypothèse d’induction Supposons que chaque formule contenant moins
de k connecteurs vérifie la propriété et prouvons que la propriété est vérifiée
pour k connecteurs.
A contient k connecteurs.
Nous avons trois cas à considérer :
1. A est de la forme ¬B
2. A est de la forme B ∨ C
3. A est de la forme B ∧ C
Cas 1 : A est de la forme ¬B
A contient k connecteurs et A ≡ ¬B alors B contient k-1 connecteurs.
Par hypothèse d’induction : B ∗ ⇔ ¬B...(1)
Construisons A∗ : A∗ ⇔ ¬(B ∗ )...(2)
(1) et (2) : A∗ ⇔ ¬(¬B).
A∗ ⇔ ¬A
14
(1)et (2) et (3) : A∗ ⇔ (¬B) ∧ (¬C).
A∗ ⇔ ¬(B ∨ C)
A∗ ⇔ ¬A
Démonstration
C’est un cas particulier de la proposition précédente.
15
formule est écrite sous forme normale conjonctive, elle ne contient que les
opérateurs : ∧, ∨, ¬.
1.4.1 Définitions :
Soient X1 , X2 , ..., Xn une liste de formules propositionnelles. On introduit
la notation suivante :
— [X1 , X2 , ..., Xn ] dénote la disjonction X1 ∨ X2 ∨ ... ∨ Xn .
— < X1 , X2 , ..., Xn > dénote la conjonction X1 ∧ X2 ∧ ... ∧ Xn .
Si v est une valuation Booléenne nous avons :
v([X1 , X2 , ..., Xn ]) = vrai si v(Xi ) = vrai pour un certain Xi . Cela signi-
fie lorsqu’on a une disjonction termes, il suffit que l’un des termes de la
disjonction soit de valeur vrai pour que la disjonction soit evluée à vrai.
16
αf ormule x y βf ormule x y
x∧y x y x∨y x y
¬(x ∨ y) ¬x ¬y ¬(x ∧ y) ¬x ¬y
¬(x ⇒ y) x ¬y x⇒y ¬x y
17
1.5 Ensemble complet de connecteurs
Définition 1.5.1 Ensemble complet de connecteurs
Un ensemble complet de connecteurs est un ensemble qui est tel que : à toute
formule F correspond une formule proposionnelle G logiquement équivalente
à F ne contenant que les connecteurs de l’ensemble.
Proposition 1.5.1 Les ensembles {¬, ∧} , {¬, ∨} et {¬, ⇒} sont des en-
sembles complets de connecteurs.
Démonstration :
Donnons la démonstration que l’ensemble {¬, ∧} est un ensemble complet
de connecteurs.
Cela veut dire qu’il faut demontrer que n’importe quelle formule F du
calcul propositionnel peut être remplacée par une formule G ne contennant
que les connecteurs ¬ et ∧ tel que F est logiquement equivalente à G. Il
suffit alors de démontrer que les connecteurs ∨ et ⇒ peuvent s’exprimer en
fonction des connecteurs de l’ensemble {¬, ∧} Soient A et B deux formules
propositionnelles.
A ∨ B ≡ ¬(¬A ∧ ¬B)
A ⇒ B ≡ ¬(A ∧ ¬B)
p q p↓q p|q
0 0 1 1
0 1 0 1
0 1 0 1
1 1 0 0
Démonstration :
18
Soient A et B deux formules propositionnelles.
¬A ≡ A|A
A ∧ B ≡ (A|B)|(A|B)
A ∨ B ≡ (A|A)|(B|B)
A ⇒ B ≡ ((A|A)|B)|((A|A)|B)
Il vous est proposé comme exercice de démonterer que {↓} est un en-
semble complet de connecteurs
19
I1(F 1) = 1 donc I1 est un modèle de F1. I1(F 2) = 0 donc I1 n’est pas
un modèle de F2.
F 1 est une formule valide car elle est vraie quelque soit l’interprétation.
F 2 est une formule satisfaisable car il existe au moins une interpretation
pour laquelle F2 est vraie.
Soit I1 une interpretation tq : {p 7→ 1, q 7→ 1} I1(F 2) ≡ 1
Soit I2 une interpretation tq : {p 7→ 1, q 7→ 0} I2(F 2) ≡ 0
F 3 est une formule insatisfaisable car il n’existe aucune interprétation
qui soit un modèle de F3.
Théorème 1.6.1 Une formule sous forme normale conjonctive est valide
seulement et seulement si toute les clauses qui la constituent contiennent
deux littéraux contradictoires.
C’est à dire chaque clause est de la forme L1 ∨ ... ∨ p ∨ ... ∨ ¬p ∨ ... ∨ Ln
où les Li sont des literaux et p est une variable propositionnelle.
20
Définition 1.6.5 Concéquence Logique
On dira que P est une conséquence logique d’un ensemble de formules {A1 , . . ., An }
et on écrira A1 , . . ., An ⊢ P , si tout modèle de {A1 , . . ., An } est aussi un mo-
dèle de P .
Γ, X ⊢ ∆ au lieu de Γ ∪ {X} ⊢ ∆
et ⊢ ∆ au lieu de ∅ ⊢ ∆
21
— oubien, I(Y ) = 1 pour un certain Y ∈ ∆.
Ceci revient à considérer que le séquent ∆ ⊢ Γ est interprété par la for-
mule : (A1 ∧ ... ∧ An ) ⊢ (B1 ∨ ... ∨ Bk )
Γ ⊢ ∆, X Γ, X ⊢ ∆
(¬gauche) (¬droit)
Γ, ¬X ⊢ ∆ Γ ⊢ ¬X, ∆
Γ, X, Y ⊢ ∆ Γ ⊢ ∆, X Γ ⊢ ∆, Y
(∧gauche) (∧droit)
Γ, X ∧ Y ⊢ ∆ Γ ⊢ ∆, X ∧ Y
Γ, X ⊢ ∆ Γ, Y ⊢ ∆ Γ ⊢ X, Y, ∆
(∨gauche) (∨droit)
Γ, X ∨ Y ⊢ ∆ Γ ⊢ X ∨ Y, ∆
Γ ⊢ ∆, X Γ, Y ⊢ ∆ Γ, X ⊢ Y, ∆
(⇒ gauche) (⇒ droit)
Γ, X ⇒ Y ⊢ ∆ Γ ⊢ X ⇒ Y, ∆
p⊢p q⊢q
(axiome) (axiome)
p, q ⊢ p p, q ⊢ q
(∧droit)
p, q ⊢ p ∧ q
(¬droit)
p ⊢ p ∧ q, ¬q
(¬droit)
⊢ (p ∧ q), ¬p, ¬q
(¬gauche)
¬(p ∧ q) ⊢ ¬p, ¬q
(∨droit)
¬(p ∧ q) ⊢ ¬p ∨ ¬q
Ici, toutes les feuilles de l’arbre de preuve menent à un axiome. Donc, le
sequent est valide.
22
1.8 Résolution
Le système de preuve précédent permet de montrer n’importe quelle for-
mule qui est valide (et donc vraie dans n’importe quelle interprétation). On
s’intéresse à present à un autre problème qui est de savoir si une formule est
satisfiable ou non, c’est-à-dire s’il existe un modèle.
Étant donné une formule avec n variables, il y a 2n interprétations pos-
sibles. Si l’on souhaite detetrminer si cette formule satisfaisable ou insatis-
faisable, on devrait, peut être, essayer toutes les interprétations possibles, la
complexité en temps serait donc exponentielle et les temps effectifs de calculs
seraient énormes (c’est tout simplement infaisable).
Le principe de résolution (Robinson 1965) est une règle de déduction en
logique propositionnelle par la definition suivante :
(C ∨ p) (C ′ ∨ ¬p)
C ∨ C′
La notation C ∨ C ′ construit la clause qui contient tous les littéraux de C et
C ′ en supprimant les doublons.
¬p ∨ ¬q ∨ r p
¬q ∨ r ¬r
¬q
23
1.8.1 Réfutation
Pour établir qu’une proposition donnée est une tautologie, l’idée de la
preuve par réfutation est de démontrer que sa négation est contradictoire.
La technique de résolution permet justement de trouver une réfutation à une
formule donnée en forme clausale.
— on prend la négation de F
— on prouve par résolution que {F1 , .., Fn , ¬F } est inconsistant en cal-
culant les résultantes jusqu’à obtenir la clause vide
(¬q ∨ ¬r) q
r
¬r
⊥
Nous avons donc obtenu une clause vide (représentée par le symbole ⊥).
Donc ¬A est insatisfaisable.
A est une tautologie.
24
1.9 Méthode de Davis-Putnam pour le Calcul Pro-
positionnel
La méthode définie par Davis Putnam, est destinée à prouver la validité
de formules grâce a un algorithme programmable. Cet algorithme s’applique
sur des formules qui sont sous forme normale conjonctives. La méthode de
Davis-Putnam permet de décider si une conjonction de clauses Gi est insa-
tisfaisable. Il existe des algorithmes, basés sur celui de Davis-Putnam, qui
peuvent trouver une solution rapidement dans de nombreux cas. La methode
de Davis Putnam consiste à appliquer autant de fois que possible l’algorithme
ci-après. A chaque fois, il s’agit de produire à partir de la conjonction de
clauses S, une nouvelle conjonction de clauses S ′ tel que S est insatisfaite
seulement et seulement si S ′ est insatisfaite.
Algorithme :
Soit S une formule sous forme normale conjonctive.
(1) Règles pour clauses à un litéral :
(a) Si S contient deux clauses composées uniquement d’un seul litéral,
tel que l’un est la négation de l’autre, Gi = l et Gj = ¬l , alors S est
insatisfaisable.
(b) Si la règle (1.a) ne s’applique pas, donc S contient une clause à un
litéral Gi = l, alors que sa négation n’occure pas dans S. S ′ est alors obtenue,
à partir de S :
— en supprimant toutes les clauses contenant l
— et, en supprimant les occurences du litteral opposé ¬l des clauses
restantes.
′
Si S est vide, S est satisfaite.
25
(A1 ∨ l) ∧ ... ∧ (An ∨ l)∧ (B1 ∨ ¬l) ∧ ... ∧ (Bm ∨ ¬l)∧ R1 ∧ ... ∧ Rp
Où Ai , Bi et Ri ne contiennent ni l et ni ¬l.
C’est à dire, que nous procedons à une réorganisation des clauses de S, de
façon à commencer avec les clauses qui contiennent l, suivient par les clauses
qui contiennent ¬l, et nous terminons avec les clauses qui ne contiennent ni
l ni ¬l
Ensuite, nous produisons deux conjonctions de clauses S ′ et S ′′ tel que :
S ne contient aucune clause contenant le litteral ¬l et S ′′ ne contient aucune
′
clause contenant l :
S ′ = (A1 ∧ ... ∧ An ) ∧ R1 ∧ ... ∧ Rp
et S ′′ = (B1 ∧ ... ∧ Bm ) ∧ R1 ∧ ... ∧ Rp .
S est insatisfaisable si et seulement si (S ′ ∨ S ′′ ) est insatisfaisable.
F2 est insatisfaisable.
26
Chapitre 2
27
Dans ce chapitre, Nous allons commencer par décrire la syntaxe et la
sémantique de la logique des prédicats. Nous discuterons dans un deuxième
temps de l’évaluation et de la satisfaction.
2.1 Syntaxe
Commençons par l’alphabet du langage du calcul des prédicats :
— x1 , x2 , ... les variables
— a1 , a2 , ... les constantes
— P1 , P2 , ... les prédicats
— f1 , f2 ... les fonctions
— ¬, →, ∧, ∨ les connecteurs
— ∃, ∀ les quantificateurs
2.1.1 Termes
Définition Les termes du calcul des prédicats sont définis comme suit :
— Les variables et les constantes sont des termes.
— Si fi est une fonction à n arguments ett1 , t2 , ..., tn des termes du calcul
des prédicats alors fi (t1 , t2 , tn ...)est un terme du Calcul des Prédicats.
— L’ensemble des termes est engendré par les clauses précédentes.
2.1.2 Prédicats
2.1.3 Quantificateurs
2.1.4 Formules du calcul des prédicats
Définition Une formule atomique du calcul des prédicats est définie
pour si est un prédicat une fonction définie d’un domaine D vers l’ensemble
{0, 1} et sont des termes alors Pi (t1 , t2 , ..., tn ) est une formule atomique.
Portée
Variables libres et liées
2.2 Sémantique
2.2.1 Structure
2.2.2 Satisfaction d’une formule
28