• Aucun résultat trouvé

Logique du premier ordre Deuxième partie : Interprétation d une formule

N/A
N/A
Protected

Academic year: 2022

Partager "Logique du premier ordre Deuxième partie : Interprétation d une formule"

Copied!
43
0
0

Texte intégral

(1)

Logique du premier ordre Deuxi `eme partie : Interpr ´etation d’une formule

Benjamin Wack

Universit ´e Grenoble Alpes

Mars 2021

(2)

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

)

(3)

Sens des formules

Interpr ´etation et substitution

Interpr ´etation finie : compl ´ements

Equivalences remarquables

Conclusion

(4)

Plan

Sens des formules

Interpr ´etation et substitution Interpr ´etation finie : compl ´ements Equivalences remarquables Conclusion

(5)

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.

(6)

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)

=

tIf0

3. sit

=

s

(

t1

, . . . ,

tn

)

avecsun symbole de fonction, alorsJtK(I,e)

=

sfnI

(

Jt1K(I,e)

, . . . ,

JtnK(I,e)

)

(7)

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

) =

8

(8)

Formules

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)

=

sIr0

3. Un termeA

=

s

(

t1

, . . . ,

tn

)

avecsun symbole de relation : I si(Jt1K(I,e), . . . ,JtnK(I,e))∈srnI alors [A](I,e)=1

I sinon[A](I,e)=0

(9)

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

=

vrai

I

[

ami

(

2

,

3

)]

I

=

vrai I

[

ami

(

1

,

3

)]

I

=

vrai

On 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.

(10)

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 2

(11)

Nous 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 .

(12)

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).

(13)

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 .

(14)

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)=mindD[B](I,e[x=d])=

dD

[B](I,e[x=d]),

vrai si[B](I,f)=1pour tout´etatfidentique `ae, sauf pourx.

3.

[∃xB](I,e)=maxdD[B](I,e[x=d])=

dD

[B](I,e[x=d]), vrai s’il y aun ´etatf identique `ae, sauf pourx, tel que[B](I,f)=1.

(15)

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.

(16)

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.

(17)

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 `u

I 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.

(18)

Plan

Sens des formules

Interpr ´etation et substitution

Interpr ´etation finie : compl ´ements Equivalences remarquables Conclusion

(19)

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

)

(20)

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)

(21)

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).

(22)

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.

(23)

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.38

SoientAune formule ett un terme libre pourx dansA.

Les formules

xA

A

<

x

:=

t

>

etA

<

x

:=

t

>⇒ ∃

xAsont valides.

(24)

Plan

Sens des formules

Interpr ´etation et substitution

Interpr ´etation finie : compl ´ements

Equivalences remarquables Conclusion

(25)

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.

(26)

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.

(27)

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.

(28)

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.

(29)

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

.

(30)

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).

(31)

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.

(32)

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.

(33)

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 `ele

deF.

3. Choisissonsa

=

0

I 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

) =

1

(34)

Logiciel 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/

(35)

Sens des formules

Interpr ´etation et substitution Interpr ´etation finie : compl ´ements Equivalences remarquables

Conclusion

(36)

Relations entre ∀ et ∃

Lemme 4.4.1

SoientAune formule etx une variable :

¬∀

xA

≡ ∃

x

¬

A

xA

≡ ¬∃

x

¬

A

¬∃

xA

≡ ∀

x

¬

A

xA

≡ ¬∀

x

¬

A

On prouve les deux premi `eres identit ´es.

(37)

[¬∀

xA

]

(I,e)

=

1

− [∀

xA

]

(I,e)

=

1

− min

dD

[

A

]

(I,e[x=d])

= max

dD 1

− [

A

]

(I,e[x=d])

= max

dD

A

]

(I,e[x=d])

= [∃

x

¬

A

]

(I,e)

Preuve de

xA

≡ ¬∃

x

¬

A: Transformons

xA

≡ ¬¬∀

xA

≡ ¬∃

x

¬

A (ci-dessus)

(38)

D ´eplacement des quantificateurs

Soientx,y deux variables etA,Bdeux formules.

1.

x

yA

≡ ∀

y

xA 2.

x

yA

≡ ∃

y

xA

3.

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

(39)

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)

(40)

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

)

(41)

Sens des formules

Interpr ´etation et substitution Interpr ´etation finie : compl ´ements Equivalences remarquables Conclusion

(42)

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)

(43)

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 ?

Références

Documents relatifs

• Troisi`eme g´en´eration: langages de plus haut niveau comme Fortran, C ou Lisp. • Quatri`eme g´en´eration: langages `a applications sp´ecifiques comme SQL

Les nouvelles interpr´ etations ont toutes la propri´ et´ e de sym´ etrie qu’avaient ´ etablie pour la premi` ere fois Dumont et Foata [DumFoa].. Enfin, une propri´ et´ e de

1 Sous-espaces vectoriels stables. 40 2 Polynˆomes d’un endomorphisme. 40 2.1 Puissance d’un endomorphisme. 40 2.2 Polynˆomes d’un endomorphisme ou d’une matrice. 41 3

La deuxi` eme difficult´ e entraˆıne que mˆ eme une interpr´ etation du vocabulaire non-logique ne suffira pas comme interpr´ etation de notre langue, puisque nous devons interpr´

Dans la logique du second ordre, on utilise un deuxi`eme type de variables, appel´ees variables du second ordre, qui repr´esentent des relations.. LIAFA, CNRS et Universit´ e

De la mˆeme mani`ere dans le λµ µ-calcul simplement typ´e, on va identifier deux termes qui ˜ se r´eduisent en la mˆeme forme normale quand il sont plac´es dans un contexte

Incertitude et impr´ ecision en traitement et interpr´ etation d’images. Elles sont

D´eterminer les ´equations r´eduites des droites (AB) et