LOGIQUE ET LOGIQUE ET PROGRAMMATION LOGIQUEPROGRAMMATION LOGIQUE

102  Download (0)

Full text

(1)

11

LOGIQUE ET LOGIQUE ET

PROGRAMMATION LOGIQUE PROGRAMMATION LOGIQUE

Nadia KABACHI Nadia KABACHI

Maître de Conférences Maître de Conférences

UFR d’Informatique UFR d’Informatique

Nadia.Kabachi@univ-lyon1.fr Nadia.Kabachi@univ-lyon1.fr

(2)

22

PLANPLAN

INTRODUCTIONINTRODUCTION

LOGIQUE DES PROPOSITIONSLOGIQUE DES PROPOSITIONS

LOGIQUE DU PREMIER ORDRELOGIQUE DU PREMIER ORDRE

PROLOGPROLOG

LE COURS DE LOGIQUE EST BASE SUR LE COURS DE NARENDRA JUSSIEN

(3)

33

Définition Définition

(4)

44

Historique Historique

(5)

55

Logique des propositions Logique des propositions

Notion de proposition

(6)

66

Notion de valeur de vérité

Logique des propositions Logique des propositions

(7)

77

Comment écrire les formules?Comment écrire les formules?

Aspects syntaxiques Aspects syntaxiques

Comment déterminer la valeur de vérité d’une Comment déterminer la valeur de vérité d’une formule ?

formule ? Aspects sémantiquesAspects sémantiques

Existe-t-il un lien entre logique et mathématique? Existe-t-il un lien entre logique et mathématique?

Aspects algébriques (Mr G. Boole) Aspects algébriques (Mr G. Boole)

Comment démontrer (automatiquement) de nouveaux Comment démontrer (automatiquement) de nouveaux résultats ? Aspects déductifs

résultats ? Aspects déductifs

Logique des propositions Logique des propositions

Étude du calcul propositionnel

Quatre étapes Quatre étapes

(8)

88

Logique des propositions Logique des propositions

Aspects syntaxiques Les données

(9)

99

Logique des propositions Logique des propositions

Aspects syntaxiques

F l’ensemble des formules du calcul propositionnel

K

(10)

1010

Supprimer les parenthèses entourant les Supprimer les parenthèses entourant les variables

variables

Tenir compte de la priorité des connecteurs Tenir compte de la priorité des connecteurs ordre standard : ¬,

ordre standard : ¬, ∧, ∨∧, ∨, →, ↔ , →, ↔

Considérer qu’un opérateur unaire Considérer qu’un opérateur unaire

l’«emporte» toujours sur un opérateur binaire l’«emporte» toujours sur un opérateur binaire

Logique des propositions Logique des propositions

Aspects syntaxiques

Règles d’élimination des parenthèses

(11)

1111

Logique des propositions Logique des propositions

Aspects sémantiques Valeurs de vérité

(12)

1212

Logique des propositions Logique des propositions

Table de vérités

Aspects sémantiques

(13)

1313

Logique des propositions Logique des propositions

Aspects sémantiques

(14)

1414

)? ?

( )

