I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique...

15
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´ edicats La Logique des Pr´ edicats ou logique du premier ordre INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´ edicats Introduction Les quantificateurs I ingr´ edient de base de la logique du premier ordre ... I permettent d’´ etendre la logique propositionnelle en la logique propositionnelle quantifi´ ee INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´ edicats Introduction Les quantificateurs I ingr´ edient de base de la logique du premier ordre ... I permettent d’´ etendre la logique propositionnelle en la logique propositionnelle quantifi´ ee 8p9q.(p _ q) ^ (¬p _ ¬q) se lit “pour tout p”, “il existe q”, tel que ... I est-ce une formule satisfaisable ? INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´ edicats Introduction Les quantificateurs I ingr´ edient de base de la logique du premier ordre ... I permettent d’´ etendre la logique propositionnelle en la logique propositionnelle quantifi´ ee 8p9q.(p _ q) ^ (¬p _ ¬q) se lit “pour tout p”, “il existe q”, tel que ... I est-ce une formule satisfaisable ? I oui, si p est vraie, alors on prend q fausse, et si p est fausse, alors on prend q vraie.

Transcript of I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique...

Page 1: I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´edicats Introduction

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

La Logique des Predicatsou logique du premier ordre

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Introduction

Les quantificateurs

I ingredient de base de la logique du premier ordre ...

I permettent d’etendre la logique propositionnelle en la logiquepropositionnelle quantifiee

8p9q.(p _ q) ^ (¬p _ ¬q)

se lit “pour tout p”, “il existe q”, tel que ...

I est-ce une formule satisfaisable ?

I oui, si p est vraie, alors on prend q fausse, et si p est fausse, alors onprend q vraie.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Introduction

Les quantificateurs

I ingredient de base de la logique du premier ordre ...

I permettent d’etendre la logique propositionnelle en la logiquepropositionnelle quantifiee

8p9q.(p _ q) ^ (¬p _ ¬q)

se lit “pour tout p”, “il existe q”, tel que ...

I est-ce une formule satisfaisable ?

I oui, si p est vraie, alors on prend q fausse, et si p est fausse, alors onprend q vraie.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Introduction

Les quantificateurs

I ingredient de base de la logique du premier ordre ...

I permettent d’etendre la logique propositionnelle en la logiquepropositionnelle quantifiee

8p9q.(p _ q) ^ (¬p _ ¬q)

se lit “pour tout p”, “il existe q”, tel que ...

I est-ce une formule satisfaisable ?

I oui, si p est vraie, alors on prend q fausse, et si p est fausse, alors onprend q vraie.

Page 2: I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´edicats Introduction

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Introduction

Les quantificateurs

I ingredient de base de la logique du premier ordre ...

I permettent d’etendre la logique propositionnelle en la logiquepropositionnelle quantifiee

8p9q.(p _ q) ^ (¬p _ ¬q)

se lit “pour tout p”, “il existe q”, tel que ...

I est-ce une formule satisfaisable ?

I oui, si p est vraie, alors on prend q fausse, et si p est fausse, alors onprend q vraie.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Introduction

Probleme QSAT

Decider la satisfaisabilite de formules de la forme

8p19q18p29q2 . . . 8qn9qn.�

ou � est une formule en CNF construite sur les propositionsp1, q1, . . . , pn, qn.

I Remarque : ce probleme est PSPace-complet

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Introduction

150 Introduction

En logique des predicats,

I on ajoute les quantificateurs

I on generalise les valeurs que peuvent prendre les variables (0,1 pourla logique propositionnelle, des valeurs sur un ensemble quelconquepour la logique des predicats)

I on ajoute des relations (appeles predicats) pour decrire certainesrelations entre ces valeurs (R(x , y) veut dire que x et y sont enrelation)

I on ajoute des symboles de fonctions a la syntaxe

Exemple : 8x8y · PremierEntreEux(x , y) $ 9x 09y 0 · x .x 0 + y .y 0 = 1

I PremierEntreEux est un predicat a deux arguments,

I 1 est appelee constante

I x .x 0 + y .y 0 est un terme forme avec les fonctions ⇥ et .

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Introduction

