Logique formelle &
Programmation logique
∃ ⇒ ∀
Dr. St ´ephane Lengrand,
Stephane.Lengrand@Polytechnique.edu
Cours 0 :
Motivation, Introduction
2
Introduction au cours Pr ´esentations
Pourquoi ce cours vous int ´eresse : – Vous vous destin ´es `a ˆetres ing ´enieurs. . .
. . .en Info, Electronique et Automatique – N ´ecessairement, vous allez faire des erreurs
parce que vous ˆetes humains ! parce que d’autres en ont fait avant vous ! – Certains bugs co ˆutent plus que d’autres
Crash d’Ariane 5, 04/06/1996 : 500 millions d’euros
Oui mais pourquoi la logique ?
– D ´eveloppement personnel : Ing ´enieurs de qualit ´e
⇐
Rigueur⇐
Logique – Science pour la fiabilit ´e des syst `emes :Logique a produit desoutilspour l’assurance de la qualit ´e
M ´ethodes formelles
. . . `a base de math ´ematiques – Intelligence Artificielle
Vous vous dites : est-ce que c¸a en vaut les efforts ?
D ´eveloppement personnel : Oui, pour vous
Intelligence artificielle : Oui, la logique en est la base
M ´ethodes formelles :
Ca d ´epend, elles sont co ˆuteuses, mais n ´ecessaires dans 2 cas – quand beaucoup d’argent est en jeu
(cf Ariane, transactions financi `eres, cryptographie) – quand des vies humaines sont en jeu
(cf syst `emes embarqu ´es, pilotes automatiques, ligne 14-Meteor)
5
Sur ce cours En 3 `eme ann ´ee : vous devez ˆetre autonomes
6 6 6 6
APPRENDRE COMPRENDRE
Contr ˆole : Droit aux documents. Pas aux livres.
Pas plus facile, prend du temps, de l’ ´ecoute
Venir me voir = votre responsabilit ´e M’interrompre = votre responsabilit ´e
Contact :Stephane.Lengrand@Polytechnique.edu
Page web :
http ://www.lix.polytechnique.fr/
∼
lengrand/6
Sur ce cours, suite Transparents disponibles en pdf sur mon site web
Ne contient pas toutes les infos (par ex : les d ´emonstrations)
= ⇒
en TDs ou en livres :– Logique pour l’informatique : introduction `a la d ´eduction automatique, Serenella Cerrito (Ed. Vuibert) (23,75 eur -Amazon) – Logique math ´ematique, tome 1 & 2,
Ren ´e Cori et Daniel Lascar (Ed. Dunod) (38,95 eur) – Introduction `a la logique : Th ´eorie de la d ´emonstration,
Karim Nour, Ren ´e David et Christophe Raffalli (Ed. Dunod) (30,88 eur) – Proof Theory and Automated Deduction, Jean Goubault-Larrecq et Ian
MacKie (Kluwer Academic Publisher) (48,57 eur)
– ce qu’il y a de disponible dans la biblioth `eque locale
La logique, c¸a vient d’o `u ? C’est vieux (Aristote, Socrate, . . .).
V ´erit ´e : confrontation avec la r ´ealit ´e.
Depuis. . .
– diversification des disciplines math ´ematiques
– ´eloignement de plus en plus important d’une r ´ealit ´e tangible
XIX `eme si `ecle, crise logique. Les math ´ematiques : quoi, comment ? – quelle est la th ´eorie universelle qui unifie les math ´ematiques ? – comment raisonne-t-on pour tirer des conclusions de cette th ´eorie ?
– Axiomes – D ´emonstration
Grossi `erement, quelques noms et contributions Boole (1815-1864): alg `ebres de Boole, bool ´eens,. . .c¸a vous dit qq chose ? Frege (1848-1925):
bases -imparfaites- de la th ´eorie des ensembles, formalismes logiques, . . . Hilbert (1862-1943): 23 probl `emes ouverts, meta-math ´ematiques,. . . Zermelo (1871-1953): th ´eorie des ensembles moderne, avec Fraenkel Russell (1872-1970):
c ´el `ebre pour son paradoxe trouv ´e chez Frege, Principia Mathematica Brouwer (1881-1966): constructivisme
Goedel (1906-1978): th ´eor `emes d’incompl ´etude
Church (1903-1995): fonctions et calcul, th ´eor `emes d’ind ´ecidabilit ´e. . . Gentzen (1909-1945): th ´eor `emes de coh ´erence et formalismes logiques
9
M ´eta-math ´ematiques Les math ´ematiques =
outils et m ´ethodes pour ´etudier rigoureusement des objets Et si l’objet d’ ´etude ´etait le fonctionnement des maths elles-m ˆemes ? ? ?
= ⇒
Meta-math ´ematiquesGrande avanc ´ee :v ´erit ´e
= ⇒
prouvabilit ´eUne propositionP est-elle vraie ?
⇓
Une propositionP est-elle prouvable ?
10
Questions meta-math ´ematiques
– Existe-t-il un langage ad ´equat pour parler de toutes les math ´ematiques ? OUI: langage des pr ´edicats = langage du 1er ordre
– Qu’est-ce qu’une d ´emonstration / preuve / deduction ? Toujours pas d’accord. Raisonnement par l’absurde ? ou pas ? Brouwer, Heyting, Kolmogorov,. . .le refusent
ensuite, questions de pr ´esentations (calcul des s ´equents,. . .) – Existe-t-il une collection d’axiomes (si possible la plus petite) `a partir
desquelles se d ´eduisent toutes les maths ?
Th ´eorie des ensembles, Zermelo-Fraenkel : 9 “axiomes” (ou sch ´emas)
Frege : pour chaque propri ´et ´e
P
, autorise la construction{x | P (x)}
Paradoxe :
Soit
F = {x | x / ∈ x}
. Est-ce queF ∈ F
ou est-ce queF / ∈ F
?. . .Questions meta-math ´ematiques, suite
– Etant donn ´e une proposition
P
, existe-t-il toujours soit une preuve deP
soit une preuve de
¬P
? (in)compl ´etude1NON(Goedel)
– Les math ´ematiques peuvent-elles d ´emontrer qu’elles ne se contredisent
pas ? (in)compl ´etude2
NON(Goedel)
– Existe-il un algorithme qui r ´eponde OUI s’il existe une preuve de
P
, quir ´eponde NON sinon ? (in)d ´ecidabilit ´e
NON(Church, Turing)
Ces trois r ´eponses datent des ann ´ees 30.
Questions?
13
Cours 1 :
Syntaxe, S ´emantique, Logique propositionnelle
14
Pas de pens ´ee sans langage Prenons les math ´ematiques comme objet d’ ´etude
(faisons des meta-math ´ematiques !), et analysons leur structure ! Unepropositionexprime, dans un langage syntaxique, quelque chose (qui a un sens).
structure `a base de symboles qui permet d’exprimer qq chose =syntaxe, signification de cette expression =s ´emantique
signifiant = syntaxe,signifi ´e = s ´emantique
Niveau meta (transparent subtile, mais pas vital) Pendant longtemps: monde r ´eel fournit un cadre pour la s ´emantique, on v ´erifiait qu’une proposition ´etait vraie ou fausse par confrontation avec le r ´eel.
Maintenant: objets math ´ematiques trop abstraits (voyez-vous des nombres complexes dans la rue ?)
= ⇒
s ´emantique donn ´ee par le niveau meta-math ´ematique Se placer / raisonner dans une logique X pour ´etudier la logique Y.Exemples:
X = l’arithm ´etique de P ´eano
= ⇒
s ´emantique `a base d’entiers X = th ´eorie des ensembles= ⇒
s ´emantique `a base d’ensembles Remarque: le niveau meta-math ´ematique ´etant syntaxique, finalement il n’y a jamais que de la syntaxe (s ´emantique = syntaxe du niveau meta)Clivage syntaxe/s ´emantique `a deux niveaux Une proposition parle d’objets (d’ ´etudes).
Niveau objet: les structures syntaxiques
4
etIV
d ´esignent le m ˆeme objet s ´emantique.Niveau proposition: les structures syntaxiques
(x ∈ y) ∧ (x ∈ z)
et(x ∈ z) ∧ (x ∈ y)
ont la m ˆeme s ´emantique.17
Syntaxe de la logique propositionnelle En logique propositionnelle : pas d’objets !
– desvariables propositionnelles
p, q, r, . . .
d ´esignent des propositions quelconques– desconnecteurs
∧
(et)∨
(ou)⇒
(implique),¬
(non-),. . .construisent des propositions complexes `a partir de propositions simples, ou sont des constantes logiques⊤
(vrai)⊥
(faux),. . .Une mani `ere rapide d’ ´ecrire les r `egles de construction des propositions :
A, B, C, . . . ::= p | (A ∧ B) | (A ∨ B) | (A ⇒ B) | (¬A) | ⊤ | ⊥
On appelle c¸a une d ´efinitioninductivePropositions = chaˆınes de symb ˆoles bien-parenth ´es ´ees, ou arbres ? les 2 visions sont ´equivalentes
18
S ´emantique de la logique propositionnelle Pour donner une s ´emantique aux propositions, il faut
– un ensemble
B
dans lequel on va interpr ´eter les propositions.– une s ´emantique pour chaque connecteur
⋆
, c’est- `a-dire une fonctionf
⋆deB
ndansB
(n= 2pour les connecteurs binaires,n= 1pour les connecteurs unaires,n= 0pour les constantes, . . .)
Pour que la s ´emantique de
∧, ∨, . . .
corresponde `a notre intuition, il faut queB
soit unealg `ebre de BooleExemple d’alg `ebre de Boole:
B
est l’ensemble des parties d’un ensembleX
(quelconque), avecf
∧(x, y) = x ∩ y f
⊤= X f
¬(x) = x
f
∨(x, y) = x ∪ y f
⊥= ∅
Autre exemple d’alg `ebre de Boole : les bool ´eens
L’ensemble des bool ´eens
B = {
T,
F}
`a 2 ´el ´ements.x y
f
∧(x, y)
T T T
T F F
F T F
F F F
x y
f
∨(x, y)
T T T
T F T
F T T
F F F
x y
f
⇒(x, y)
T T T
T F F
F T T
F F T
x
f
¬(x)
T F
F T
f
⊤()
Tf
⊥()
FS ´emantique de la logique propositionnelle Une fois que l’on s’est donn ´e ces fonctions, on peut alors calculer l’interpr ´etation dans
B
des propositionsUn param `etre : l’interpr ´etation
I
des variables propositionellesp, q, r, . . .
, ditevaluation.Exempleavec les bool ´eens :I(p) =
T ouI(p) =
F.L’interpr ´etation
[A]
Id’une d’une propositionA
selon la valuationI
est d ´efinie par r ´ecurrence surA
:[p]
I:= I(p)
[⋆(A
1, . . . , A
n)]
I:= f
⋆([A
1]
I, . . . , [A
n]
I)
Exemple
[A ∧ B]
I:= f
∧([A]
I, [B]
I) [¬A]
I:= f
¬([A]
I)
21
Satisfiable, Valide
A partir de maintenant,B={T,F} D ´efinitions:
–
I
est unmod `eledeA
si[A]
I=
T–
A
estsatisfiables’il y a une valuation qui est un mod `ele deA
–A
estvalidesi toute valuation est un mod `ele deA
Th ´eor `eme:
A
est satisfiable (resp. valide) si et seulement si¬A
n’est pas valide (resp. satisfiable)Pour v ´erifier qu’une proposition est valide ou satisfiable, on regarde toutes les valuations
I
possibles sous la forme d’unetable de v ´erit ´e SiA
poss `eden
variables propositionnelles, on a2
ncas `a tester ! Exemple en exercice avec((p⇒q)⇒p)⇒p22
Cons ´equence s ´emantique (parfois dite logique) D ´efinition
–
B
est unecons ´equence s ´emantiquedeA
, not ´eA | = B
si tout mod `ele deA
est aussi un mod `ele deB
–
A
etB
sonts ´emantiquement ´equivalents, not ´eA ≡ B
, siA | = B
etB | = A
voir exercice sur les lois de De Morgan Notez que
– ⊤ |=A, aussi not ´e|=A, si et seulement siAest valide.
– A|=Bsi et seulement siA⇒Best valide (voir TD).
– siA|=B, alors
–Aest valide impliqueBest valide –Aest satisfiable impliqueBest satisfiable mais l’inverse n’est pas vrai !
Conclusions Toutes ces propri ´et ´es des propositions sont des constatations s ´emantiques
Cours suivant: on verra comment on peut prouver la cons ´equence ou la validit ´e par une d ´emonstration, c’est- `a-dire par un
raisonnement syntaxique
Questions?
25
Cours 2 :
Logique propositionnelle — La notion de d ´emonstration
26
Notion de preuve
Rappelez-vous : on cherche `a caract ´eriser de mani `ere syntaxique les notions decons ´equence s ´emantiqueet devalidit ´e
On avait des notions ´emantiques
A | = B
et| = B
bas ´ees sur laconstatation (passant par valeurs de v ´erit ´e & interpr ´etation s ´emantique des formules) On cherche maintenant des notionssyntaxiques
A ⊢ B
et⊢ B
bas ´ees sur lad ´emonstration(=preuve) A quoi bon ? La constatation s ´emantique n’est-elle pas suffisante ?
. . .apr `es tout, si on peut “voir” si une proposition est vraie ou pas. . . Aha ! tant qu’on parle de choses finies (par ex : logique propositionnelle). . . . . . `a la rigueur. . . Mais quand l’univers du discours est infini, comment constater des propri ´et ´es universelles ? (c.f. logique des pr ´edicats (= du 1er ordre))
Le calcul des s ´equents Un s ´equent est une paire de multisets de formules.
C’est quoi un multiset de formules (que l’on notera
Γ, ∆, . . .
) ? Listes:ordre importe,r ´ep ´etitions importentA, B 6= B, A A, A 6= A
Ensembles:ordre n’importe pas,r ´ep ´etitions n’importent pas{A, B} = {B, A} {A, A} = A
Multisets:ordre n’importe pas,r ´ep ´etitions importent{{A, B}} = {{B, A}} {{A, A}} 6= A
Formellement : une fonction
f
des formules vers les entiers≥ 0
`a support fini (support = les formulesA
telles quef (A) > 0
)f (A)
´etant le nombre d’occurrences deA
dans le multisetLe calcul des s ´equents
Une paire de multisets de formules
A
1, . . . , A
n⊢ B
1, . . . , B
mest appel ´es ´equent (on lache les{{ }}des multisets) Ce n’est qu’une construction syntaxique, mais le sens intuitif d’un tel s ´equent estA
1∧ . . . ∧ A
n⇒ B
1∨ . . . ∨ B
mUned ´erivation(=preuve=d ´emonstration) est un arbre
– dont les noeuds sont ´etiquet ´es par des s ´equents, par exemple :
⊢ a
⊢ b
⊢ b ∨ c
⊢ a ∧ (b ∨ c)
– dont l’ ´etiquetage suit desr `eglesditesd’inf ´erence, par exemple :
⊢ A ⊢ B
⊢ A ∧ B
premisses conclusion
29
Le calcul des s ´equents
Un s ´equent
A
1, . . . , A
n⊢ B
1, . . . , B
mestd ´erivable dans un syst `eme Sde r `egles d’inf ´erence s’il existe une d ´erivation dont il est la conclusion (i.e. dont il d ´ecore la racine).On le noteA1, . . . , An⊢S B1, . . . , Bm
L’id ´ee est maintenant de trouver un syst `eme
S
de r `egles d’inf ´erence caract ´erisant la cons ´equence s ´emantique(i.e. tel que
A
1, . . . , A
n⊢
SB
1, . . . , B
msi et seulement siA
1∧ . . . ∧ A
n| = B
1∨ . . . ∨ B
m)30
Sch ´emas et instances Sch ´ema :
⊢ A ⊢ B
⊢ A ∧ B
o `uA
,B
d ´enotent des formules arbitraires Instances (exemples) :⊢ c ⊢ c
′⊢ c ∧ c
′⊢ ¬c ⊢ ¬c
′⊢ ¬c ∧ ¬c
′· · ·
pour les variables propositionnelles particuli `eresc
etc
′Syst `eme G3 : les r `egles d’inf ´erence
R `egle de base (axiome) :
Γ, A ⊢ A, ∆
Connecteur R `egle d’intro gauche R `egle d’intro droite⊤ Γ ⊢ ⊤, ∆
⊥ Γ, ⊥ ⊢ ∆
¬ Γ ⊢ A, ∆
Γ, ¬A ⊢ ∆
Γ, A ⊢ ∆ Γ ⊢ ¬A, ∆
∨ Γ, A ⊢ ∆ Γ, B ⊢ ∆ Γ, A ∨ B ⊢ ∆
Γ ⊢ A, B, ∆ Γ ⊢ A ∨ B, ∆
∧ Γ, A, B ⊢ ∆ Γ, A ∧ B ⊢ ∆
Γ ⊢ A, ∆ Γ ⊢ B, ∆
Γ ⊢ A ∧ B, ∆
Syst `eme G3 : les r `egles d’inf ´erence
Connecteur R `egle d’intro gauche R `egle d’intro droite
⇒ Γ ⊢ A, ∆ Γ, B ⊢ ∆ Γ, A ⇒ B ⊢ ∆
Γ, A ⊢ B, ∆ Γ ⊢ A ⇒ B, ∆
Correspond `a l’id ´ee que
A ⇒ B
est la m ˆeme chose que(¬A) ∨ B
( ´ecrivez les r `egles et vous verrez. . .)33
G3 : Correction et compl ´etude Th ´eor `eme
A
1, . . . , A
n⊢
G3B
1, . . . , B
m si et seulement siA
1∧ . . . ∧ A
n| = B
1∨ . . . ∨ B
m D ´emonstration : D’habitude,du haut vers le bas : par r ´ecurrence sur la hauteur de l’arbre de preuve du bas vers le haut : beaucoup de fac¸ons
Souvenez-vous: la r ´ecurrence (aussi appel ´eeinduction) est au raisonnement ce que la r ´ecursion est au calcul / `a la programmation.
34
Questions? Cours 3 :
Logique du 1er ordre
Pour faire rapide On rajoute les quantificateurs
∃x, P
et∀x, P
Oui mais ils quantifient sur quoi ?On a besoin d’ununivers de discours, dont les ´el ´ements sont d ´ecrits (dans la syntaxe) par destermes
Exemples d’univers de discours : Exemples de termes
– les entiers
0
,S(0)
,3 + 4
– les r ´eels
3/4
,π
– les ensembles
∅
,A ∪ B
37
Syntaxe : termes
Formellement, on se donne unesignatureΣde termes:
ensemble deconstructeurs de termesavec, pour chacun, une arit ´e Exemple :
Σ = {
“0
” / 0, “S
” / 1, “+
” /2}
Comme annonc ´e, on se donne aussi desvariables de termes
x, y, z
La syntaxe des termes est alors donn ´ee par :t ::= x | f(t
1, . . . , t
n)
sif /n ∈ Σ
38
Syntaxe : propositions Ensuite, on veut dire des choses sur ces objets de l’univers
Exemple :
1 + 1 = 2 3 ≤ 4 x ∈ y x ⊆ y
On se donne donc unesignatureΨde propositions:
ensemble depropositions atomiquesavec, pour chacune, une arit ´e Exemple :
Ψ = {
“=
” / 2, “≤
” / 2, “IsEven” /1}
La syntaxe des propositions est alors donn ´ee par :
P ::= p(t
1, . . . , t
n) | . . .
[comme en logique prop.]. . . | (∃x, P ) | (∀x, P )
sip/n ∈ Ψ
Syntaxe : propositions On bazarde les variables propositionnelles !
Elle servaient `a ce que les propositions atomiques ne soient pas interpr ´et ´ees de mani `ere constante (que chacune, selon l’interpr ´etation, soit parfois vraie parfois fausse)
Ici, les termes donn ´es comme arguments des prop. atomiques vont cr ´eer cette variation.
Syntaxe : variables li ´ees/muettes 1 Notion de variable muette en maths :
On “sait bien” que
∀x, P (x)
c’est la m ˆeme chose que∀y, P (y)
Intuition : le nom / la variable que j’utilise pour d ´esigner une chose n’a pas d’importancePlus complexe qu’il n’y parait.
T ˆache 1: d ´efinir quelles sont, dans
P
les variables muettes (=li ´ees) Celles qui n’y sont pas libres ! (on est bien avanc ´e)41
Syntaxe : variables li ´ees/muettes 2
Toute variable (de terme) apparaissant dans
t
est libre danst
, elles forment l’ensemblef v(t)
f v
est d ´efini inductivement sur les propositions :f v(p(t
1, . . . , t
n)) := f v(t
1) ∪ . . . ∪ f v(t
n) f v(A ∧ B) := f v(A) ∪ f v(B) . . .
f v(∃x, P ) := f v(P )\{x}
f v(∀x, P ) := f v(P )\{x}
42
Syntaxe : variables li ´ees/muettes 3 T ˆache 2: d ´efinir ce qu’est le renommage d’une variable muette appel ´e
α
-conversionOn d ´efinit pour c¸a l’ ´echange de 2 variables sur
P
(resp.t
)(xy)P
(resp.(xy)t
) :partout o `u vous avez ´ecrit
x
(li ´e ou libre), vous mettezy
, et vice versa∃x, P
est identifi ´e avec∃y, (xy)P
siy 6∈ f v(P )
∀x, P
est identifi ´e avec∀y, (xy)P
siy 6∈ f v(P )
Pourquoi “si
y 6∈ f v(P )
” (i.e.y
est une variablefraiche) ?(y = 0) ∧ (∃x, x = y)
n’est pas la m ˆeme chose que(y = 0) ∧ ∃y, y = x
Syntaxe : variables substitu ´ees
T ˆache 3: d ´efinir une notion de substitution (variable
x
par termet
) sur les termes :tx
t
′ trivial.sur les propositions :t
x
P
ATTENTION quand vous d ´efinissezt
x
(∀y, P)
ettx
(∃y, P)
! ! ! Que se passe-t-il six = y
?si
y ∈ f v(t)
?Moralit ´e : t
x
(∀y, P ) := ∀y,
tx
P
et tx
(∃y, P ) = ∃y,
tx
P
six6=yety /∈f v(t)
sinon, renommer
y
en l’ ´echangeant avec variablefraichez
:(yz)P
S ´emantique : termes Il nous faut :
– un univers (s ´emantique)Upour interpr ´eter les termes
– une interpr ´etationf˜de tous les constructeurs de termes
f
, `a savoir sif
est d’arit ´en
, une fonctionf ˜
deU
ndansU
S ´emantique d’un termet: par r ´ecurrence sur
t
et sit
est une variablex
?Interpr ´etation
[t]
Id’un termet
est parametr ´ee par valuation qui interpr `ete les variables versU
, ce qui donne :[x]
I:= I(x)
[f (t
1, . . . , t
n)]
I:= ˜ f ([t
1]
I, . . . , [t
n]
I)
45
S ´emantique : propositions Il nous faut :
– une interpr ´etationp˜de toutes les propositions atomiques
p
, `a savoir sip
est d’arit ´en
, une fonctionp ˜
deU
nversB
S ´emantique d’une propositionP : par r ´ecurrence sur
P
d ´epend toujours de l’interpr ´etationI
des variablelibresdeP
[p(t
1, . . . , t
n)]
I:= ˜ p([t
1]
I, . . . , [t
n]
I) [A ∧ B]
I:= f
∧([A]
I, [B]
I) . . .
[∀x, P ]
I:= min{[P ]
I,x7→u| u ∈ U}
[∃x, P ]
I:= max{[P ]
I,x7→u| u ∈ U}
46
Mod `eles & co.
Un mod `ele d’une proposition
P
est maintenant : – un universU
non-vide– une interpr ´etation
f ˜
pour chaquef ∈ Σ
etp ˜
pour chaquep ∈ Ψ
– une interpr ´etationI(x) ∈ U
pour chaque variablex ∈ f v(P )
tels que[P ]
I= T
Dans le cas particulier o `u
f v(P ) = ∅
(on dit queP
estclos), cela ne d ´epend que de l’universU
et de l’interpr ´etation˜
Rebelotte D ´efinitions:
–
A
estsatisfiables’il a un mod `ele–
A
estvalide, not ´e| = A
, si toutes les structures ci-dessus en sont des mod `eles–
B
est unecons ´equence s ´emantiquedeA
(not ´eA | = B
) si tout mod `ele deA
est aussi un mod `ele deB
–
A
etB
sonts ´emantiquement ´equivalents, not ´eA ≡ B
, siA | = B
etB | = A
Th ´eor `eme:
A
est satisfiable (resp. valide) si et seulement si¬A
n’est pas valide (resp. satisfiable)Syst `eme de preuve ! G3 version logique du 1er ordre M ˆeme r `egles qu’en propositionnel, plus
Γ ⊢ P, ∆
x 6∈ f v(Γ, ∆) Γ ⊢ (∀x, P ), ∆
Γ, (∀x, P ),
tx
P ⊢ ∆
Γ, (∀x, P ) ⊢ ∆
Γ ⊢
tx
P, (∃x, P ), ∆ Γ ⊢ (∃x, P ), ∆
Γ, P ⊢ ∆
x 6∈ f v(Γ, ∆) Γ, (∃x, P ) ⊢ ∆
A nouveau : Dualit ´e de De Morgan entre
∀
et∃
49
G3 : Correction et compl ´etude Th ´eor `eme
A
1, . . . , A
n⊢
G3B
1, . . . , B
m si et seulement siA
1∧ . . . ∧ A
n| = B
1∨ . . . ∨ B
m D ´emonstration :– du haut vers le bas : comme d’hab. par r ´ecurrence sur la hauteur de la d ´erivation
– du bas vers le haut :Oula ! ! !
Il faut construire un mod `ele, avec un
U
et un˜
! ! !A partir de quoi ? La syntaxe quotient ´ee. . . mod `eles syntaxiques. . .
50
Questions?
Cours 4 :
R ´esolution Programmation logique
Un petit point sur le buveur Si le bar est vide, le th ´eor `eme est faux.
Deux visions :
Premi `ere vision: `a la “Th ´eorie des types”
on enregistre `a quelles variables libres on a droit :
Γ ⊢
Φ,xP, ∆
Γ ⊢
Φ(∀x, P ), ∆
Γ, (∀x, P ),
tx
P ⊢
Φ∆
f v(t) ⊆ Φ Γ, (∀x, P ) ⊢
Φ∆
Γ ⊢
Φtx
P, (∃x, P ), ∆
f v(t) ⊆ Φ Γ ⊢
Φ(∃x, P ), ∆
Γ, P ⊢
Φ,x∆ Γ, (∃x, P ) ⊢
Φ∆
53
Un petit point sur le buveur
Du coup,
⊢
∅∃x, (p(x) ⇒ ∀y, p(y))
n’est pas un s ´equent prouvable. . . . . .sans constante de terme (=constructeur de terme d’arit ´e 0)par exemple ici : le barman ? par contre,
⊢
z∃x, (p(x) ⇒ ∀y, p(y))
est d ´erivable !ainsi que
(∃z, ⊤) ⊢
∅∃x, (p(x) ⇒ ∀y, p(y))
54
Un petit point sur le buveur Deuxi `eme vision: `a la “Logique du premier ordre”
Les r `egles sont celles que j’ai pr ´esent ´ees au cours 3 :
Γ ⊢ P, ∆
x 6∈ f v(Γ, ∆) Γ ⊢ (∀x, P ), ∆
Γ, (∀x, P ),
tx
P ⊢ ∆
Γ, (∀x, P ) ⊢ ∆
Γ ⊢
tx
P, (∃x, P ), ∆ Γ ⊢ (∃x, P ), ∆
Γ, P ⊢ ∆
x 6∈ f v(Γ, ∆) Γ, (∃x, P ) ⊢ ∆
Du coup,
⊢ ∃x, (p(x) ⇒ ∀y, p(y))
est prouvable.Un petit point sur le buveur Les deux versions ne prouvent pas les m ˆemes th ´eor `emes !
(. . .sauf si la signature poss `ede une constante de terme) La version “Th ´eorie des types” est correcte et compl `ete vis- `a-vis de la notion de mod `ele :
– un univers
U
– une interpr ´etation
f ˜
pour chaquef ∈ Σ
etp ˜
pour chaquep ∈ Ψ
– une interpr ´etationI(x) ∈ U
pour chaque variablex ∈ f v(P )
tels que[P ]
I= T
D ´efinition
A
1, . . . , A
n| = B
si tout mod `ele deA
1, . . .,A
nest un mod `ele deB
Th ´eor `emeA
1, . . . , A
n⊢
G3B
1, . . . , B
m ssiA
1, . . . , A
n| = B
1∨ . . . ∨ B
mUn petit point sur le buveur
La version “Logique du premier ordre” est correcte et compl `ete vis- `a-vis de la notion de mod `ele :
– un univers
U
non-vide– une interpr ´etation
f ˜
pour chaquef ∈ Σ
etp ˜
pour chaquep ∈ Ψ
– une interpr ´etationI(x) ∈ U
pour chaque variablex ∈ f v(P )
tels que[P ]
I= T
D ´efinition
A
1, . . . , A
n| = B
si tout mod `ele deA
1, . . .,A
nest un mod `ele deB
Th ´eor `emeA
1, . . . , A
n⊢
G3B
1, . . . , B
m ssiA
1, . . . , A
n| = B
1∨ . . . ∨ B
m Notez que si la signature poss `ede une constante de termec, les deux notions de mod `eles co¨ıncident puisquec˜forceU `a ne pas ˆetre vide57
Inconv ´enients de G3 au 1er ordre Contrairement au cas propositionnel,
application (bottom-up) de certaines r `egles ne font pas diminuer le nombre de connecteurs
=⇒La hauteur des preuves d’un th ´eor `eme donn ´e n’a pas de borne.
=⇒La prouvabilit ´e est ind ´ecidable (Th ´eor `eme de Church).
proc ´edure de semi-d ´ecision : un algorithme qui, ´etant donn ´e un probl `eme, – s’arr ˆetera en r ´epondant oui si sa r ´eponse estoui
– s’arr ˆetera en r ´epondant nonou ne s’arr ˆetera passi sa r ´eponse estnon Un algo. de semi-d ´ecision pour la prouvabilit ´e :
on ´enum `ere tous les arbres d ´ecor ´es par des s ´equents,
on v ´erifie pour chacun s’il s’agit d’une preuve du th ´eor `eme demand ´e Tr `es b ˆete.
58
Inconv ´enients de G3 au 1er ordre Peut-on faire plus intelligent ?
. . .mmm. . .de toute fac¸on, les r `egles
Γ, (∀x, P ),
tx
P ⊢ ∆
Γ, (∀x, P ) ⊢ ∆
Γ ⊢
tx
P, (∃x, P ), ∆ Γ ⊢ (∃x, P ), ∆
n ´ecessitent de sortir
t
du chapeau. Il semble n ´ecessaire d’ ´enum ´erer tous lest
jusqu’ `a ce qu’on trouve le bon. . .r(986) ⊢ (∃y, r(y))
Reprenons depuis le d ´ebut
Soit
A
une formule du 1er ordre. On veut un algo (pas trop b ˆete) de semi-d ´ecision qui r ´eponde `a la question :Aest-elle prouvable/valide ? c’est- `a-dire
¬Aest-elle insatisfiable ? c’est- `a-dire
Best-elle insatisfiable ?. . .o `u
B
est. . . uneforme clausalede¬A
Forme clausale uneforme prenexede
A
:une formule logiquement ´equivalente `a
A
, de la formeQ
1x
1, . . . , Q
nx
n, C
avec tous les quantificateurs
Q
1. . . Q
nen t ˆete,C
sans quantificateurs.uneforme pr ´enexe skol ´emis ´eede
A
: une formule closeB
de la forme∀y
1, . . . , ∀y
m, D
avec
D
sans quantificateurs, telle queA
est satisfiable ssiB
satisfiable.(Toutes les variables libres ou quantifi ´ees existentiellement ont ´et ´e substitu ´ees avec des nouveaux constructeurs de termes)
61
Forme clausale :
uneforme normale conjonctive pr ´enexe skol ´emis ´eede
A
: la m ˆeme chose en imposant queD
est une grande conjonction de clauses, i.e. une formule de la forme∀y
1, . . . , ∀y
m, (l
11∨ . . . ∨ l
1p1) ∧ . . . ∧ (l
1q∨ . . . ∨ l
pqq)
(Rappelons qu’une clause est une disjonction de litt ´eraux, et qu’un litt ´eral
l
est une formule atomique ou la n ´egation d’une formule atomique) uneforme clausaledeA
:une conjonction de clauses closes, logiquement ´equivalente `a une forme normale conjonctive pr ´enexe skol ´emis ´ee de
A
, i.e. de la forme :(∀x
11. . . ∀x
1k1, l
11∨ . . . ∨ l
1p1) ∧ . . . ∧ (∀x
q1. . . ∀x
qkq, l
1q∨ . . . ∨ l
qpq)
avec
x
ij∈ f v(l
1i∨ . . . ∨ l
ipi)
62
Forme clausale
L’existence d’une telle forme, pour toute formule
A
, r ´esulte des exercices des TDs.Exemple:
¬(r(986) ⇒ ∃y, r(y))
devientr(986) ∧ ∀y, ¬r(y)
, la seconde ´etant bien insatisfiable ssi la premi `ere l’est(c’est- `a-dire ssi
r(986) ⇒ ∃y, r(y)
est valide)Pour ´economiser de la place, sans perdre d’information logique, on ne retient de
(∀x
11. . . ∀x
1k1
, C
1) ∧ . . . ∧ (∀x
q1. . . ∀x
qkq, C
q)
que l’ensemble des clauses
C
1, . . . , C
n, o `u la disjonction est associative + commutative (les clauses sont des multisets de litt ´eraux)M ´ethode de r ´esolution
La m ´ethode consiste `a d ´eduire de ces clauses de nouvelles clauses On enrichit ainsi notre catalogue de clauses connues
Ceci par 2 r `egles : La simplification
C ∨ l ∨ l C ∨ l
Lar ´esolutionC ∨ r(t
1, . . . , t
n) C
′∨ ¬r(t
′1, . . . , t
′n) σ(C ∨ C
′)
quel est
σ
? une substitution qui unifiet
1avect
′1,. . .,t
navect
′n on la noteσ = mgu(t
1= t
′1, . . . , t
n= t
′n)
Exemple : avec les clausesr(986)
et¬r(y)
,σ = mgu(986 = y)
est la substitution qui envoiey
sur986
M ´ethode de r ´esolution
Conclusion : appliquer la r `egle de r ´esolution aux
r(986)
et¬r(y)
vous donne la clause vide, i.e. la clause fausse(rappel :
C ∨ ⊥ ≡ C
). . .et donc notre ensemble de clauses
r(986)
et¬r(y)
´etait insatisfiable . . .et donc la formule¬(r(986) ⇒ ∃y, r(y))
´etait insatisfiable. . .et donc la formule
r(986) ⇒ ∃y, r(y)
´etait valide plus g ´en ´eralement. . .Correction et compl ´etude (pour les mod `eles non vides)
L’ensemble de clauses
C
1, . . . , C
nest insatisfiable si et seulement sion peut d ´eduire la clause vide en appliquant les r `egles de simplification et de r ´esolution
65
Dernier exemple Le buveur :
La formule
∃x,(p(x) ⇒ ∀y, p(y))
, `a valider, devient : l’ensemble des clausesp(x)
et¬p(f (z))
, `a insatisfier J’applique ma r `egle de r ´esolution :j’obtiens pour
σ = mgu(x = f(z))
la substitution qui envoiex
surf (z)
j’obtiens comme nouvelle clause : la clause videcqfd
66
mgu Questions :
Existe-il toujours une substitution
mgu(t
1= t
′1, . . . , t
n= t
′n)
? Comment l’obtiens-je dans les cas non-triviaux ?hehe. . .l’algorithme d’unification du 1er ordre
Reste `a faire – L’algo d’unif
– Extension de la logique du 1er ordre avec ´egalit ´e – Clauses de Horn et description de Prolog – Programmation logique d’op ´erations arithm ´etiques
Questions?
69
Cours 5 :
Logique du 1er ordre avec ´egalit ´e
70
Logique du 1er ordre avec ´egalit ´e
Symbole=/2 peut faire partie de la signature
Ψ
des propositions atomiquesNormalement, pr ´edicats atomiquespas concern ´espar r `egles d’inf ´erence (mais ´eventuellement r ´egis par axiomes/hypoth `eses)
Pour
=
, c’est un peu diff ´erent. Connecteur sp ´ecial : on veut((t = u) ∧ P (t)) ⇒ P (u)
pour toute propositionP Egalit ´e de Leibniz´ pas une hypoth `ese, maissch ´ema d’hypoth `eses
Solution : on traite
=
par des r `egles d’inf ´erence sp ´ecifiquesExtension de G3 pour
=
Γ ⊢ (t = t), ∆
Γ, (t = u) ⊢ (
tx
P ), ∆
Γ, (t = u) ⊢ ({
ux}P ), ∆
Exemple
Avec ces r `egles on d ´emontre la sym ´etrie et la transitivit ´e de
=
:∀x, ∀y, (x = y) ⇒ (y = x)
∀x, ∀y, ∀z, ((x = y) ∧ (y = z)) ⇒ (x = z)
73
S ´emantique de cette extension
Tr `es simple. Il faut interpr ´eter le pr ´edicat
=
dans le monde s ´emantique.Une mani `ere canonique : pour
a, b ∈ U
, on d ´efinit˜
=(a, b) = T
sia
etb
sont ´egaux (dansU
)˜
=(a, b) = F
sinonLe syst `eme G3 ´etendu avec les deux r `egles pour
=
est correct et complet vis- `a-vis de cette s ´emantique (o `u= ˜
est fixe)74