( p q p q

p q ¬ p ¬ q p  q ¬ ( p  q ) (¬ p  ¬ q) F 0 0

0 1 1 0 1 1

1 1 0 0

1 0 1 0

0 0 0 1

 0 1 0

1

0 1

1 1 0

0 1 1 1

 0 1 0

1 0 1

0

1 1

1

1 0 0 1

 0 1 0

1 1 1 1 0 1

Calcul propositionnel

(15)

1515

NB : on dit aussi que F est consistante. NB : on dit aussi que F est consistante.

Logique des propositions Logique des propositions

Aspects sémantiques Formules particulières

(16)

1616

Logique des propositions Logique des propositions

Aspects sémantiques Exemple : On considère : (¬p → q) ∧ (q ↔ r)

p q r ¬p ¬p → q q ↔ r (¬p → q) ∧ (q ↔ r) 00

00 00 00 11 11 11 11

00 00 11 11 00 00 11 11

00 11 00 11 00 11 00 11

11 11 11 11 00 00 00 00

00 00 11 11 11 11 11 11

11 00 00 11 11 00 00 11

00 00 00 11 11 00 00 11

(17)

1717

NB : on dit aussi que F est

NB : on dit aussi que F est inconsistante, inconsistante, contradictoire, ou encore insatisfiable.

contradictoire, ou encore insatisfiable.

Logique des propositions Logique des propositions

Aspects sémantiques Formules particulières

(18)

1818

Logique des propositions Logique des propositions

Aspects sémantiques Formules particulières

(19)

1919

Logique des propositions Logique des propositions

Aspects syntaxiques

p → q et ¬p p → q et ¬p q sont tautologiquement q sont tautologiquement équivalentes. On peut donc écrire :

équivalentes. On peut donc écrire :

(p → q) ↔ (¬p (p → q) ↔ (¬p q). q).

(20)

2020

Logique des propositions Logique des propositions

Aspects syntaxiques

Équivalences tautologiques bien connues

(21)

2121

Logique des propositions Logique des propositions

Aspects syntaxiques

Équivalences tautologiques bien connues

(22)

2222

Logique des propositions Logique des propositions

Aspects syntaxiques

Équivalences tautologiques bien connues

(23)

2323

Logique des propositions Logique des propositions

Aspects syntaxiques

Équivalences tautologiques bien connues

(24)

2424

Logique des propositions Logique des propositions

Aspects syntaxiques Formes normales

NB : si dans chaque Hi figurent toutes les variables ou NB : si dans chaque Hi figurent toutes les variables ou leur négation, on parle de forme canonique

leur négation, on parle de forme canonique

(25)

2525

Logique des propositions Logique des propositions

Aspects syntaxiques Forme normale disjonctive

A faire pour le TD

(26)

2626

Logique des propositions Logique des propositions

Aspects syntaxiques Forme normale conjonctive

A retenir : La forme normale conjonctive est aussi appelée forme A retenir : La forme normale conjonctive est aussi appelée forme

clausale clausale

(27)

2727

Logique des propositions Logique des propositions

Aspects déductifs Notion de conséquence

NB : Une conséquence logique de est une tautologie

(28)

2828

Logique des propositions Logique des propositions

Aspects déductifs Notion de conséquence

(29)

2929

Logique des propositions Logique des propositions

Aspects déductifs Systèmes formels

(30)

3030

Logique des propositions Logique des propositions

Aspects déductifs

Systèmes formels : Démonstrations et théorèmes

NB : Différence entre conséquence logique et démonstration

(31)

3131

Logique des propositions Logique des propositions

Aspects déductifs Prise en compte d’hypothèses

NB : On dit aussi que J est un modèle de A.

(32)

3232

Logique des propositions Logique des propositions

Aspects déductifs Principales règles d’inférences

(33)

3333

Logique des propositions Logique des propositions

Aspects déductifs

Propriétés d’un système formel : théorèmes

Un système formel est Un système formel est correctcorrect ssi ssi si

si AA alors alors AA

tout ce qui est démontrable est vraitout ce qui est démontrable est vrai

Un système formel est Un système formel est completcomplet ssi ssi si

si AA alors alors AA

tout ce qui est vrai est démontrabletout ce qui est vrai est démontrable

(34)

3434

Logique des propositions Logique des propositions

Aspects déductifs Limites du calcul propositionnel

(35)

3535

Logique des propositions Logique des propositions

Aspects déductifs

Être plus proche du langage naturel

NB : dans un langage du second ordre, on peut aussi quantifier les NB : dans un langage du second ordre, on peut aussi quantifier les relations et les fonctions

relations et les fonctions

(36)

3636

Calcul des prédicats Calcul des prédicats

Comment écrire les formules ?Comment écrire les formules ?

Aspects syntaxiquesAspects syntaxiques

Comment déterminer la valeur de vérité d’une Comment déterminer la valeur de vérité d’une formule ?

formule ?

Aspects sémantiquesAspects sémantiques

Comment démontrer de nouveaux résultats ? Comment démontrer de nouveaux résultats ? Aspects déductifs

Aspects déductifs

Logique du premier ordre Logique du premier ordre

(37)

3737

Une modélisation Une modélisation

Les chandelles sont faites pour éclairerLes chandelles sont faites pour éclairer

Quelques chandelles éclairent très malQuelques chandelles éclairent très mal

Quelques objets qui sont faits pour éclairer le Quelques objets qui sont faits pour éclairer le font très mal

font très mal

) ( )

