• Aucun résultat trouvé

Programmation logique

N/A
N/A
Protected

Academic year: 2022

Partager "Programmation logique"

Copied!
19
0
0

Texte intégral

(1)

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

(2)

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

(3)

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 ´ematiques

Grande avanc ´ee :v ´erit ´e

= ⇒

prouvabilit ´e

Une 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 que

F ∈ F

ou est-ce que

F / ∈ F

?. . .

Questions meta-math ´ematiques, suite

– Etant donn ´e une proposition

P

, existe-t-il toujours soit une preuve de

P

soit une preuve de

¬P

? (in)compl ´etude1

NON(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

, qui

r ´eponde NON sinon ? (in)d ´ecidabilit ´e

NON(Church, Turing)

Ces trois r ´eponses datent des ann ´ees 30.

(4)

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)

(5)

Clivage syntaxe/s ´emantique `a deux niveaux Une proposition parle d’objets (d’ ´etudes).

Niveau objet: les structures syntaxiques

4

et

IV

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 ´efinitioninductive

Propositions = 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 fonction

f

de

B

ndans

B

(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 que

B

soit unealg `ebre de Boole

Exemple d’alg `ebre de Boole:

B

est l’ensemble des parties d’un ensemble

X

(quelconque), avec

f

(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

()

T

f

()

F

(6)

S ´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 propositions

Un param `etre : l’interpr ´etation

I

des variables propositionelles

p, q, r, . . .

, ditevaluation.Exempleavec les bool ´eens :

I(p) =

T ou

I(p) =

F.

L’interpr ´etation

[A]

Id’une d’une proposition

A

selon la valuation

I

est d ´efinie par r ´ecurrence sur

A

:

[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 `elede

A

si

[A]

I

=

T

A

estsatisfiables’il y a une valuation qui est un mod `ele de

A

A

estvalidesi toute valuation est un mod `ele de

A

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 Si

A

poss `ede

n

variables propositionnelles, on a

2

ncas `a tester ! Exemple en exercice avec((p⇒q)⇒p)⇒p

22

Cons ´equence s ´emantique (parfois dite logique) D ´efinition

B

est unecons ´equence s ´emantiquede

A

, not ´e

A | = B

si tout mod `ele de

A

est aussi un mod `ele de

B

A

et

B

sonts ´emantiquement ´equivalents, not ´e

A ≡ B

, si

A | = B

et

B | = 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

(7)

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 importent

A, 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 formules

A

telles que

f (A) > 0

)

f (A)

´etant le nombre d’occurrences de

A

dans le multiset

(8)

Le 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 est

A

1

∧ . . . ∧ A

n

⇒ B

1

∨ . . . ∨ B

m

Uned ´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, . . . , AnS 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

S

B

1

, . . . , B

msi et seulement si

A

1

∧ . . . ∧ A

n

| = B

1

∨ . . . ∨ B

m)

30

Sch ´emas et instances Sch ´ema :

⊢ A ⊢ B

⊢ A ∧ B

o `u

A

,

B

d ´enotent des formules arbitraires Instances (exemples) :

⊢ c ⊢ c

⊢ c ∧ c

⊢ ¬c ⊢ ¬c

⊢ ¬c ∧ ¬c

· · ·

pour les variables propositionnelles particuli `eres

c

et

c

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, ∆

(9)

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

G3

B

1

, . . . , B

m si et seulement si

A

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

(10)

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

)

si

f /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 )

si

p/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.

(11)

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’importance

Plus 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 dans

t

, elles forment l’ensemble

f 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

α

-conversion

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

y

, et vice versa

∃x, P

est identifi ´e avec

∃y, (xy)P

si

y 6∈ f v(P )

∀x, P

est identifi ´e avec

∀y, (xy)P

si

y 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 terme

t

) sur les termes :t

x

t

trivial.

sur les propositions :t

x

P

ATTENTION quand vous d ´efinissezt

x

(∀y, P)

ett

x

(∃y, P)

! ! ! Que se passe-t-il si

x = y

?

si

y ∈ f v(t)

?

Moralit ´e : t

x

(∀y, P ) := ∀y,

t

x

P

et t

x

(∃y, P ) = ∃y,

t

x

P

six6=yety /∈f v(t)

sinon, renommer

y

en l’ ´echangeant avec variablefraiche

z

:

(yz)P

(12)

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 si

f

est d’arit ´e

n

, une fonction

f ˜

de

U

ndans

U

S ´emantique d’un termet: par r ´ecurrence sur

t

et si

t

est une variable

x

?

Interpr ´etation

[t]

Id’un terme

t

est parametr ´ee par valuation qui interpr `ete les variables vers

U

, 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 si

p

est d’arit ´e

n

, une fonction

p ˜

de

U

nvers

B

S ´emantique d’une propositionP : par r ´ecurrence sur

P

d ´epend toujours de l’interpr ´etation

I

des variablelibresde

P

[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 univers

U

non-vide

– une interpr ´etation

f ˜

pour chaque

f ∈ Σ

et

p ˜

pour chaque

p ∈ Ψ

– une interpr ´etation

I(x) ∈ U

pour chaque variable

x ∈ f v(P )

tels que

[P ]

I

= T

Dans le cas particulier o `u

f v(P ) = ∅

(on dit que

P

estclos), cela ne d ´epend que de l’univers

U

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 ´emantiquede

A

(not ´e

A | = B

) si tout mod `ele de

A

est aussi un mod `ele de

B

A

et

B

sonts ´emantiquement ´equivalents, not ´e

A ≡ B

, si

A | = B

et

B | = A

Th ´eor `eme:

A

est satisfiable (resp. valide) si et seulement si

¬A

n’est pas valide (resp. satisfiable)

(13)

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

t

x

P ⊢ ∆

Γ, (∀x, P ) ⊢ ∆

Γ ⊢

t

x

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

G3

B

1

, . . . , B

m si et seulement si

A

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

(14)

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 :

Γ ⊢

Φ,x

P, ∆

Γ ⊢

Φ

(∀x, P ), ∆

Γ, (∀x, P ),

t

x

P ⊢

Φ

f v(t) ⊆ Φ Γ, (∀x, P ) ⊢

Φ

Γ ⊢

Φt

x

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

t

x

P ⊢ ∆

Γ, (∀x, P ) ⊢ ∆

Γ ⊢

t

x

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 chaque

f ∈ Σ

et

p ˜

pour chaque

p ∈ Ψ

– une interpr ´etation

I(x) ∈ U

pour chaque variable

x ∈ f v(P )

tels que

[P ]

I

= T

D ´efinition

A

1

, . . . , A

n

| = B

si tout mod `ele de

A

1, . . .,

A

nest un mod `ele de

B

Th ´eor `eme

A

1

, . . . , A

n

G3

B

1

, . . . , B

m ssi

A

1

, . . . , A

n

| = B

1

∨ . . . ∨ B

m

(15)

Un 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 chaque

f ∈ Σ

et

p ˜

pour chaque

p ∈ Ψ

– une interpr ´etation

I(x) ∈ U

pour chaque variable

x ∈ f v(P )

tels que

[P ]

I

= T

D ´efinition

A

1

, . . . , A

n

| = B

si tout mod `ele de

A

1, . . .,

A

nest un mod `ele de

B

Th ´eor `eme

A

1

, . . . , A

n

G3

B

1

, . . . , B

m ssi

A

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 vide

57

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

t

x

P ⊢ ∆

Γ, (∀x, P ) ⊢ ∆

Γ ⊢

t

x

P, (∃x, P ), ∆ Γ ⊢ (∃x, P ), ∆

n ´ecessitent de sortir

t

du chapeau. Il semble n ´ecessaire d’ ´enum ´erer tous les

t

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

(16)

Forme clausale uneforme prenexede

A

:

une formule logiquement ´equivalente `a

A

, de la forme

Q

1

x

1

, . . . , Q

n

x

n

, C

avec tous les quantificateurs

Q

1

. . . Q

nen t ˆete,

C

sans quantificateurs.

uneforme pr ´enexe skol ´emis ´eede

A

: une formule close

B

de la forme

∀y

1

, . . . , ∀y

m

, D

avec

D

sans quantificateurs, telle que

A

est satisfiable ssi

B

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 que

D

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 clausalede

A

:

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

devient

r(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

1k

1

, 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 ´esolution

C ∨ r(t

1

, . . . , t

n

) C

∨ ¬r(t

1

, . . . , t

n

) σ(C ∨ C

)

quel est

σ

? une substitution qui unifie

t

1avec

t

1,. . .,

t

navec

t

n on la note

σ = mgu(t

1

= t

1

, . . . , t

n

= t

n

)

Exemple : avec les clauses

r(986)

et

¬r(y)

,

σ = mgu(986 = y)

est la substitution qui envoie

y

sur

986

(17)

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 si

on 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 clauses

p(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 envoie

x

sur

f (z)

j’obtiens comme nouvelle clause : la clause vide

cqfd

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

(18)

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 atomiques

Normalement, 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 ´ecifiques

Extension de G3 pour

=

Γ ⊢ (t = t), ∆

Γ, (t = u) ⊢ (

t

x

P ), ∆

Γ, (t = u) ⊢ ({

ux

}P ), ∆

(19)

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

si

a

et

b

sont ´egaux (dans

U

)

˜

=(a, b) = F

sinon

Le 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

Questions?

Références

Documents relatifs

Question 2 : Montrer que Frodon est triste en utilisant un raisonnement s´emantique puis en utilisant la d´eduction naturelle. Exercice 2 Logique propositionnelle :

C’est pourquoi nous donnons les axiomes comme schémas, ce qui veut dire que toutes les formules propositionnelles de L ayant la même forme que les formules qu’on énumère dans la

Pour les arbres non-ordonnés (qui sont tels que les successeurs d’un nœud ne forment pas une séquence mais seulement un ensemble) nous avons besoin de l’axiome de choix de la

Vous recevrez un point supplémentaire pour montrer à quel point la situation de cet exemple diffère du cas des instructeurs de camp de ski (série 4, question 7) et de la question

L’axiome (T), par contre, peut être lu comme restriction aux relations d’accessibilité : il force cette relation à être réflexive : si w est en relation avec n’importe quel

Comme les phrases sur une branche ouverte et complète d’un tableau forment un tel ensemble de Hintikka, nous avons démontré le

Une formule propositionnelle est une conséquence (sémantique) ďun ensemble de propositions (écrit : “ Th | = φ ”) si et seulement si toute interprétation qui rend vraies toutes

Ľapplication de ces règles nous permet de prouver des théorèmes (“⊢ φ”) et des séquents (“φ ⊢ ψ”) La déduction naturelle est une méthode syntaxique qui est