151 Introduction a la logique des predicats

Les situations suivantes ne sont pas “modelisables” en logiquepropositionnelle :

I certains etudiants assistent a tous les cours ;

I aucun etudiant n’assiste a un cours non interessant ;

I dans toute salle d’examen, il y a un etudiant qui, s’il echoue, alorstout le monde echoue.

Page 3: I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´edicats Introduction

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Introduction

152 Introduction

Ce qui manque a la logique propositionnelle, c’est de pouvoir parlerd’objets, de proprietes d’objets et de mettre en relation des objets. Parexemple :

I tel cours est interessant ;

I tel etudiant assiste au cours d’informatique fondamentale.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Introduction

153 Introduction

La logique propositionnelle ne permet pas de quantifier sur les objets. Onne peut pas par exemple exprimer :

I tous les cours sont interessants ;

I il existe des cours interessants.

La logique du premier ordre nous permettra de modeliser ces situations.Par exemple, l’enonce “tous les cours sont interessants” sera modelisepar :

8x : Cours(x) ! Interessant(x)

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

154 Langages du premier ordre

I on parle ici de langages car les objets syntaxiques qui seront a labase de la construction des formules sont determines par desvocabulaires qu’on fixera (symboles de relations, de fonctions, ...). Ilexistera donc une grande variete de langages du premier ordre selonle vocabulaire choisi.

I L’expression “premier ordre” di↵erencie ces langages des langages“d’ordre superieur”, dans lesquels il est possible de quantifier surd’autres objets que les variables (par ex. sur les fonctions, predicats,...)

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

155 Des exemples de formules

I 8x , p(x , x)

I 8x8y , p(x , y) ! p(y , x)

I 8x8y , f (x) = f (y) ! x = y