(

, chandelle x éclaireMal x

x

) ( )

(

, chandelle x éclaire x

x

) ( )

(

, éclaire x éclaireMal x

x

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(38)

3838

Syntaxe Syntaxe

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

Alphabet

(39)

3939

Syntaxe Syntaxe

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

Alphabet

(40)

4040

Vocabulaire Vocabulaire

Les Les termestermes

les les variables variables et les et les constantesconstantes sont des sont des termestermes f(tf(t11, …, t, …, tnn) est un terme si ) est un terme si

les les ttii sont des sont des termestermes

ff est un symbole de est un symbole de fonctionfonction d’arité n d’arité n

Les Les atomesatomes

R(tR(t11, …, t, …, tnn) est un atome si ) est un atome si

les tles tii sont des sont des termestermes

RR est un symbole de est un symbole de relationrelation d’arité n d’arité n

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(41)

4141

Formules Formules

Un atome est une Un atome est une formuleformule

Si Si FF et et GG sont des formules et sont des formules et xx une une

variable, alors les expressions suivantes variable, alors les expressions suivantes

sont des

sont des formulesformules

((FF))

((FF) ) ( (GG) et () et (FF) ) ( (GG) ) ((FF) ) ( (GG) et () et (FF) ) ( (GG))

xx ( (FF) et ) et xx ( (GG))

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(42)

4242

Formules Formules

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(43)

4343

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(44)

4444

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(45)

4545

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(46)

4646

Occurrence d’une variable Occurrence d’une variable

Une Une occurrenceoccurrence d’une variable d’une variable x x dans une dans une formule

formule FF est un est un endroitendroitxx apparaît dans apparaît dans FF sans être immédiatement précédée par sans être immédiatement précédée par ou ou

Une occurrence Une occurrence libre libre de de xx dans dans F F est est définie :

définie :

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(47)

4747

Occurrence libre Occurrence libre

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(48)

4848

Caractéristiques des variables Caractéristiques des variables

Une variable est dite Une variable est dite librelibre dans une formule dans une formule F F si elle a au moins une occurrence libre si elle a au moins une occurrence libre

(sinon on dit qu’elle est

(sinon on dit qu’elle est liéeliée))

Une formule n’ayant pas de variable libre Une formule n’ayant pas de variable libre est dite

est dite closeclose

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(49)

4949

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(50)

5050

Logique du premier ordre Logique du premier ordre

Suite en TD

(51)

5151

Logique du premier ordre Logique du premier ordre

Notion de substitution

(52)

5252

Aspects sémantiques Aspects sémantiques

InterprétationInterprétation

Formules universellement validesFormules universellement valides

Le théorème de HerbrandLe théorème de Herbrand

Principe de résolution adapté au calcul Principe de résolution adapté au calcul des prédicats

des prédicats

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(53)

5353

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

Vers la notion de modèle Vers la notion de modèle

(54)

5454

Vers la notion de modèle Vers la notion de modèle

Soit Soit LL le langage du calcul des prédicats le langage du calcul des prédicats

une une interprétation interprétation de de L L c’est la donnée de :c’est la donnée de :

un ensemble un ensemble E E non vide appelé non vide appelé ensemble de baseensemble de base

pour chaque symbole de prédicat pour chaque symbole de prédicat R R d’arité d’arité nn, d’un sous-ensemble , d’un sous-ensemble R’ R’ de Ede Enn

pour chaque symbole de fonction pour chaque symbole de fonction ff d’arité d’arité nn, d’une application , d’une application f’ f’

de de EEnn vers vers E E (y compris pour les constantes)(y compris pour les constantes)

on peut alors calculer la on peut alors calculer la valeurvaleur de tout terme clos (c’est de tout terme clos (c’est un élément de

un élément de EE))

on peut donc associer une on peut donc associer une valeur de vérité valeur de vérité à tout atome à tout atome et donc par extension à toute

et donc par extension à toute formule closeformule close

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(55)

5555

Exemple d’interprétation Exemple d’interprétation

xxyyz (P(x,y) z (P(x,y) Q(y,z) Q(y,z) R(x,z)) R(x,z))

xxy ( (M(x,y) y ( (M(x,y) P(x,y) P(x,y) Q(x,y)) Q(x,y))

M(a,b) M(a,b) P(c,b) P(c,b) P(d,a) P(d,a) P(e,c) P(e,c)

E = E =

P’ =P’ =

a’ =a’ =

anne b’ = bernard c’ = charles d’ = didier e’= éric

est le père de

M’ = est la mère de Q’ = est un parent de R’ = est le grand-père de

{ anne, bernard, …}

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(56)

5656

Modèle Modèle

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

NB : on dit aussi que F est une tautologie.

(57)

5757

Preuve et démonstration Preuve et démonstration

Comment Comment prouverprouver une formule du calcul une formule du calcul des prédicats ?

des prédicats ?

Prouver qu’elle est vraieProuver qu’elle est vraie

passer en revue passer en revue toutes les interprétations !toutes les interprétations !

Prouver qu’elle est fausseProuver qu’elle est fausse

trouvertrouver une interprétation qui invalide la formule une interprétation qui invalide la formule

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(58)

5858

Toutes les interprétations ? Toutes les interprétations ?

Une représentation utile des formulesUne représentation utile des formules

forme forme clausaleclausale

Un théorème qui simplifie la vieUn théorème qui simplifie la vie

théorème de théorème de HerbrandHerbrand

Principe de résolution pour le calcul des Principe de résolution pour le calcul des prédicats

prédicats

vers une automatisation des démonstrationsvers une automatisation des démonstrations

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(59)

5959

Transformation de formule Transformation de formule

Forme normale Forme normale prénexeprénexe

quantificateurs quantificateurs enen tête tête de la formulede la formule

formule sous forme formule sous forme normale conjonctivenormale conjonctive

Forme standard de Forme standard de SkolemSkolem

formule sous forme formule sous forme normale prénexenormale prénexe quantificateurs existentiels quantificateurs existentiels précédantprécédant

quantificateurs universels quantificateurs universels

Toute formule du calcul des prédicats est équivalente à une formule sous forme standard de Skolem

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(60)

6060

Mise sous forme normale prénexe Mise sous forme normale prénexe

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(61)

6161

Mise sous forme normale prénexe Mise sous forme normale prénexe

Éliminer les connecteurs Éliminer les connecteurs et et

Transporter les Transporter les devant les atomes devant les atomes

en utilisant (en utilisant ( F F F) et les lois de De Morgan F) et les lois de De Morgan

Transporter les quantificateurs en tête de la Transporter les quantificateurs en tête de la formule

formule

Ne pas hésiter à renommer les variables Ne pas hésiter à renommer les variables pour pouvoir utiliser les propriétés des

pour pouvoir utiliser les propriétés des quantificateurs.

quantificateurs.

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(62)

6262

Transport des quantificateurs Transport des quantificateurs

x F x F

F x

x F

F H

x H

x F

x

H F

x H

x F

x

F x y F

y x

F x y F

y x

si H ne contient aucune occurrence de x

xx FF HH xxFFHH xx HH HH

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(63)

6363

Mise sous forme normale prénexe Mise sous forme normale prénexe

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(64)

6464

Mise sous forme normale prénexe Mise sous forme normale prénexe

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

En TD

(65)

6565

Forme de Skolem Forme de Skolem

Logique du premier ordre Logique du premier ordre

NB : lorsque les quantificateurs universels précèdent les quantificateurs existentiels, on parle de forme de Herbrand

(66)

6666

Inversion de

Inversion de et de et de Skolemisation

Skolemisation

Lorsqu’on aLorsqu’on a

on remplace on remplace yy par une fonction par une fonction gg qui à qui à x x associe

associe yy

y x

f y

x

( )

) ( )

(x g x

f x

g

Skolemisation = expliciter l’implicite

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

NB : On dit aussi qu’on « Skolémise » la variable y

(67)

6767

Forme standard de Skolem Forme standard de Skolem

Logique du premier ordre Logique du premier ordre

(68)

6868

Une représentation utile des Une représentation utile des

formules : Forme clausale formules : Forme clausale

p(x, y) q(z, y, x)

z y

x

p(a, y1) ; q(z1, y2,a)

Calcul des prédicats

(69)

6969

Une représentation utile des Une représentation utile des

formules : Forme clausale formules : Forme clausale

Calcul des prédicats

En TD

(70)

7070

Une représentation utile des Une représentation utile des

formules : Forme clausale formules : Forme clausale

(71)

7171

Univers de Herbrand Univers de Herbrand

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

NB : si aucune constante n’apparaît dans C, on pose H0 = {a}.

(72)

7272

Univers de Herbrand Univers de Herbrand

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(73)

7373

Univers de Herbrand Univers de Herbrand

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(74)

7474

Univers de Herbrand Univers de Herbrand

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(75)

7575

Univers de Herbrand Univers de Herbrand

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(76)

7676

Théorème de Herbrand Théorème de Herbrand

ThéorèmeThéorème Un ensemble Un ensemble SS de clauses est de clauses est insatisfaisable

insatisfaisable si et seulement si il existe un si et seulement si il existe un ensemble

ensemble S’ S’ d’instances de base d’instances de base insatisfaisable

insatisfaisable

CorollaireCorollaire Un ensemble de clauses est Un ensemble de clauses est satisfaisable

satisfaisable si et seulement si tout ensemble si et seulement si tout ensemble fini

fini d’instances de base est satisfaisabled’instances de base est satisfaisable

Calcul des prédicats

Logique du premier ordre Logique du premier ordre

(77)

7777

Principales applications du théorème Principales applications du théorème

de Herbrand de Herbrand

Preuve qu’une formule est universellement Preuve qu’une formule est universellement valide → on montre que sa négation est

valide → on montre que sa négation est insatisfiable.

insatisfiable.

Validation de raisonnement → on montre Validation de raisonnement → on montre que les prémisses et la négation de la

que les prémisses et la négation de la

conclusion forment un ensemble de clauses conclusion forment un ensemble de clauses

insatisfiable insatisfiable

(78)

7878

(79)

7979

(80)

8080

(81)

8181

(82)

8282

(83)

8383

(84)

8484

(85)

8585

(86)

8686

(87)

8787

Principe de résolution pour le calcul Principe de résolution pour le calcul

des prédicats des prédicats

NB : c’est le théorème de Herbrand qui nous permet ces transformations

(88)

8888

Vocabulaire Vocabulaire

(89)

8989

Vocabulaire Vocabulaire

(90)

9090

Vocabulaire Vocabulaire

(91)

9191

Principe de résolution Principe de résolution

(92)

9292

Principe de résolution Principe de résolution

(93)

9393

Principe de résolution Principe de résolution

(94)

9494

Principe de résolution Principe de résolution

(95)

9595

Principe de résolution Principe de résolution

(96)

9696

Principe de résolution Principe de résolution

(97)

9797

Principe de résolution Principe de résolution

(98)

9898

Principe de résolution Principe de résolution

(99)

9999

Principe de résolution Principe de résolution

(100)

100100

Principe de résolution Principe de résolution

(101)

101101

Principe de résolution Principe de résolution

(102)

102102

Principe de résolution Principe de résolution

Figure

Updating...

References

Related subjects :