Cours Logi 16
Cours Logi 16
Cours Logi 16
L2 informatique
S. Cerrito
0/1
Plan du Cours
1/1
Informations
serenacerrito@ibisc.univ-evry.fr
2/1
Références
Disponible à la B.U.
3/1
Introduction : c’est quoi la logique ?
4/1
Introduction
5/1
Rôle interne : quelques exemples
6/1
Donc, c’est quoi la logique ?
7/1
Introduction (suite)
8/1
Préliminares
Ensembles, Relations et Fonctions
9/1
Préliminares
Ensembles, Relations et Fonctions
Définition (Relation)
Une relation à n arguments sur un ensemble E est un ensembles de n-uplets sur E ,
c.à.d., R ⊆ E n .
Exemple
La relation <, qui est une relation à 2 arguments sur N = {0, 1, 2, ...} : l’ensemble des
couples hn, mi t.q. m est plus grand que n.
h0, 0i ∈ r , h1, 2i ∈ r , h2, 4i ∈ r etc.
10/1
Préliminares
Ensembles, Relations et Fonctions
11/1
Préliminares
Ensembles, Relations et Fonctions
Exemple
La relation r ci-dessus n’est pas une équivalence, mais l’identité :
{hn, ni | n ∈ N}
si.
12/1
Préliminares
Ensembles, Relations et Fonctions
Exemple
< n’est pas une fonction sur N × N, mais
{hn, 2ni | n ∈ N}
oui.
13/1
Préliminares
Ensembles, Relations et Fonctions
Définition (Fonctions)
Une fonction f : E1 → E2 est
I injective si f (a) = f (a0 ) implique a = a0
I surjective si, qque soit b ∈ E2 , ∃a ∈ E1 t.q. b = f (a)
I une bijection si f est injective et surjective (correspondence 1-1).
14/1
Préliminares
Ensembles, Relations et Fonctions
Définition
Un ensemble E est denombrable s’il existe une bijection f : E → E 0 oú E 0 ⊆ N.
Exemple
I tout ensemble fini est denombrable
I l’ensemble des nombres relatifs pairs est infini et denombrable
I l’ensemble des nombres réels n’est pas denombrable (Cantor)
Intuition : on ne peut pas compter les éléments d’un ensemble non-denombrable
de la façon : élément 0, élément 1, élément 2, etc.
15/1
Préliminares
Définition par récurrence d’un ensemble E
16/1
Préliminares
Définition par récurrence d’un ensemble E (exemples)
17/1
Préliminares
Définition par récurrence d’un ensemble E (exemples)
18/1
Préliminares
Démonstration par récurrence (structurelle)
Pour prouver que tous les éléments d’un ensemble E défini par récurrence ont une
propriété P :
1. On prouve que les objets élémentaires définis dans la base de la définition
récursive de E ont bien la propriété P.
Cette partie de la démonstration est dite Base (de la démonstration Récursive).
2. L’étape suivante est dite Cas de Récurrence (de la démonstration Récursive).
On suppose que tous les objets construits (à partir des objets élémentaires) en un
nombre quelconqueque d’étapes k, oú k ≤ p et p ∈ N ont la propriété P ; cette
hypothèse est dite Hypothèse de Récurrence (notée HR).
Puis, en utilisant HR, on montre que tous les nouveaux objets construits à l’étape
p + 1 à partir des anciens ont encore la propriété P.
19/1
Préliminares
Démonstration par récurrence (suite)
Exemple
On prouve la propriéte P suivante des éléments de N :
P n×(n+1)
Si n > 0, la somme (n) des n premiers éléments de N \ {0} est égale à : 2
1. Base
Si n est généré en 0 étapes, alors n = 0.
⇒ P est banalement vraie, car on suppose n > 0 !
2. Cas de Récurrence.
On veut prouver que P est valable si n est généré en plus que 0 étapes,
c’est-à-dire que n > 0.
Si n = 1, c’est banal, car s(n) = 1 = 1×22
.
Sinon, n ≥ 2. Alors :
HR : qque soit m ∈ N généré en un nombre d’étapes inférieur ou égal à n − 1,
m×(m+1)
c.à.d. qque soitPm ≤ (nP − 1), si m > 0 alors s(m) = 2
.
Evidemment : (n) = (n − 1) + n. Comme cas particulier de HR :
P (n−1)×n
(n − 1) = 2
.
P (n−1)×n (n−1)×n+2n n×(n+1)
Donc : (n) = ( 2
)+n = 2
= 2
, c.q.f.d.
20/1
Logique (classique) propositionnelle
Un exemple d’utilisation en programmation
21/1
Logique (classique) propositionnelle
Un exemple d’utilisation en programmation
Toute personne qui a écrit des programmes impératifs connaît les tests conditionels.
Pourquoi les étudier à nouveau ?
I Toutes les logiques sont basées sur la logique propositionnelle dans une certaine
mésure. On doit commencer par ici.
I Nous voulons gérer des tests conditionels arbitrairement compliqués et étudier
leur caractéristiques générales
I Nous ne voulons pas seulement évaluer les tests. Nous voulons aussi savoir quand
deux tests signifient la même chose, quand un test implique un autre, si un test
(ou un test de boucle) peut être jamais rendu vrai ou faux.
I La logique propositionnelle réprésente une classe importante de problèmes
computationels. Elle apparaît dans les algorithmes et dans la théorie de la
complexité.
22/1
Syntaxe de la logique propositionnelle (ou booléenne)
Le langage formel
23/1
Syntaxe de la logique propositionnelle (ou booléenne)
Les propositions atomiques
I Nous ne sommes pas concernés par quels énoncés atomiques (count>0, found)
sont utilisés, mais juste par le fait qu’ils peuvent avoir une valeur de vérité (vrai
ou faux).
I Donc, nous fixons une collection de symboles qui réprésententeront ces énoncés
atomiques.
I Ces symboles sont appelés propositions atomiques, ou variables propositionnelles,
ou encore variables booléennes.
Plus rapidement : atomes.
I Ils ont la même fonction que des variables x, y , z en mathématiques.
I Mais comme ils sont propositionnels, nous utilisons d’habitude les lettres p, p 0 ,
p0 , p1 , p2 , . . . , ainsi que q, r , s, . . . .
24/1
Alphabet de la Logique Propositionnelle
Définition (Alphabet)
Un alphabet A d’un langage propositionnel LP est constitué par les ensembles
suivants :
I Un ensemble dénombrable P = {p, q, r , ...} de symboles dits lettres (ou variables)
propositionnelles.
Cet ensemble est aussi dit signature de LP .
I Un ensemble de symboles dits connecteurs logiques, contenant deux connecteurs
à 0 arguments > et ⊥, aussi dits constantes propositionnelles, un connecteur à un
argument ¬ et quatre connecteurs binaires : ∧, ∨, →, ↔.
I Les parenthèses : une ouvrante, (, et une fermante, ).
25/1
Les Formules de la Logique Propositionnelle
Une formule propositionnelle est une séquence de symboles construite à partir des
atomes propositionnels, en utilisant les connecteurs booléens ci-dessus, et les
parenthèses, selon la façon appropriée.
Plus précisément :
Définition (Formules)
Les expressions bien formées ou formules d’un langage propositionnel LP sont les mots
sur l’alphabet de LP qui sont éléments de l’ensemble défini par récurrence comme
suit.
I Toute proposition atomique p ∈ P est une formule.
Aussi, les constantes propositionnelles > et ⊥ sont des formules.
I si F est une formule, alors (¬F ) est aussi une formule ;
I si F1 et F2 sont des formules, alors (F1 ∧ F2 ), (F1 ∨ F2 ), (F1 → F2 ), et
(F1 ↔ F2 ) sont aussi des formules.
Dit autrement :
F := p | > | ⊥ | (¬F ) | (F ∗ F )
où p ∈ P et ∗ ∈ {∧, ∨, →, ↔}.
Une formule bien parenthésée se lit d’une façon unique, indiquée par son arbre
syntaxique :
27/1
Exemples de formules et de leur arbres syntaxiques
Au tableau
28/1
Connecteur Principal
29/1
Encore sur les parenthèses
Exemple de démonstration par récurrence sur l’ensemble des formules d’un langage
30/1
Conventions pour simplifier l’écriture des formules
31/1
Plus de conventions pour simplifier l’écriture des formules
Pour eliminer plus de parenthèses, on peut aussi classer tous les connecteurs booléens
selon leur force de liaison décroissante :
Alors :
I ¬p → q est lue comme (¬p) → q, pas comme ¬(p → q).
I p ∨ q ∧ r est lue comme p ∨ (q ∧ r ), pas comme (p ∨ q) ∧ r .
I p ∧ ¬q → r est lue comme (p ∧ (¬q)) → r , plutôt que p ∧ (¬(q → r )) ou
p ∧ ((¬q) → r ).
I p → q ↔ r est lue comme (p → (q ↔ r ), pas comme (p → q) ↔ r .
Par exemple, p → ¬q ∨ ¬¬r ∧ s ↔ t est dur à lire ! Dur de voir qu’ on abrège :
(p → (¬q ∨ (¬¬r ∧ s))) ↔ t.
Mieux d’utiliser juste les conventions de la page précédente.
32/1
Sous-formules
Les sous-formules d’une formule A sont les formules construites dans les étapes de
construction de A.
La définition est par récurrence, en suivant la définition par récurrence des formules
(cas de base : les formules atomiques).
33/1
Termes techniques pour les formules logiques
Définition
I Une formule de la forme >, ⊥, ou p, pour un atome p, est appelée atomique.
I Une formule dont la forme logique est ¬A est appelée une formule niée.
I Une formule de la forme A ∧ B est appelée une conjonction, et A, B sont ses
conjoints.
I Une formule de la forme A ∨ B est appelée une disjonction, et A, B sont ses
disjoints.
I Une formule de la forme A → B s’appelle une implication. A est appelée
l’antécédente, B est appelée conséquente.
34/1
Termes techniques pour les formules logiques (suite)
Définition
I Une formule qui est soit atomique soit la négation d’une formule atomique est
appelée littéral.
I Une clause est une disjonction (∨) d’un ou plusieurs littéraux.
Parfois on considère la clause vide (la disjonction de zéro littéraux !), et on la traite de
la même manière que ⊥.
35/1
Sémantique – signification
I Nous savons comment lire et écrire les formulas. Mais quelle est leur signification ?
I Ou de manière plus chic : quelle est leur sémantique ?
I Signification intuitive des connecteurs booléens : ¬ est « non », ∧ est « et », ∨,
est « ou », → est « si-alors » (à peu près : voir après) , et, enfin, ↔ est « si et
seulement si ».
I Mais le français est un langage naturel : plein d’ambigüités.
I Nous sommes des informaticien(ne)s. On a besoin d’une signification précise des
formules – qui sont en nombre infini.
I Donc, on préfère donner une définition formelle en style mathématique de la
sémantique.
36/1
Sémantique de la logique propositionnelle
But : donner une signification aux connecteurs logiques, et d’interpréter les variables
propositionnelles, en leur attribuant une valeure booléenne (vraie ou fausse), afin de
permettre de déterminer la vérité d’une formule complexe à partir de celle des formules
atomiques qui la composent.
37/1
Donner de la signification aux formules
Définition (Interprétation)
Une interprétation I pour un ensemble de variables propositionnelles P est une
fonction I : P → BOOL, ou BOOL = {V , F }.
I Pour les tests conditionnels une interprétation est un point dans l’execution d’un
programme.
Les valeurs courantes du programme déterminent si chaque énoncé atomique d’un
test conditionnel (par exemple, x > 0, x = y , etc.) est vrai ou faux.
I En général, pour des atomes p, q, . . .,
une interprétation spécifie juste quels atomes sont vrais et quels sont faux.
I N’oubliez pas : on peut avoir plusieurs interprétations différentes. Dans une autre
interprétation les valeurs de vérité peuvent être différentes
I Evidemment, si on connait l’interprétation, on peut dériver la signification de
chaque formule propositionnelle donnée – c.à.d., si elle est vraie ou fausse dans
l’interprétation.
I On procède des formules simples aux formules plus compléxes ; définition de la
valeur de vérité d’une formule A par récurrence sur les formules.
38/1
Déterminer la Valeur de Vérité
39/1
Fonctions boolénnes
Pour dire la même chose qu’avant, mais avec un style plus mathématique, on utilise la
notion de fonction booléenne :
40/1
Fonction booléennes, suite
Définition
Les fonctions booléennes f¬ , f∧ , f∨ , f→ , f↔ sont définies par les tables suivantes, où
l’argument de la fonction unaire f¬ est indiqué dans la première colonne :
Argument 1 Argument 2 f¬ f∨ f∧ f→ f↔
V V F V V V V
V F F V F F F
F V V V F V F
F F V F F V V
41/1
Sémantique de la logique propositionnelle pqr le biais de fonctions
booléennes
42/1
Tables de vérité
L’ évaluation d’une formule par rapport à une interprétation I donnée peut être
représentée sous la forme d’une ligne d’une table de vérité :
Ici, les 2 premières colonnes indiquent l’interprétation I par rapport à laquelle on fait
l’évaluation.
43/1
Sémantique de la logique propositionnelle : terminologie
Définition (Modèle)
Une interprétation I est un modèle d’une formule A si [A]I = V .
On dit que I est un modèle d’un ensemble de formules E si elle est modèle de tout
élément de E .
N.B. : si E est un ensemble fini {A1 , · · · , An }, alors I est un modèle de E ssi c’est un
modèle de (. . . (A1 ∧ A2 ) . . .) ∧ An
44/1
Sémantique de la logique propositionnelle : terminologie, suite
Définition (Satisfiabilité)
Une formule A est satisfiable s’il existe au moins une interprétation I qui est modèle
de A ; sinon, A est dite insatisfiable.
45/1
Sémantique de la logique propositionnelle : terminologie, suite
Définition (Validité)
Une formule A est valide (ou est une tautologie) si, pour n’importe quelle
interprétation I, I est un modèle de A.
I N.B. A est valide ssi toute ligne de sa table de verité donne V comme valeur de A.
I Complexité du test de validité de A, en fonction du nombre de lettres
propositionnelles de A ?
46/1
Exemples
47/1
Sémantique de la logique propositionnelle
Exemple
I A1 est p ∨ ¬p (valide).
En remplaçant p par q → r on obtient A01 : (q → r ) ∨ ¬(q → r ).
Puisque A1 est valide A01 l’est aussi.
I A2 est p ∨ q (pas valide).
En remplaçant p par ¬q on obtient A02 :¬q ∨ q (valide).
A02 est valide, mais A2 ne l’est pas.
48/1
Sémantique de la logique propositionnelle
Et si E = ∅ ?
49/1
Analyse d’un raisonnement en langage naturel I
Formalisons : p pour je vous paierai pour votre réparation de mon PC, m pour mon
PC marche.
Premisses : p → m, ¬m
Conclusion : ¬p
50/1
Analyse d’un raisonnement en langage naturel I
Formalisons : p pour je vous paierai pour votre réparation de mon PC, m pour mon
PC marche.
Premisses : p → m, ¬m
Conclusion : ¬p
Comment tester si p → m, ¬m |= ¬p ?
En testant si (p → m, ∧¬m) → ¬p est valide !
50/1
Analyse d’un raisonnement en langage naturel II
Premisses : q → r , ¬q
Conclusion : ¬r
51/1
Analyse d’un raisonnement en langage naturel II
Premisses : q → r , ¬q
Conclusion : ¬r
51/1
Résultats Fondamentaux
52/1
Formules Equivalentes
Définition (Equivalence)
Soient A1 et A2 deux formules.
On dit que A1 et A2 sont logiquement équivalentes (et on note A1 ≡ A2 ) si A1 est
une conséquence logique de A2 et A2 est une conséquence logique de A1 , c.à.d.,
A2 |= A1 et A1 |= A2 .
53/1
Equivalences utiles
54/1
Remplacement
Théorème
Soient A une formule, B une sous-formule de A, et C une formule telle que B ≡ C .
Si on remplace une occurrence de B dans A par C , on obtient une formule A0 telle que
A ≡ A0 .
Possibilité de récrire une formule en une autre logiquement équivalente mais + simple
ou ayant une forme donnée (forme normale).
55/1
Plus sur les fonctions Booléennes
Des fonctions booléennes à + que 2 arguments existent, par exemple celle définie par
la table :
Argument 1 Argument 2 Argument 3 Valeur
V V V V
V V F F
V F V F
V F F V
F V V F
F V F V
F F V V
F F F F
56/1
Fonctions Booléennes
Exemple
La formule A = ¬¬¬p1 réalise la fonction f¬ . Pourquoi ?
Quelles autres formules réalisent f¬ ?
Réformulation de la question :
Est-il possible de réaliser toute fonction booléenne en utilisant des formules dont les
seuls connecteurs sont : >, ⊥, ¬, ∨, ∧, →, ↔ ?
57/1
Fonctions Booléennes
Exemple
La formule A = ¬¬¬p1 réalise la fonction f¬ . Pourquoi ?
Quelles autres formules réalisent f¬ ?
Réformulation de la question :
Est-il possible de réaliser toute fonction booléenne en utilisant des formules dont les
seuls connecteurs sont : >, ⊥, ¬, ∨, ∧, →, ↔ ? OUI
Si la fonction a au moins 1 argument, même ¬, ∨, ∧ suffisent.
57/1
Fonctions Booléennes
Idée de la démonstration
Les lignes avec résultat V guident la construction d’une formule réalisant la fonction.
Cette formule est une disjonction de 4 sousformules : l1 , l2 , l3 et l4 :
(p ∧ q ∧ r ) ∨ (p ∧ ¬q ∧ ¬r ) ∨ (¬p ∧ q ∧ ¬r ) ∨ (¬p ∧ ¬q ∧ r )
58/1
Récriture d’une formule dans une forme normale logiquement équivalente
Conventions préliminaires.
1. Si n = 0, la notation A1 ∨ · · · ∨ An , n’indique pas vraiment une formule, toutefois
on pose qu’elle indique la formule ⊥.
De même, si n = 0 la notation A1 ∧ · · · ∧ An indiquera >.
2. Quand on parlera de formes normales, on écrira A1 ∨ ... ∨ An pour indiquer une
disjonction dont les composantes sont A1 , ...An , peu importe leur ordre et peu
importe leur groupement par les ().
Idem pour A1 ∧ · · · ∧ An .
Pourquoi ces conventions sont sémantiquement justifiées ?
Utilité de la récriture en formes normales : les systèmes formels de preuve que nous
verrons après la nécessitent.
59/1
Récriture d’une formule dans une forme normale logiquement équivalente
60/1
Récriture d’une formule dans une forme normale logiquement équivalente
Définition
I rappel : un littéral est ou bien une formule atomique ou bien la négation d’une
formule atomique.
I rappel : une clause (dite aussi : disjonction élémentaire) est une formule de la
forme l1 ∨ l2 ∨ · · · ∨ lm−1 ∨ lm , où m ≥ 0 et chaque li est un littéral.
Le littéral ⊥ est dit clause vide.
I Une formule A est dite en forme normale conjonctive (f.n.c.) si elle est de la
forme D1 ∧ · · · ∧ Dk , où k ≥ 0 et chaque Di est une clause.
I une conjonction élémentaire est une formule de la forme l1 ∧ l2 · · · ∧ ln−1 ∧ ln où
n ≥ 0.
Le littéral > est dit conjonction élémentaire vide.
I une formule A est dite en forme normale disjonctive (f.n.d.) si elle est de la
forme C1 ∨ · · · ∨ Cq , où q ≥ 0 et chaque Ci est une conjonction élémentaire.
((p ∨ q) ∨ r ) ∧ ((q ∨ ¬r ) ∧ (q ∨ r ))
61/1
Récriture d’une formule dans une forme normale logiquement équivalente
Théorème
Etant donnée une formule quelconque A :
I il existe une formule A0 qui est en f.n.c. et qui est logiquement équivalente à A ;
I il existe une formule A00 qui est en f.n.d. et qui est logiquement équivalente à A.
62/1
Dévinette (rédiger la solution pour le prochain TD)
Indication : l’étranger pourra poser la question : “A est vraie ?”, où A est une formule
booléennes dont les 2 (sous)formules atomiques sont
1. la rue de gauche porte à la mairie
2. vous étes hônnete
63/1
Systèmes formels de preuve
64/1
Systèmes formels de preuve
But : avoir des moyens purement syntaxiques, c’est-à-dire ne tenant compte que de la
forme des formules, pour montrer qu’une formule donnée est valide.
64/1
Systèmes formels de preuve
Plusieurs sortes de systèmes de preuve existent. Une classification partielle, selon les
critéres :
I Direct ?
I Automatisable ?
I nécéssite une Forme Normale ?
I Concis ?
Nom D? A? FN ? C?
Axiomatiques (Hilbert) Oui Non Non Oui
Séquents (Gentzen) Oui Oui Non Non
Déduction Naturelle (Gentzen) Oui en partie Non Non
Tableaux (Beth, Gentzen) Non Oui ! “Oui et Non” Non
Résolution (Robinson) Non Oui (si stratégie) Oui Oui !
Dans ce cours : Tableaux, Résolution.
65/1
Tableaux propositionnels
Les tableaux ne sont pas des systèmes de preuve directs, mais des systèmes de
réfutation : pour prouver A, on prouve que l’hypothèse ¬A mene à une contradiction.
Il en existe de plusieurs sortes.
Ici :
Définition (Tableau)
Un tableau est un arbre t.q.
1. Ses noeuds sont des ensembles de formules en f.n.n. ;
2. Les fils d’un noeud sont générés en lui appliquant une règle d’expansion.
66/1
Tableaux propositionnels
E, A ∨ B
β
E, A E, B
67/1
Tableaux propositionnels
68/1
Tableaux propositionnels
68/1
Tableaux propositionnels
Si l’ensemble E est la racine d’un tableau T , on dit que T est un tableau pour E .
68/1
Tableaux propositionnels
69/1
Tableaux propositionnels
¬p ∨ q, ¬q ∨ r , p ∧ ¬r
(α)
¬p ∨ q, ¬q ∨ r , p, ¬r
(β)
¬p, ¬q ∨ r , p, ¬r
¬p, ¬q, p, ¬r ¬p, r , p, ¬r (β) q, ¬q ∨ r , p, ¬r
69/1
Tableaux propositionnels
70/1
Tableaux propositionnels
Définition (Preuve)
Soit A une formule.
Une preuve de A est une réfutation du singleton contenant une f.n.n. de la négation
de A.
Définition (Théorème)
S’il existe une preuve (par tableaux) de la formule A, A est dite alors théorème (du
système des tableaux).
71/1
Tableaux propositionnels
Définition
Dans le formalisme des tableaux, on dit qu’une règle d’expansion r est correcte si la
satisfiabilité de l’ensemble développé entraîne la satisfiabilité de son expansion quand r
ne produit pas de branchements, et celle d’au moins une des ses expansions sinon.
72/1
Tableaux propositionnels
Pourquoi ?
73/1
Tableaux propositionnels
est un modèle de E .
74/1
Tableaux propositionnels
Pourquoi ?
75/1
Logique des prédicats (du 1er ordre)
76/1
Limites de la Logique Propositionnelle
Prémisses :
1. Tout nombre entier positif divisible par 8 est pair.
2. L’entier positif 16 est divisible par 8.
77/1
Syntaxe de la Logique des Prédicats
78/1
Syntaxe de la Logique des Prédicats
Définition (Alphabet)
Un alphabet A d’un langage L de la logique des prédicats consiste des données
suivantes :
I l’ensemble de connecteurs logiques, contenant le connecteur à un argument ¬ et
les connecteurs binaires ∧, ∨, →, ↔
I les constantes logiques > et ⊥
I les parenthèses (, ) et la virgule ,
I le symbole ∀, dit quantificateur universel et le symbole ∃, dit quantificateur
existentiel
I un ensemble infini dénombrable X de symboles, les variables individuelles
I un ensemble dénombrable F de symboles de fonction, chacun muni d’une arité
(nombre d’arguments) supérieure ou égale à 0.
I un ensemble dénombrable R = {P, Q, R, . . .} de symboles de prédicats (ou
relations), chacun muni d’une arité supérieure ou égale à 0.
79/1
Syntaxe de la Logique des Prédicats
I si l’aritè d’un symbole de fonction est 0, on dit qu’il est une constante
(individuelle).
I si l’aritè d’un symbole de prédicats est 0, on dit qu’il est une lettre
propositionnelle.
I hF , Ri est la signature d’un langage L.
I la signature peut varier d’un langage à un autre.
80/1
Syntaxe de la Logique des Prédicats
81/1
Syntaxe de la Logique des Prédicats
Dans (∀xA) (resp. (∃xA)), la formule A est dite portée de ∀x (resp. ∃).
82/1
Syntaxe de la Logique des Prédicats
83/1
Arbre syntaxique d’une formule A
84/1
Conventions pour éliminer des parentèses
∀z ∃y ∀x (R(x, y ) ∧ P(z))
à la place de
∀z (∃y (∀x (R(x, y ) ∧ P(z))))
2. Si A est une formule atomique, Q ∈ {∀, ∃} et x ∈ X , l’écriture Qx A signifiera
que la portée de Q est A.
Par exemple, on aura le droit d’écrire
∃x P(x) ∨ R(x)
à la place de
(∃x (P(x)) ∨ R(x)
85/1
Syntaxe de la Logique des Prédicats
Une formule A est dite close si elle ne contient pas de variables libres.
86/1
Syntaxe de la Logique des Prédicats
Définition
Un terme t est libre pour une variable x dans une formule A si l’on a un des cas
suivants :
1. A est atomique ;
2. A est A1 ∗ A2 avec ∗ ∈ {∧, ∨, →, ↔} et t est libre pour x dans A1 et dans A2 ;
3. A est ¬A1 et t est libre pour x dans A1 ;
4. A est Qy A1 avec Q ∈ {∀, ∃} et x et y sont deux variables distinctes, y n’est pas
une variable de t et t est libre pour x dans A1 .
Exemple
Si P ∈ R, f , g ∈ F et A est ∃x (P(x) ∧ R(x, y , f (z))), alors le terme g (y , z) est libre
pour y et pour z dans A mais f (x) n’est pas libre pour y (et pour z non plus).
Intuition ?
Notation : Si A est une formule, x est une variable et t est un terme, alors A[x/t]
indique la formule obtenue à partir de A en remplaçant toute occurrence libre de x
dans A par t qui est bien libre pour x dans A (sinon, par déf. c’est A elle même).
87/1
Syntaxe de la Logique des Prédicats
Définition (Sous-formule)
L’ensemble sousf (A) des sous-formules d’une formule A d’un langage L de la
logique des prédicats est défini récursivement par :
I si A est une formule atomique, alors sousf (A) est {A} ;
I si A a la forme ¬A1 , alors sousf (A) est l’union ensembliste de {¬A1 } et de
sousf (A1 )
I si A a la forme A1 ∗ A2 , ou ∗ est un connecteur binaire, alors sousf (A) est
l’union ensembliste de {A1 ∗ A2 }, avec sousf (A)1 et sousf (A)2 .
I Si Q est un quantificateur et A a la forme Qx A1 alors sousf (A) est l’union
ensembliste de {Qx A1 } avec sousf (A1 [x/t]), pour
tout terme t de L qui soit libre pour x dans A.
La signification des connecteurs restera la même que pour le cas booléen, mais il faut
fixer la signification des quantificateurs (unique, qque soit L, comme pour les
connecteurs).
89/1
Problème
A1 : ∀x ∃y R(x, y )
A2 : ∃y ∀x R(x, y )
A3 : ∀x R(a, f (x))
où :
x et y sont des variables (individuelles),
R est un symbole de prédicat d’arité 2,
a est une constante (individuelle) et
f est un symbole de fonction d’arité 1.
Vraies ou fausses ?
90/1
Sémantique de la logique des prédicats
Définition (Interprétation)
Une interprétation I d’un langage L de la logique des prédicats ayant une signature
hF , Ri est consituée par :
I Un ensemble fini ou infini – mais non-vide – D, appelé domaine de discours ou
univers de I.
I Pour tout symbole de fonction f ∈ F d’arité n, une assignation d’une fonction
(totale) à n arguments I(f ) : D n → D à f .
Dans le cas particulier où n = 0 (f est une constante), I(f ) est un élément
distingué de D.
I Pour tout symbole de relation R ∈ R arité n tel que n ≥ 1, une assignation d’une
relation à n arguments I(R), où I(R) ⊆ D n , à R.
Dans le cas où n = 0, on assigne à R une valeur booléenne, que l’on note
toujours I(R).
Exemples au tableau.
91/1
Sémantique de la logique des prédicats
Problème
Soient les termes :
t1 : g (a, f (a))
t2 : g (x, f (y ))
où :
x et y sont des variables (individuelles),
a est une constante (individuelle),
f est un symbole de fonction d’arité 1 et
g est un symbole de fonction d’arité 2.
92/1
Sémantique de la logique des prédicats
Définition (Variante)
Etant donné
I une choix de valeurs s,
I une variable xi ,
I un objet d ∈ D,
la notation s[xi := d] indique le choix de valeurs s 0 tel que :
I s 0 (xi ) = d
I s 0 (y ) = s(y ) pur toute variable y distincte de xi .
Le choix de valeurs s[xi := d] est dit aussi xi -variante de s.
Exemples au tableau.
93/1
Sémantique de la logique des prédicats
Lemma
Pour tout terme t, sa valeur [t]I,s appartient à D.
94/1
Sémantique de la logique des prédicats
95/1
Sémantique de la logique des prédicats
96/1
Sémantique de la logique des prédicats
Définition
Soient A une formule et I une interprétation.
I A est vraie par rapport à I si [A]I,s = V pour tout choix de valeur s.
I I est un modèle de la formule A si A est vraie par rapport à I.
I I est un modèle d’un ensemble de formules E si elle est modèle de tout
élément de E .
97/1
Sémantique de la logique des prédicats
Quel est le lien intuitif avec la notion (syntaxique) de terme libre pour une variable ?
98/1
Sémantique de la logique des prédicats
Définition
Soient A une formule et E un ensemble de formules.
I A est valide si, pour n’importe quelle interprétation I, I est modèle de A.
I Une formule A est satisfiable s’il existe au moins une interprétation I et au
moins un choix de valeurs pour les variables s tels que [A]I,s = V .
I Un ensemble de formules E est satisfiable s’il existe au moins une interprétation I
et au moins un choix de valeurs pour les variables s tels que, quelque soit la
formule B de E , on a [B]I,s = V .
I Si A (resp. E ) n’est pas satisfiable, alors c’est insatisfiable.
99/1
Sémantique de la logique des prédicats
Définition
Soient A une formule et E un ensemble de formules.
I A est valide si, pour n’importe quelle interprétation I, I est modèle de A.
I Une formule A est satisfiable s’il existe au moins une interprétation I et au
moins un choix de valeurs pour les variables s tels que [A]I,s = V .
I Un ensemble de formules E est satisfiable s’il existe au moins une interprétation I
et au moins un choix de valeurs pour les variables s tels que, quelque soit la
formule B de E , on a [B]I,s = V .
I Si A (resp. E ) n’est pas satisfiable, alors c’est insatisfiable.
99/1
Sémantique de la logique des prédicats
100/1
Sémantique de la logique des prédicats
100/1
Sémantique de la logique des prédicats
101/1
Systèmes formels de preuve pour la logique des prédicats
But : comme dans le cas propositionnel, avoir des moyens purement syntaxiques,
c’est-à-dire ne tenant compte que de la forme des formules, pour montrer qu’une
formule donnée est valide.
Ici c’est crucial, car l’analogue d’un table de vérité - objet fini - est infini.
102/1
Tableaux pour le Calcul des Prédicats
Le système de tableaux que l’on va voir : Tableaux dits “avec variables libres”.
Pour pouvoir le décrire, une digression préalable, sur les notions de substitution d’un
terme à une variable et unification est nécessaire.
103/1
Digression : Substitutions et unificateurs
Définition (Substitutions)
Une substitution est un ensemble fini {x1 /t1 , . . . , xn /tn } de couples formés d’une
variable (individuelle) xi et d’un terme ti différent de xi .
{x1 /x1 , x2 /a}, {a/x1 , x2 /x3 }, {x1 /a, x2 /f (x3 )} {x1 /a, x1 /f (x3 )}
est-il une substitution ?
104/1
Digression : Substitutions et unificateurs, suite
Définition (Composition)
Soient θ = {x1 /s1 , . . . , xm /sm } et σ = {y1 /t1 , . . . , yn /tn } deux substitutions.
La composition de θ et σ, notée θ ◦ σ, est la substitution obtenue à partir de l’ensemble
en supprimant :
I tout élément de la forme x/x où x est une variable ;
I tout élément yj /tj tel que yj appartient au domaine de σ mais appartient aussi au
domaine de θ.
Intuitivement : c’est θ qui gagne, en cas de conflit.
N.B. : θ ◦ σ indique la substitution obtenue en faisant d’abord θ puis σ.
105/1
Digression : Substitutions et unificateurs, suite
Exemple
Ici, x, y , z, w sont des variables, a est une constante et g est un symbole de fonction à
1 argument.
Soient θ = {x/a, y /g (a, y ), z/w } et σ = {y /a, z/f (z), w /z} deux substitutions.
I Qui est le domaine de θ ? et celui de σ ? Qui est θ ◦ σ ?
I Soit t le terme g (y , z). Qui sont (t)θ , ((t)θ )σ et (t)θ◦σ ?
I Soit R un symbole de prédicat binaire. Qui est (R(g (y , z), x))θ◦σ ?
106/1
Digression : Substitutions et unificateurs, suite
Définition
I On appelle problème d’unification tout ensemble d’équations P de la forme
{t1 = s1 , . . . , tn = sn } où tout ti et tout si sont des termes.
I Une substitution σ est un unificateur de P si, pour tout i ≤ n, les termes (ti )σ et
(si )σ sont (syntaxiquement) identiques.
On note par U(P) l’ensemble d’unificateurs de P.
I On dit que P est unifiable si U(P) 6= ∅.
I On dit que deux termes t et t 0 sont unifiables par la substitution σ si σ est un
unificateur du problème d’unification {t = t 0 }.
I De même, on dit que deux formules atomiques R(t1 , · · · , tn ) et R(s1 , · · · , sn )
sont unifiables par la substitution σ si σ est un unificateur du problème
d’unification {t1 = s1 , . . . , tn = sn }.
107/1
Digression : Substitutions et unificateurs, suite
Exemple
Ici, x, y , v , z, w , z 0 sont des variables, a est une constante, f et g sont 2 symboles de
fonction avec, respectivement, 1 et 3 arguments.
I A1 = R(x, f (y )) et A2 = R(g (a, v , v ), f (v )).
σ = {x/g (a, y , y ), v /y } est un unificateur de A1 et A2 .
I Deux autres encore :
θ = {x/g (a, z 0 , z 0 ), v /z 0 , y /z 0 }.
δ = {x/g (a, z, z), v /z, y /z, w /a}.
I A01 = r (x, f (x)) et A02 =r (y , y ). Pas d’unificateur.
I A02 = r (x, b) et A02 =r (y , c) où a et b sont des constantes. Pas d’unificateur.
I A03 = r (x, b) et A02 =r (y , f (z)) où a est une constantes et f un symbole de
fonction. Pas d’unificateur.
108/1
Digression : Substitutions et unificateurs, suite
Exemple
Exemple précédent : σ est principal pour le problème d’unification associés à A1 et A2 .
En fait, θ = σ{v /z 0 , y /z 0 }, δ = σ{v /z, y /z, w /a}.
Un algorithme qui permet de décider si deux formules atomiques sont unifiables et qui,
si elles le sont, retourne le mgu : en TD.
109/1
A nouveau sur les tableaux pour les prédicats
Même principe que pour le cas booléen : pour prouver la validité de A on réfute la
négation de A.
Mais on a aussi les quantificateurs, donc, pour réecrire en f.n.n., on utilise aussi :
110/1
Tableaux pour le Calcul des Prédicats
Nouvelles règles γ et δ :
E , ∀v B E , ∃v B
E , B[v /li ], ∀v B E , B[v /skj (l1 , ..., ln )]
où
I li est un élément de L nouveau (pas encore utilisée dans l’arbre en cours de
construction),
I l1 · · · ln sont tous les paramètres de ∃v B, et
I skj est un symbole de fonction de SKO à n arguments pas encore utilisé et
distinct de tout symbole de fonction des formules de l’arbre.
111/1
Tableaux pour le Calcul des Prédicats
Définition
Soit B une branche d’un tableau.
1. La branche B est dite complète si aucune règle d’expansion n’est pas applicable.
2. Une branche est dite close si elle a un noeud qui contient
112/1
Tableaux pour le Calcul des Prédicats
Exemple
Preuve par tableaux de la validité de la formule :
Au tableau. Attention :
I Après avoir appliqué chaque règle une fois à chaque formule, on se retrouve avec
¬P(a, l1 ), P(l2 , f (l1 )) et on ne peut pas clore le tableau car les deux termes l1 et
f (l1 ) ne sont pas unifiable. Mais si on déclare que la formule racine est
insatisfiable, on fait une erreur.
I Il faut appliquer la règle γ deux fois à la formule ∀y ∃ ∀w (¬P(a, y ) ∧ P(w , z))
pour pouvoir clore le tableau !
113/1
Tableaux pour le Calcul des Prédicats
114/1