I 8x , [(p(x) ! ¬p(S(x))) ^ (¬p(x) ! p(S(x))]

I 9x8y , ¬(S(y) = x)

I 8y , ¬(S(y) = c)

I 8x8y , [f (x , y) = f (y , x) ^ f (x , S(y)) = S(f (x , y)) ^ f (x , c) = x ]

Les ingredients pour construire les formules sont : connecteurs Booleens,quantificateurs, symboles de relations, de fonctions, constantes, ettermes.Pour satisfaire une formule, il faudra definir une interpretation dessymboles (relations, fonctions, constantes) dans un domaine.

Page 4: I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´edicats Introduction

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

155 Des exemples de formules

I 8x , p(x , x)

I 8x8y , p(x , y) ! p(y , x)

I 8x8y , f (x) = f (y) ! x = y

I 8x , [(p(x) ! ¬p(S(x))) ^ (¬p(x) ! p(S(x))]

I 9x8y , ¬(S(y) = x)

I 8y , ¬(S(y) = c)

I 8x8y , [f (x , y) = f (y , x) ^ f (x , S(y)) = S(f (x , y)) ^ f (x , c) = x ]

Les ingredients pour construire les formules sont : connecteurs Booleens,quantificateurs, symboles de relations, de fonctions, constantes, ettermes.Pour satisfaire une formule, il faudra definir une interpretation dessymboles (relations, fonctions, constantes) dans un domaine.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

155 Des exemples de formules

I 8x , p(x , x)

I 8x8y , p(x , y) ! p(y , x)

I 8x8y , f (x) = f (y) ! x = y

I 8x , [(p(x) ! ¬p(S(x))) ^ (¬p(x) ! p(S(x))]

I 9x8y , ¬(S(y) = x)

I 8y , ¬(S(y) = c)

I 8x8y , [f (x , y) = f (y , x) ^ f (x , S(y)) = S(f (x , y)) ^ f (x , c) = x ]

Les ingredients pour construire les formules sont : connecteurs Booleens,quantificateurs, symboles de relations, de fonctions, constantes, ettermes.Pour satisfaire une formule, il faudra definir une interpretation dessymboles (relations, fonctions, constantes) dans un domaine.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

155 Des exemples de formules

I 8x , p(x , x)

I 8x8y , p(x , y) ! p(y , x)

I 8x8y , f (x) = f (y) ! x = y

I 8x , [(p(x) ! ¬p(S(x))) ^ (¬p(x) ! p(S(x))]

I 9x8y , ¬(S(y) = x)

I 8y , ¬(S(y) = c)

I 8x8y , [f (x , y) = f (y , x) ^ f (x , S(y)) = S(f (x , y)) ^ f (x , c) = x ]

Les ingredients pour construire les formules sont : connecteurs Booleens,quantificateurs, symboles de relations, de fonctions, constantes, ettermes.Pour satisfaire une formule, il faudra definir une interpretation dessymboles (relations, fonctions, constantes) dans un domaine.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

155 Des exemples de formules

I 8x , p(x , x)

I 8x8y , p(x , y) ! p(y , x)

I 8x8y , f (x) = f (y) ! x = y

I 8x , [(p(x) ! ¬p(S(x))) ^ (¬p(x) ! p(S(x))]

I 9x8y , ¬(S(y) = x)

I 8y , ¬(S(y) = c)

I 8x8y , [f (x , y) = f (y , x) ^ f (x , S(y)) = S(f (x , y)) ^ f (x , c) = x ]

Les ingredients pour construire les formules sont : connecteurs Booleens,quantificateurs, symboles de relations, de fonctions, constantes, ettermes.Pour satisfaire une formule, il faudra definir une interpretation dessymboles (relations, fonctions, constantes) dans un domaine.

Page 5: I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´edicats Introduction

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

155 Des exemples de formules

I 8x , p(x , x)

I 8x8y , p(x , y) ! p(y , x)

I 8x8y , f (x) = f (y) ! x = y

I 8x , [(p(x) ! ¬p(S(x))) ^ (¬p(x) ! p(S(x))]

I 9x8y , ¬(S(y) = x)

I 8y , ¬(S(y) = c)

I 8x8y , [f (x , y) = f (y , x) ^ f (x , S(y)) = S(f (x , y)) ^ f (x , c) = x ]

Les ingredients pour construire les formules sont : connecteurs Booleens,quantificateurs, symboles de relations, de fonctions, constantes, ettermes.Pour satisfaire une formule, il faudra definir une interpretation dessymboles (relations, fonctions, constantes) dans un domaine.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

155 Des exemples de formules

I 8x , p(x , x)

I 8x8y , p(x , y) ! p(y , x)

I 8x8y , f (x) = f (y) ! x = y

I 8x , [(p(x) ! ¬p(S(x))) ^ (¬p(x) ! p(S(x))]

I 9x8y , ¬(S(y) = x)

I 8y , ¬(S(y) = c)

I 8x8y , [f (x , y) = f (y , x) ^ f (x , S(y)) = S(f (x , y)) ^ f (x , c) = x ]

Les ingredients pour construire les formules sont : connecteurs Booleens,quantificateurs, symboles de relations, de fonctions, constantes, ettermes.Pour satisfaire une formule, il faudra definir une interpretation dessymboles (relations, fonctions, constantes) dans un domaine.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

155 Des exemples de formules

I 8x , p(x , x)

I 8x8y , p(x , y) ! p(y , x)

I 8x8y , f (x) = f (y) ! x = y

I 8x , [(p(x) ! ¬p(S(x))) ^ (¬p(x) ! p(S(x))]

I 9x8y , ¬(S(y) = x)

I 8y , ¬(S(y) = c)

I 8x8y , [f (x , y) = f (y , x) ^ f (x , S(y)) = S(f (x , y)) ^ f (x , c) = x ]

Les ingredients pour construire les formules sont : connecteurs Booleens,quantificateurs, symboles de relations, de fonctions, constantes, ettermes.Pour satisfaire une formule, il faudra definir une interpretation dessymboles (relations, fonctions, constantes) dans un domaine.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

156 Langages du premier ordre : alphabet

L’alphabet d’un langage du premier ordre comporte d’abord les symbolessuivants qui sont communs a tous ces langages :

I les connecteurs ¬,^,_,!,$ ;

I les parentheses (, ) ;

I le quantificateurs universel 8 et le quantificateur existentiel 9 ;

I un ensemble infini V de symboles de variables x , y , z , ....

Page 6: I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´edicats Introduction

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

157 Langages du premier ordre : alphabet

Un langage L de la logique du premier ordre est caracterise par :

I des symboles de relations ou predicats , notes p, q, r , s... ;

I des symboles de fonctions , notes f , g , h, ... ;

I des symboles de constantes , notes c , d , e, ...

A chaque predicat p, respectivement fonction f , on associe un entierstrictement positif appele l’arite de p, respectivement de f , c’est-a-dire lenombre d’arguments de p, respectivement f . On notera parfois p|

n

ou f |n

pour signifier que p (resp. f ) est un symbole de relation (resp. defonction) d’arite n.

On utilise le predicat “=” pour denoter l’egalite. Si “=” fait partie duvocabulaire du langage L, on dit que L est egalitaire .

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

157 Langages du premier ordre : alphabet

Un langage L de la logique du premier ordre est caracterise par :

I des symboles de relations ou predicats , notes p, q, r , s... ;

I des symboles de fonctions , notes f , g , h, ... ;

I des symboles de constantes , notes c , d , e, ...

A chaque predicat p, respectivement fonction f , on associe un entierstrictement positif appele l’arite de p, respectivement de f , c’est-a-dire lenombre d’arguments de p, respectivement f . On notera parfois p|

n

ou f |n

pour signifier que p (resp. f ) est un symbole de relation (resp. defonction) d’arite n.On utilise le predicat “=” pour denoter l’egalite. Si “=” fait partie duvocabulaire du langage L, on dit que L est egalitaire .

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

158 Langages du premier ordre : alphabet

Exemples de langages :

I L1 = {r |1, c} contient un predicat unaire r et une constante c ;

I L2 = {r |2, f |1, g |2, h|2, c , d} contient un predicat binaire r , unefonction unaire f , deux symboles de fonctions binaires g et h, etdeux constantes c et d .

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

159 Langages du premier ordre : construction des termes

L’ensemble des termes d’un langage L est le plus petit ensemble quicontient les symboles de constantes et de variables et qui est clos parapplication des fonctions.L’ensemble des termes, note T , est le plus petit ensemble satisfaisant :

1. tout symbole de constante ou variable est un terme ;

2. si f est un symbole de fonction d’arite n et t1, t2, . . . , tn sont destermes alors f (t1, t2, . . . , tn) est un terme.

Remarque : les predicats ne fournissent pas des termes ; ils serviront pourconstruire les formules.

Page 7: I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´edicats Introduction

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

160 Langages du premier ordre : construction des termes

Exemples :

I les seuls termes du langage L1 sont la constante c et les variables ;I les expressions suivantes sont des termes du langage L2 :

I f (c) ;I f (h(f (c), d)) ;I f (y) ;I f (h(f (x), f (d))).

Un terme est clos s’il est sans variable. Par exemple f (c) est clos.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

161 Langages du premier ordre : construction des formules

L’ensemble des formules atomiques d’un langage L est l’ensemble desformules de la forme :

I p(t1, t2, . . . , tn) ou p est un predicat d’arite n et t1, t2, . . . , tn sontdes termes du langage L ;

I t1 = t2 si L est egalitaire et t1, t2 sont des termes du langage L.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

162 Langages du premier ordre : construction des formules

DefinitionL’ensemble des formules du langage L , que l’on designe par F(L), estdefini par la grammaire suivante :

� ::= p(t1, . . . , tn) | �^� | �_� | ¬� | �! � | �$ � | 9x ·� | 8x ·� | (�)

I t1, . . . , tn sont des termes

I p est un symbole de relation

I 9x est appele quantificateur existentiel

I 8x est appele quantificateur universel

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

163 Langages du premier ordre : exemples de formules

La formule r(c) _ ¬9x · r(x) est une formule du langage L1.Exemples de formules du langage L2 :

I 8x · 9y(g(x , y) = c ^ g(y , x) = c)

I 8x · ¬(f (x) = c)

Exemples de formules du langage L3 = {p} ou p est un symbole depredicat binaire :

I 8x · 8y · (p(x , y) ! p(y , x))

I 8x · p(x , x)I 8x · 8y · (p(x , y) _ p(y , x))

I 8x · 8y · 8z · (p(x , y) ^ p(y , z) ! p(x , z))

I Comment exprimer que p doit etre interpretee par une fonction ?

I 8x · 8y · 8z · (p(x , y)^ p(x , z) ! y = z), mais L3 doit etre egalitaire.

Page 8: I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´edicats Introduction

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

163 Langages du premier ordre : exemples de formules

La formule r(c) _ ¬9x · r(x) est une formule du langage L1.Exemples de formules du langage L2 :

I 8x · 9y(g(x , y) = c ^ g(y , x) = c)

I 8x · ¬(f (x) = c)

Exemples de formules du langage L3 = {p} ou p est un symbole depredicat binaire :

I 8x · 8y · (p(x , y) ! p(y , x))

I 8x · p(x , x)I 8x · 8y · (p(x , y) _ p(y , x))

I 8x · 8y · 8z · (p(x , y) ^ p(y , z) ! p(x , z))

I Comment exprimer que p doit etre interpretee par une fonction ?

I 8x · 8y · 8z · (p(x , y)^ p(x , z) ! y = z), mais L3 doit etre egalitaire.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

164 Langages du premier ordre : regles de precedence

I pour les connecteurs Booleens, on garde les memes regles deprecedence que dans la logique propositionnelle

I les quantificateurs ont la meme priorite que la negation

Exemple :

I 8x · ¬p(x , y) _ p(y , x) ⌘ (8x · ¬(p(x , y))) _ p(y , x)

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

165 Langages du premier ordre : decomposition d’une formule

Avec ces regles de precedence, toute formule d’un langage du premierordre se decompose de maniere unique sous l’une, et une seule, desformes suivantes :

I une formule atomique,

I ¬�, ou � est une formule,

I � ^ , � _ , �! , �$ ou � et sont des formules,

I 8x · � ou 9x · � ou � est une formule et x est une variable.

Une formule � est une sous-formule de si � apparaıt dans ladecomposition de .

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

166 Langages du premier ordre : variables libres et liees

Une occurrence d’une variable dans une formule est un couple constituede cette variable et d’une place e↵ective, c’est-a-dire qui ne suit pas unquantificateur.Par exemple, dans la formule

r(x , z) ! 8z · (r(y , z) _ y = z)

la variable x possede une occurrence, la variable y deux et la variable ztrois.

Page 9: I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´edicats Introduction

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

167 Langages du premier ordre : variables libres et liees

Definition

I Une occurrence d’une variable x dans une formule � est uneoccurrence libre si elle ne se trouve dans aucune sous-formule de �,qui commence par une quantification 8x ou 9x .

I Dans le cas contraire, l’occurrence est dite liee.

I Une variable est libre dans une formule si elle a au moins uneoccurrence libre dans cette formule.

I Une formule close est une formule sans variable libre.

Exemples :

I dans 9x · · · p(x , y), l’occurrence de x est liee et celle de y est libre

I dans r(x , z) ! 8z · (r(y , z) _ y = z), la premiere occurrence de zest libre et les deux suivantes sont liees

On note souvent �(x1, . . . , xn) pour indiquer que � possede exactementx1, . . . , xn comme variables libres.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

167 Langages du premier ordre : variables libres et liees

Definition

I Une occurrence d’une variable x dans une formule � est uneoccurrence libre si elle ne se trouve dans aucune sous-formule de �,qui commence par une quantification 8x ou 9x .

I Dans le cas contraire, l’occurrence est dite liee.

I Une variable est libre dans une formule si elle a au moins uneoccurrence libre dans cette formule.

I Une formule close est une formule sans variable libre.

Exemples :

I dans 9x · · · p(x , y), l’occurrence de x est liee et celle de y est libre

I dans r(x , z) ! 8z · (r(y , z) _ y = z), la premiere occurrence de zest libre et les deux suivantes sont liees

On note souvent �(x1, . . . , xn) pour indiquer que � possede exactementx1, . . . , xn comme variables libres.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Syntaxe

167 Langages du premier ordre : variables libres et liees

Definition

I Une occurrence d’une variable x dans une formule � est uneoccurrence libre si elle ne se trouve dans aucune sous-formule de �,qui commence par une quantification 8x ou 9x .

I Dans le cas contraire, l’occurrence est dite liee.

I Une variable est libre dans une formule si elle a au moins uneoccurrence libre dans cette formule.

I Une formule close est une formule sans variable libre.

Exemples :

I dans 9x · · · p(x , y), l’occurrence de x est liee et celle de y est libre

I dans r(x , z) ! 8z · (r(y , z) _ y = z), la premiere occurrence de zest libre et les deux suivantes sont liees

On note souvent �(x1, . . . , xn) pour indiquer que � possede exactementx1, . . . , xn comme variables libres.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

168 Structures et langages

I On va interpreter les formules dans des structures.

I Une structure M pour un langage L se compose d’un ensemble nonvide M, appele le domaine et d’une interpretation des symboles depredicats par des relations sur M, des symboles de fonctions par desfonctions de M, et des constantes par des elements de M.

I Plus precisement, une structure se aussi composee :I

d’un sous-ensemble de Mn

, note rM, pour chaque symbole de

predicat r d’arite n dans L ;

Id’une fonction de Mm

dans M, notee f M, pour chaque symbole de

fonction f d’arite m dans L ;

Id’un element de M, note cM, pour chaque symbole de constante cdans L.

Page 10: I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´edicats Introduction

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

169 Structures et langages : Exemples

I Un ensemble D muni d’une relation unaire E et d’un elementdistingue a est une structure pour le langage L1 = {r , c}, notee(D,E , a).

I On peut egalement donner un exemple plus concret d’interpretationpour le langage L1 = {r , c} en prenant l’ensemble des nombresnaturels comme domaine d’interpretation, l’ensemble des nombrespremiers pour interpreter le predicat r et le nombre 2 pourinterpreter la constante c .

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

170 Structures et langages : Exemples

L’ensemble des reels RR permet de construire une structure pourL2 = {r , f , g , h, c , d} de la facon suivante :

I on interprete le predicat r comme l’ordre sur les reels ;

I on interprete f comme la fonction +1, g comme +, et h comme ⇥ ;

I on interprete les constantes c et d comme 0 et 1.

On note cette structure

M2 = (RR ,,+1,+,⇥, 0, 1)

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

171 Structures et satisfaction des formules

Etant donne un ensemble de variables V et un domaine M, une valuationpour les variables de V dans M est une fonction v : V ! M qui attribuea chaque variable x 2 V, une valeur v(x) 2 M.Etant donnees une structure M et une valuation v pour V, on definitinductivement la valeur d’un terme t (dont les variables sont dans V),que l’on note tM,v , de la facon suivante :

I si t est une constante c , alors tM,v est cM ;

I si t est la variable x alors tM,v est v(x) ;

I si t est de la forme f (t1, t2, . . . , tn) et si tM,vi

est bi

alorstM,v = f M(b1, b2, . . . , bn) ;

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

172 Structures et satisfaction des formules : exemple

Soit le langage L2 = {r , f , g , h, c , d} et M3 la structure(NN,,+1,+,⇥, 0, 1), ou NN est l’ensemble des entiers positifs (nombresnaturels). La valeur du terme

t1 ⌘ g(y , h(c , x))

pour une valuation v telle que v(x) = 3, v(y) = 4, v(z) = 6 est :

tM3,v1 = 4 + (0⇥ 3) = 4

La valeur du termet2 ⌘ f (g(d , h(y , z)))

est :

tM3,v2 = (1 + (4⇥ 6)) + 1 = 26

Page 11: I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´edicats Introduction

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

172 Structures et satisfaction des formules : exemple

Soit le langage L2 = {r , f , g , h, c , d} et M3 la structure(NN,,+1,+,⇥, 0, 1), ou NN est l’ensemble des entiers positifs (nombresnaturels). La valeur du terme

t1 ⌘ g(y , h(c , x))

pour une valuation v telle que v(x) = 3, v(y) = 4, v(z) = 6 est :

tM3,v1 = 4 + (0⇥ 3) = 4

La valeur du termet2 ⌘ f (g(d , h(y , z)))

est :

tM3,v2 = (1 + (4⇥ 6)) + 1 = 26

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

172 Structures et satisfaction des formules : exemple

Soit le langage L2 = {r , f , g , h, c , d} et M3 la structure(NN,,+1,+,⇥, 0, 1), ou NN est l’ensemble des entiers positifs (nombresnaturels). La valeur du terme

t1 ⌘ g(y , h(c , x))

pour une valuation v telle que v(x) = 3, v(y) = 4, v(z) = 6 est :

tM3,v1 = 4 + (0⇥ 3) = 4

La valeur du termet2 ⌘ f (g(d , h(y , z)))

est :

tM3,v2 = (1 + (4⇥ 6)) + 1 = 26

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

173 Structures et satisfaction des formules

Une formule � construite sur un langage L est satisfaite dans unestructure M et pour une valuation v donnant une valeur aux variables del’ensemble V, note M, v |=�, si et seulement si :

I si L est egalitaire et � ⌘ t1 = t2 alors � est vrai ssi tM,v1 = tM,v

2 ;

I si � ⌘ r(t1, t2, . . . , tn) et tM,vi

= bi

pour i = 1, 2, . . . , n, alors � estvraie ssi (b1, b2, . . . , bn) 2 rM ;

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

174 Structures et satisfaction des formules

I si � ⌘ ¬ 1, � ⌘ 1 _ 2, � ⌘ 1 ^ 2, � ⌘ 1 ! 2, � ⌘ 1 $ 2

alors la valeur de � est calculee a partir des valeurs de 1 et 2

comme dans le cas propositionnel ;

I si � ⌘ 9x · , alors � est vraie ssi il existe une valuation v 0 et unevaleur u 2 M telles que

⇢v 0(y) = v(y) si y 6⌘ xv 0(y) = u si y ⌘ x

et est vraie dans (M, v 0), c’est-a-dire M, v 0|= ;

Page 12: I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´edicats Introduction

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

175 Structures et satisfaction des formules

I si � ⌘ 8x · , alors � est vraie ssi pour toute valuation v 0 et valeuru 2 M telles que

⇢v 0(y) = v(y) si y 6⌘ xv 0(y) = u si y ⌘ x

est vraie dans (M, v 0) ;

La valeur d’une formule � dans une structure M est l’ensemble W desvaluations telles que pour toute valuation v 2 W, M, v |=�.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

176 Structures et satisfaction des formules

Notons que, si � est une formule close, alors sa valeur de verite dans uncouple (M, v), ne depend pas de v .Dans le cas ou une formule close � est vraie dans une structure M, ceque l’on note,

M|=�

On dit que M est un modele pour �.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

177 Structures et satisfaction des formules : exemplesI La structure (D,R , a) du langage L1 = {r , c} est un modele de la

formule

8x · 8y · (r(x , y) ! r(y , x))

ssi la relation R est symetrique.I La formule close suivante

8x · r(x , x)^8x · 8y · (r(x , y) ! r(y , x))^8x · 8y · 8z · (r(x , y) ^ r(y , z) ! r(x , z))

exprime que si une structure (D,R , a) est un modele de la formule,alors R est une relation d’equivalence.

I la formule 8y · r(x , y) est vraie dans la structure(NN,,+1,+,⇥, 0, 1) et la valuation v ssi v(x) = 0 (Rappel : r estinterprete par )

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

178 Structures et satisfaction des formules : exemples

I la formule 9x · 8y · r(x , y) est vraie dans la structure(NN,,+1,+,⇥, 0, 1) ;

I la formule close

8x · 8z · 9y · (x = c _ g(h(x , y), z) = c)

du langage L2 est vraie dans la structure (RR ,,+1,+,⇥, 0, 1) etfausse dans la structure (NN,,+1,+,⇥, 0, 1).

Page 13: I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´edicats Introduction

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

179 Formules valides, formules equivalentes

Soit �(x1, x2, . . . , xn) une formule du premier ordre avec les variableslibres x1, x2, . . . , xn. On appelle cloture universelle de � la formule

8x1 · 8x2 · . . . 8xn · �(x1, x2, . . . , xn)

Soit L un langage du premier ordre, on definit les notions suivantes :

I une structure M satisfait une formule

�(x1, x2, . . . , xn)

si elle satisfait la cloture universelle de � ;

I une formule � est valide si elle est satisfaite par toutes les structuresdu langage L ;

I deux formules � et sont equivalentes si, pour toute structure Met pour toute valuation v , on a (M, v)|=� ssi (M, v)|= .

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

180 Formules valides, formules equivalentes

TheoremeDeux formules � et sont equivalentes si et seulement si la formule�$ est valide.

TheoremeSi, dans une formule, on remplace une sous-formule par une formuleequivalente, alors on obtient une formule equivalente a la formule dedepart.

(Preuves a faire comme exercice).

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

181 Formules valides, formules equivalentes

Exercices (sera fait en TP) : demontrer que

I si � et �! sont des formules valides, alors est une formulevalide ;

I la formule (9x · 8y · �(x , y)) ! (8y · 9x · �(x , y)) est valide ;I la formule (8y · 9x�(x , y)) ! (9x · 8y · �(x , y)) n’est pas valide.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

Montrons que la formule

9x .8y .�(x , y) ! 8y .9x .�(x , y)

est valideRappel : soient

⌘ 1 ! 2

1 ⌘ 9x .8y .�(x , y) 2 ⌘ 8y .9x .�(x , y)

valide ssi pour toute structure µ : µ |= valide ssi pour toute structure µ : si µ |= 1 alors µ |= 2

valide ssi pour toute structure µ : soit µ 6|= 1, ou µ |= 1 et µ |= 2

Page 14: I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´edicats Introduction

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

or si µ |= 1 alors pour toute valuation v ,

9u 2 Dµ : µ, v[x 7!u] |= 8y .�(x , y)

si µ |= 1 alors pour toute valuation v ,

9u 2 Dµ8w 2 Dµ : µ, v[x 7!µ,y 7!w ] |= �(x , y)

On a donc que 8w 2 Dµ : µ, v[x 7!u,y 7!w ] |= �(x , y). Donc on sait que�(x , y) est verifiee pour n’importe quelle valeur attribuee a y si onattribue a x la valeur u. Il su�t donc de choisir cette valeur lors del’evaluation de la quantification existentielle dans la formule

8y9x · �(x , y)

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

184 Formules valides, formules equivalentes

Les couples de formules suivants sont des exemples de formulesequivalentes :

I � et 8x · � si x n’est pas libre dans � ;

I � et 9x · � si x n’est pas libre dans � ;

I 8x · (� ^ ) et (8x · �) ^ (8x · )I 9x · (� _ ) et (9x · �) _ (9x · )I 9x · (�! ) et 9x · (¬� _ )I 9x · � et 9y · �(y/x) si x est libre dans � et y n’apparaıt pas dans �

I 8x · � et 8y · �(y/x) si x est libre dans � et y n’apparaıt pas dans �

Si x n’est pas libre dans , on obtient les equivalences suivantes :

I 8x · (� ^ ) et (8x · �) ^ I 9x · (� ^ ) et (9x · �) ^

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

185 Formules valides, formules equivalentes

Les equivalences suivantes nous permettent de faire passer en tete deformule tous les quantificateurs. Soit � une formule, x une variable et une formule dans laquelle x n’est pas libre :

I ¬8x · � et 9x · ¬�I ¬9x · � et 8x · ¬�I (8x · �) _ et 8x · (� _ )I (9x · �) ^ et 9x · (� ^ )I ( ! 8x · �) et 8x · ( ! �)

I ( ! 9x · �) et 9x · ( ! �)

I (8x · �) ! et 9x · (�! )

I (9x · �) ! et 8x · (�! )

Notons egalement que les formules suivantes sont equivalentes :

I 8x · 8y · � et 8y · 8x · �I 9x · 9y · � et 9y · 9x · �

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

186 Exercice (sera fait en TP)

Demontrer les equivalences precedentes.

Page 15: I la logique La Logique des Pr´edicats - Homepage de … · INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique des Pr´edicats Introduction

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique des Predicats

Semantique

187 Modelisation de probleme

Nous allons nous interesser a la resolution d’une enigme posee parEinstein.