Logique du premier ordre Deuxi `eme partie : Interpr ´etation d’une formule
Benjamin Wack
Universit ´e Grenoble Alpes
Mars 2021
Quelques exemples
Traduire en logique du premier ordre : I Il y a des gens qui s’aiment.
∃
x∃
y(
a(
x,
y) ∧
a(
y,
x))
I Si deux personnes s’aiment l’une l’autre, alors elles sont conjointes.
∀
x∀
y(
a(
x,
y) ∧
a(
y,
x) ⇒
c(
x) =
y∧
c(
y) =
x)
I On ne peut pas aimer deux personnes `a la fois.∀
x∀
y(
a(
x,
y) ⇒ ∀
z(
a(
x,
z) ⇒
y=
z))
∀
x∀
y∀
z(
a(
x,
y) ∧
a(
x,
z) ⇒
y=
z)
Sens des formules
Interpr ´etation et substitution
Interpr ´etation finie : compl ´ements
Equivalences remarquables
Conclusion
Plan
Sens des formules
Interpr ´etation et substitution Interpr ´etation finie : compl ´ements Equivalences remarquables Conclusion
I Pour une formuleavec des variables libres, nous avons besoin d’une assignation
(
I,
e)
dont l’ ´etat est pr ´ecis ´e.I Pour une formulesans variable libre, il suffit de donner une interpr ´etationIdes symboles de la formule.
En effet
(
I,
e)
et(
I,
e0)
donneront la m ˆeme valeur `a toutes les formules :on assimile donc
(
I,
e)
etI.Termes
D ´efinition 4.3.25Evaluation´ D ´efinition inductive :
1. sitest une variable, alorsJtK(I,e)
=
e(
t)
2. sitest une constante alorsJtK(I,e)=
tIf03. sit
=
s(
t1, . . . ,
tn)
avecsun symbole de fonction, alorsJtK(I,e)=
sfnI(
Jt1K(I,e), . . . ,
JtnK(I,e))
Soit la signatureaf0
,
ff2,
gf2.SoitIl’interpr ´etation de domaineNdans laquelle : I aest interpr ´et ´e par l’entier 1 ;
I f est interpr ´et ´ee comme le produit ; I gest interpr ´et ´ee comme la somme.
Soitel’ ´etat tel quee
(
x) =
2 ande(
y) =
3.CalculonsJf
(
x,
g(
y,
a))
K(I,e).Jf
(
x,
g(
y,
a))
K(I,e)=
JxK(I,e)∗
Jg(
y,
a)
K(I,e)=
JxK(I,e)∗ (
JyK(I,e)+
JaK(I,e))
=
e(
x) ∗ (
e(
y) +
1)
=
2∗ (
3+
1) =
8Formules
D ´efinition 4.3.27Sens des formules atomiques
Une formule atomique est de l’une des trois formes suivantes : 1. Une constante propositionnelle :
[>]
(I,e)=
1 et[⊥]
(I,e)=
0 2. Une variable propositionnelle :[
s]
(I,e)=
sIr03. Un termeA
=
s(
t1, . . . ,
tn)
avecsun symbole de relation : I si(Jt1K(I,e), . . . ,JtnK(I,e))∈srnI alors [A](I,e)=1I sinon[A](I,e)=0
Soit l’interpr ´etationIde domaineD={1,2,3}donn ´ee par amiIr2={(1,2),(1,3),(2,3)}
Comment interpr ´eter la formuleami
(
1,
2) ∧
ami(
2,
3) ⇒
ami(
1,
3)
dansI?On sait interpr ´eter les formules atomiques : I
[
ami(
1,
2)]
I=
vraiI
[
ami(
2,
3)]
I=
vrai I[
ami(
1,
3)]
I=
vraiOn peut alors proc ´eder comme d’habitude avec les connecteurs, d’o `u
[
ami(
1,
2) ∧
ami(
2,
3) ⇒
ami(
1,
3)]
I=
vrai:Cette formule est vraiedans l’interpr ´etationI.
Exemple 4.3.19
On consid `ere la signature suivante :
I Annef0,Bernardf0etClaudef0: constantes
I ar2: relation `a deux arguments (a
(
x,
y)
signifiex aimey) I cf1: fonction `a un argument (c(
x)
d ´enote le conjoint dex) Une interpr ´etation possible sur cette signature est l’interpr ´etationIde domaineD= {
0,
1,
2}
o `u :I Annef0I
=
0,BernardIf0=
1, etClaudeIf0=
2 I ar2I= {(
0,
1),(
1,
0), (
2,
0)}
I cfI1est une fonction deDdansDqu’on d ´efinit par
x 0 1 2
cIf1
(
x)
1 0 2Nous obtenons :
I
[
a(
Anne,
Bernard)]
I=
vraicar
(
JAnneKI,
JBernardKI) = (
0,
1) ∈
ar2I . I[
a(
Anne,
Claude)]
I=
faux car
(
JAnneKI,
JClaudeKI) = (
0,
2) 6∈
ar2I .Exemple 4.3.29
Soitel’ ´etatx
=
0,
y=
2. Nous avons : I[
a(
x,
c(
x))]
(I,e)=
vraicar
(
JxK(I,e),
Jc(
x)
K(I,e)) = (
0,
cfI1(
0)) = (
0,
1) ∈
ar2I . I[
a(
y,
c(
y))]
(I,e)=
faux car
(
JyK(I,e),
Jc(
y)
K(I,e)) = (
2,
cIf1(
2)) = (
2,
2) 6∈
ar2I . Ici on a utilis ´evraietfaux au lieu des valeurs de v ´erit ´e 0,
1 pour les distinguer des ´el ´ements 0,
1 du domaine (attention suivant le contexte).Nous avons :
I
[(
Anne=
Bernard)]
I=
faux, car
(
JAnneKI,
JBernardKI) = (
0,
1)
et(
0,
1) 6∈=
r2I . I[(
c(
Anne) =
Anne)]
I=
faux, car
(
Jc(
Anne)
KI,
JAnneKI) = (
cIf1(
0),
0) = (
1,
0)
. I[(
c(
c(
Anne)) =
Anne)]
I=
vrai, car
(
Jc(
c(
Anne))
KI,
JAnneKI) = (
cIf1(
cIf1(
0)),
0) = (
0,
0)
et(
0,
0) ∈=
r2I .Sens des formules non atomiques 4.3.30
1. Les connecteurs propositionnels ont le m ˆeme sens qu’en logique propositionnelle.
2. Notonse[x=d]l’ ´etat identique `a l’ ´etate, sauf pourx.
[∀xB](I,e)=mind∈D[B](I,e[x=d])=
∏
d∈D
[B](I,e[x=d]),
vrai si[B](I,f)=1pour tout´etatfidentique `ae, sauf pourx.
3.
[∃xB](I,e)=maxd∈D[B](I,e[x=d])=
∑
d∈D
[B](I,e[x=d]), vrai s’il y aun ´etatf identique `ae, sauf pourx, tel que[B](I,f)=1.
Utilisons l’interpr ´etationIdonn ´ee dans l’exemple 4.3.19.
(RappelD
= {
0,
1,
2}
) I[∃
x a(
x,
x)]
I= max{[
a(
0,
0)]
I,[
a(
1,
1)]
I,[
a(
2,
2)]
I} =
faux= [
a(
0,
0)]
I+ [
a(
1,
1)]
I+ [
a(
2,
2)]
I=
faux+
faux+
faux=
faux. I[∀
x∃
y a(
x,
y)]
I= min{max{[
a(
0,
0)]
I, [
a(
0,
1)]
I, [
a(
0,
2)]
I}, max{[
a(
1,
0)]
I, [
a(
1,
1)]
I, [
a(
1,
2)]
I}, max{[
a(
2,
0)]
I, [
a(
2,
1)]
I, [
a(
2,
2)]
I}}
= min{max{
faux,
vrai,
faux}, max{
vrai,
faux,
faux}, max{
vrai,
faux,
faux}}
= min{
vrai,
vrai,
vrai} =
vrai.Exemple 4.3.32
I [∃y∀x a(x,y)]I
= [a(0,0)]I.[a(1,0)]I.[a(2,0)]I+ [a(0,1)]I.[a(1,1)]I.[a(2,1)]I +[a(0,2)]I.[a(1,2)]I.[a(2,2)]I
=faux.vrai.vrai+vrai.faux.faux+faux.faux.faux
=faux+faux+faux=faux.
Remarque 4.3.33
Les formules∀x∃y a(x,y)et∃y∀x a(x,y)n’ont pas la m ˆeme valeur.
En intervertissant un∃et un∀, on ne pr ´eservepasle sens des formules.
Ces notions sont d ´efiniescomme en logique propositionnellemais...
Pour donner une valeur `a une formule
I En logique propositionnelle: assignationV
→ {
0,
1}
I En logique du premier ordre:(
I,
e)
o `uI Iest une interpr ´etation des symboles I eun ´etat des variables.
... on utilise une interpr ´etation au lieu d’une assignation.
La valeur d’une formule ne d ´epend que : I de l’ ´etat de ses variables libres I et de l’interpr ´etation de ses symboles.
Plan
Sens des formules
Interpr ´etation et substitution
Interpr ´etation finie : compl ´ements Equivalences remarquables Conclusion
Substituer une variablepropositionnelledans une formule valide donne une formule valide.
Exemple :
Soitσ(p
) = ∀
x q(
x)
.p
∨ ¬
pest valide, il en est de m ˆeme de la formule σ(p∨ ¬
p) = ∀
x q(
x) ∨ ¬∀
x q(
x)
Le principe deremplacementest encore valable aussi car : Pour toutes formulesAetBet toute variablex :
I
(
A⇔
B) | = (∀
xA⇔ ∀
xB)
I(
A⇔
B) | = (∃
xA⇔ ∃
xB)
Instanciation d’une variable dans un terme
D ´efinition 4.3.34
A
<
x:=
t>
est la formule obtenue en remplac¸ant dansAtoute occurrencelibredex part.Exemple 4.3.35
SoitAla formule(∀xP(x)∨Q(x)), la formuleA
<
x:=
b>
vaut (∀xP(x)∨Q(b))car seule l’occurrence en gras dex est libre.Mais on ne peut pas substituer n’importe quoi : Exemple 4.3.37
SoitAla formule
∃
yp(
x,
y)
.I A
<
x:=
y>= ∃
yp(
y,
y)
(ph ´enom `ene de capture)Exemple 4.3.37
Soitpune relation binaire interpr ´et ´ee sur
{
0,
1}
parpI= {(
0,
1)}
Soiteun ´etat o `uy
=
0.I
[
A<
x:=
y>]
(I,e)=
[∃
yp(
y,
y)]
(I,e)= [
p(
0,
0)]
(I,e)+ [
p(
1,
1)]
(I,e)=
faux+
faux=
faux. I Soitd=
0.Dans l’assignation
(
I,
e[
x=
d])
, nous avonsx=
0.Donc
[
A]
(I,e[x=d])=
[∃
yp(
x,
y)]
(I,e[x=d])= [
p(
0,
0)]
(I,e)+ [
p(
0,
1)]
(I,e)=
faux+
vrai=
vrai.Ainsi,[A<x :=y >](I,e)6= [A](I,e[x=d]), pourd
=
JyK(I,e).Instanciation d’une variable dans un terme : pr ´ecautions
Solution : notion de termetlibre pour une variable D ´efinition 4.3.34
2. t estlibre pourx dansAsi les variables det ne sont pas li ´ees dans les occurrences libres dex.
Exemple 4.3.35
I Le termef(z)est libre pourx dans la formule∃yp(x,y). I Par contre le termey n’est pas libre pourx dans cette formule.
I Par d ´efinition, le termex est libre pourxdans toute formule.
Th ´eor `eme 4.3.36
SoientAune formule ett un terme libre pour la variablexdansA.
Pour toute assignation
(
I,
e)
nous avons[
A<
x:=
t>]
(I,e)= [
A]
(I,e[x=d]) o `ud=
JtK(I,e). Corollaire 4.3.38SoientAune formule ett un terme libre pourx dansA.
Les formules
∀
xA⇒
A<
x:=
t>
etA<
x:=
t>⇒ ∃
xAsont valides.Plan
Sens des formules
Interpr ´etation et substitution
Interpr ´etation finie : compl ´ements
Equivalences remarquables Conclusion
Recherche de mod `eles `an ´el ´ementspar r ´eduction au cas propositionnel
Cas simple :formule n’ayantni symbole de fonction ni constante, sauf des repr ´esentations d’entiers inf ´erieurs `an.
Construction du mod `ele `an ´el ´ements
1. suppression des quantificateurs parexpansionsur un domaine `a n ´el ´ements,
2. remplacement des ´egalit ´espar leur valeur
3. recherche d’uneassignation propositionnelle des formules atomiquesqui soit mod `ele de la formule.
Propri ´et ´e de la n-expansion
Th ´eor `eme 4.3.41
SoitAune formule ne comportant que des entiers
<
n.SoitBlan-expansion deA.
Toute interpr ´etation de domaine
{
0, . . . ,
n−
1}
attribue la m ˆeme valeur`aAet `aB.
Preuve : par r ´ecurrence sur la taille des formules.
SoitAune formule : I ferm ´ee
I sans quantificateur,
I sans ´egalit ´e ni symbole de fonction,
I sans constante sauf des repr ´esentations d’entiers inf ´erieurs `an.
SoitPl’ensemble des formules atomiques deA(sauf
>
et⊥
).Th ´eor `eme 4.3.42
Pour toute assignation propositionnellev
:
P→ {
faux,
vrai}
il existe une interpr ´etationI deAtelle que[
A]
I= [
A]
v.Exemple 4.3.43
Soitv l’assignation d ´efinie par
[
p(
0)]
v=
vraiet[
p(
1)]
v=
faux.vdonne la valeurfaux `a la formule
(
p(
0) +
p(
1)) ⇒ (
p(
0).
p(
1))
. L’interpr ´etationId ´efinie parpI= {
0}
donne les m ˆemes valeurs aux m ˆemes formules.vetIsont deux fac¸ons analogues de pr ´esenter une interpr ´etation.
SoitAune formule ferm ´ee, sans quantificateur, sans ´egalit ´e, sans symbole de fonction, sans constante sauf des entiers
<
n.SoitPl’ensemble des formules atomiques deA.
Th ´eor `eme 4.3.44
Pour toute interpr ´etationIil existe une assignation v
:
P→ {
faux,
vrai}
tq[
A]
I= [
A]
v.
Correction de la m ´ethode
n-expansion simplifications
A
−→
B−→
C−→
C(1er ordre) ≡n (sans∀∃) ≡ (sans const.) u (propos.)
I
[
A]
I= [
B]
Ipour touteIsur un domaine de taillen I B≡
Cpar construction (donc[
B]
I= [
C]
Ipour touteI) I I A toute` vcorrespond uneItelle que[C]I= [C]v.I A toute` Icorrespond unevtelle que[C]I= [C]v.
Aa donc un mod `eleIsur un domaine de taillen si et seulement si
Ca un mod `elev (etv permet de retrouverIle cas ´ech ´eant).
symbole de fonction
SoitAune formule ferm ´ee pouvant comporter des repr ´esentations d’entiers de valeur inf ´erieure `an.
Proc ´edure
I RemplacerApar san-expansion.
I Enum ´erer les choix des valeurs des symboles, en propageant le plus possible chacun des choix effectu ´es.
Similaire `al’algorithme deDPLL.
Exemple 4.3.46 : A = ∃ yP ( y ) ⇒ P ( a )
On cherche un contre-mod `ele `a 2 ´el ´ements.
2-expansion deA
P
(
0) +
P(
1) ⇒
P(
a)
Il reste `a trouver les valeurs deP(
0)
,P(
1)
eta.On choisit (arbitrairement)a
=
0 :P
(
0) +
P(
1) ⇒
P(
0)
P
(
0) =
faux,
P(
1) =
vraiest un contre-mod `ele propositionnel, on en d ´eduit une interpr ´etationItelle quePI= {
1}
.Un contre-mod `ele estIde domaine
{
0,
1}
telle quePI= {
1}
etaI=
0.1. 2-expansion :
F
= {
P(
a), (
P(
0) ⇒
P(
f(
0))).(
P(
1) ⇒
P(
f(
1))),¬
P(
f(
b))}
. 2. On cherche des valeurs deP(
0)
,P(
1)
,a,b,f(
0)
etf(
1)
mod `eledeF.
3. Choisissonsa
=
0I DeP(a) =vraieta=0, on d ´eduit :P(0) =vrai
I DeP(0) =vraiet de(P(0)⇒P(f(0))) =vrai, on d ´eduit : P(f(0)) =vrai
I DeP(f(b)) =fauxet deP(f(0)) =vrai, on d ´eduitf(0)6=f(b) donc queb6=0, donc :b=1 etP(f(1)) =faux
I DeP(f(1)) =fauxetP(0) =vrai, on d ´eduitf(1)6=0 donc : f(1) =1 etP(1) =faux
I DeP(f(0)) =vraietP(1) =faux, on d ´eduit :f(0) =0 Mod `ele:a
=
0,
b=
1,
P= {
0},
f(
0) =
0,
f(
1) =
1Logiciel pour construire un mod `ele fini
MACE
I traductiondes formules du premier ordre en formules propositionnelles
I algorithmes performants pour trouver la satisfaisabilit ´ed’une formule propositionnelle (par exempleDPLL)
http://www.cs.unm.edu/˜mccune/mace4 Un exemple concret :
http://www.cs.unm.edu/˜mccune/mace4/examples/2009-11A/
mace4-misc/
Sens des formules
Interpr ´etation et substitution Interpr ´etation finie : compl ´ements Equivalences remarquables
Conclusion
Relations entre ∀ et ∃
Lemme 4.4.1
SoientAune formule etx une variable :
¬∀
xA≡ ∃
x¬
A∀
xA≡ ¬∃
x¬
A¬∃
xA≡ ∀
x¬
A∃
xA≡ ¬∀
x¬
AOn prouve les deux premi `eres identit ´es.
[¬∀
xA]
(I,e)=
1− [∀
xA]
(I,e)=
1− min
d∈D[
A]
(I,e[x=d])= max
d∈D 1− [
A]
(I,e[x=d])= max
d∈D[¬
A]
(I,e[x=d])= [∃
x¬
A]
(I,e)Preuve de
∀
xA≡ ¬∃
x¬
A: Transformons∀
xA≡ ¬¬∀
xA≡ ¬∃
x¬
A (ci-dessus)D ´eplacement des quantificateurs
Soientx,y deux variables etA,Bdeux formules.
1.
∀
x∀
yA≡ ∀
y∀
xA 2.∃
x∃
yA≡ ∃
y∃
xA3.
∀
x(
A∧
B) ≡ (∀
xA∧ ∀
xB)
4.∃
x(
A∨
B) ≡ (∃
xA∨ ∃
xB)
5. SoientQun quantificateur et
◦
un des connecteurs∧, ∨
Six n’est pas une variable libre deAalors :5.1 Qx A≡A,
5.2 Qx(A◦B)≡A◦Qx B
Nous ´eliminons de ces deux formules les quantificateurs inutiles : I
∀
x∃
xP(
x) ≡
∃xP(x)
I
∀
x(∃
xP(
x) ∨
Q(
x)) ≡
∃xP(x)∨ ∀xQ(x)
Changement de variables li ´ees (1/3)
Th ´eor `eme 4.4.3
SoitQun quantificateur.
Siy ne figure pasdansQx Aalors : Qx A
≡
Qy A<
x:=
y>
Exemple 4.4.4
I
∀
x p(
x,
z) ≡ ∀
y p(
y,
z)
I∀
x p(
x,
z) 6≡ ∀
z p(
z,
z)
Sens des formules
Interpr ´etation et substitution Interpr ´etation finie : compl ´ements Equivalences remarquables Conclusion
Aujourd’hui
I Evaluer´ une formule = choisir uneinterpr ´etationpour ses symboleset un ´etatpour sesvariables
I Adaptation de la m ´ethode desexpansionsaux formulesavec symboles de fonction
I Equivalences remarquables´ `a propos des quantificateurs (attention,pas de notion de forme normaleutilisable)
I Skol ´emisation
I Semi-algorithme pour montrer qu’une formule est insatisfaisable.
A chercher`
Tous les hommes sont mortels.
Socrate est un homme.
Donc Socrate est mortel.
I Rechercher un contre-mod `ele par 1-expansion puis par 2-expansion.
I Que peut-on en conclure ?