sophie pinchinat [email protected]/sophie.pinchinat/log/logcoursfo.pdf · autre...

71
Introduction Un exemple Syntaxe du calcul des pr´ edicats emantique du calcul des pr´ edicats Manipulation de formules Compl´ etude et d´ ecidabilit´ e Logique : le calcul des pr´ edicats Sophie Pinchinat [email protected] IRISA, Universit´ e de Rennes 1 UE LOG – ann´ ee 2018-2019 Sophie Pinchinat Logique : le calcul des pr´ edicats UE LOG – ann´ ee 2018-2019 1/49

Upload: nguyenphuc

Post on 10-Sep-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Logique : le calcul des predicats

Sophie [email protected]

IRISA, Universite de Rennes 1

UE LOG – annee 2018-2019

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 1/49

Page 2: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

1 Introduction

2 Un exemple

3 Syntaxe du calcul des predicats

4 Semantique du calcul des predicats

5 Manipulation de formules

6 Completude et decidabilite

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 2/49

Page 3: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Motivation

Le calcul des propositions est bien trop limite pour decrire des situations reelles.

I Il permet de n’exprimer que des enonces dont la verite ne depend pasd’individus/objets comme par exemple “Il pleut”.

I Il ne peut pas exprimer des enonces qui mettent en jeu des individus oudes objets comme par exemple

I “Si x est le pere de y et si z est le pere de x alors z est un grand-pere de y”I “Toute personne a un pere”.I ...

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 3/49

Page 4: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Relation avec le calcul propositionnel

Le calcul des predicats herite des proprietes etablies pour celui des propositions.

I Le langage est defini inductivement.

I Les enonces de cette logique sont interpretes, comme ceux du calculpropositionnel. Une interpretation en calcul des predicats joue le role d’unevaluation dans le calcul propositionnel. Etant donnee une interpretation,on peut evaluer les formules du calcul des predicats et le resultat de cetteevaluation est soit “vrai” soit “faux”.

Remarque (Difference algorithmique importante)

On peut montrer qu’il n’existe pas d’algorithme permettant de repondre a laquestion de la validite d’une formule du calcul des predicat. On dit que le calculdes predicat est indecidable.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 4/49

Page 5: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Rappels sur les fonctions

Etant donnes un ensemble E et un entier k ∈ IN, une fonction d’arite k (ouk-aire) sur E est une fonction de E k dans E .

Exemple

1. Soit la fonction d’arite 1 succ : IN→ IN definie par succ(n) = n + 1 et lafonction 0 d’arite zero (pas d’argument, donc une constante).

2. Soit la fonction binaire (d’arite 2) +3 : (ZZ/3ZZ)2 → ZZ/3ZZ qui fait lasomme de deux elements modulo 3.

(E k = E × E × . . .E , k fois)

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 5/49

Page 6: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Rappels sur les relations

Etant donnes un ensemble E et un entier k ∈ IN, une relation d’arite k (ouk-aire) sur E est un sous-ensemble de E k .

Exemple

1. E = {1, 2, 3} et R est la relation binaire (d’arite 2) definie parR = {(1, 1), (2, 2), (3, 3)} ⊆ E 2.

2. E = IN et S est la relation binaire S = {(n, n + 1) | n ∈ IN} ⊆ E 2.

3. E = {1, 2, 3} et R est la relation unaire (d’arite 1) definie par R = {1, 2}.Notez que l’on a bien R ⊆ E

Remarque

Si R est une relation d’arite n, on note R(a1, ..., an) pour (a1, ..., an) ∈ R.

Exercice

Quel est l’ensemble E 0 ?

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 6/49

Page 7: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Valeur de verite

Exemple

On pourra ecrire des formules telles que :

1. ϕG : ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z)

2. ϕP : ∀x∃yP(y , x)

3. ϕC : ∀x∃yG(y , x)

4. ϕD : ∀x∀zP(z , f (x))→ G(z , x)

5. ϕF : (ϕG ∧ ϕP)→ ϕC

On ne peut donner une valeur de verite a ces formules :

I On ne sait dans quel ensemble les variables x , y , z prennent leur valeur.

I On ne connaıt pas non plus la fonction f .

I On ne connaıt pas les relations binaires P et G .

Il faut fixer une interpretation pour pouvoir evaluer les formules.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 7/49

Page 8: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Valeur de verite

Exemple

On pourra ecrire des formules telles que :

1. ϕG : ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z)

2. ϕP : ∀x∃yP(y , x)

3. ϕC : ∀x∃yG(y , x)

4. ϕD : ∀x∀zP(z , f (x))→ G(z , x)

5. ϕF : (ϕG ∧ ϕP)→ ϕC

On ne peut donner une valeur de verite a ces formules :

I On ne sait dans quel ensemble les variables x , y , z prennent leur valeur.

I On ne connaıt pas non plus la fonction f .

I On ne connaıt pas les relations binaires P et G .

Il faut fixer une interpretation pour pouvoir evaluer les formules.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 7/49

Page 9: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Valeur de verite

Exemple

On pourra ecrire des formules telles que :

1. ϕG : ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z)

2. ϕP : ∀x∃yP(y , x)

3. ϕC : ∀x∃yG(y , x)

4. ϕD : ∀x∀zP(z , f (x))→ G(z , x)

5. ϕF : (ϕG ∧ ϕP)→ ϕC

On ne peut donner une valeur de verite a ces formules :

I On ne sait dans quel ensemble les variables x , y , z prennent leur valeur.

I On ne connaıt pas non plus la fonction f .

I On ne connaıt pas les relations binaires P et G .

Il faut fixer une interpretation pour pouvoir evaluer les formules.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 7/49

Page 10: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 1

Les objets/individus sont les etres humains, avec tout ce qui en decoule.I P(x , y) signifie que “x est le pere de y”, G(x , y) signifie

que “x est ungrand-pere de y”, et f retourne la mere d’un individu.

I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous etreshumains x , y , z , si x est le pere de y et y est le pere de z , alors x est ungrand-pere de z”.

I ϕP = ∀x∃yP(y , x) signifie “pour tout individu x il existe un individu y telque y est le pere de x” c-a-d. “tout individu a un pere”.

I ϕC = ∀x∃yG(y , x) signifie “pour tout individu x il existe un individu y telque y est le grand pere de x”, c-a-d. “tout individu a un grand-pere”.

I ϕD = ∀x∀zP(z , f (x))→ G(z , x) signifie “si z est le pere de la mere de x ,alors z est un grand-pere de x”.

Ces quatre formules sont vraies dans l’Interpretation 1.L’enonce ϕF = ((ϕG ∧ ϕP)→ ϕC ) est donc aussi vraie.

Remarque

Les deux formules ϕP et ϕG sont loin de modeliser toutes les proprietes desrelations P et G , respectivement : par exemple, on n’a pas enonce que “le perede chaque individu est unique”, ni qu’“un individu x peut etre le grand-pere d’unautre z sans qu’il existe un individu dont x soit le pere et qui soit le pere de z”.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 8/49

Page 11: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 1

Les objets/individus sont les etres humains, avec tout ce qui en decoule.I P(x , y) signifie que “x est le pere de y”, G(x , y) signifie que “x est un

grand-pere de y”, et f retourne la mere d’un individu.

I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous etreshumains x , y , z , si x est le pere de y et y est le pere de z , alors x est ungrand-pere de z”.

I ϕP = ∀x∃yP(y , x) signifie “pour tout individu x il existe un individu y telque y est le pere de x” c-a-d. “tout individu a un pere”.

I ϕC = ∀x∃yG(y , x) signifie “pour tout individu x il existe un individu y telque y est le grand pere de x”, c-a-d. “tout individu a un grand-pere”.

I ϕD = ∀x∀zP(z , f (x))→ G(z , x) signifie “si z est le pere de la mere de x ,alors z est un grand-pere de x”.

Ces quatre formules sont vraies dans l’Interpretation 1.L’enonce ϕF = ((ϕG ∧ ϕP)→ ϕC ) est donc aussi vraie.

Remarque

Les deux formules ϕP et ϕG sont loin de modeliser toutes les proprietes desrelations P et G , respectivement : par exemple, on n’a pas enonce que “le perede chaque individu est unique”, ni qu’“un individu x peut etre le grand-pere d’unautre z sans qu’il existe un individu dont x soit le pere et qui soit le pere de z”.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 8/49

Page 12: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 1

Les objets/individus sont les etres humains, avec tout ce qui en decoule.I P(x , y) signifie que “x est le pere de y”, G(x , y) signifie que “x est un

grand-pere de y”, et f retourne la mere d’un individu.I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie

“pour tous etreshumains x , y , z , si x est le pere de y et y est le pere de z , alors x est ungrand-pere de z”.

I ϕP = ∀x∃yP(y , x) signifie “pour tout individu x il existe un individu y telque y est le pere de x” c-a-d. “tout individu a un pere”.

I ϕC = ∀x∃yG(y , x) signifie “pour tout individu x il existe un individu y telque y est le grand pere de x”, c-a-d. “tout individu a un grand-pere”.

I ϕD = ∀x∀zP(z , f (x))→ G(z , x) signifie “si z est le pere de la mere de x ,alors z est un grand-pere de x”.

Ces quatre formules sont vraies dans l’Interpretation 1.L’enonce ϕF = ((ϕG ∧ ϕP)→ ϕC ) est donc aussi vraie.

Remarque

Les deux formules ϕP et ϕG sont loin de modeliser toutes les proprietes desrelations P et G , respectivement : par exemple, on n’a pas enonce que “le perede chaque individu est unique”, ni qu’“un individu x peut etre le grand-pere d’unautre z sans qu’il existe un individu dont x soit le pere et qui soit le pere de z”.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 8/49

Page 13: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 1

Les objets/individus sont les etres humains, avec tout ce qui en decoule.I P(x , y) signifie que “x est le pere de y”, G(x , y) signifie que “x est un

grand-pere de y”, et f retourne la mere d’un individu.I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous etres

humains x , y , z , si x est le pere de y et y est le pere de z , alors x est ungrand-pere de z”.

I ϕP = ∀x∃yP(y , x) signifie “pour tout individu x il existe un individu y telque y est le pere de x” c-a-d. “tout individu a un pere”.

I ϕC = ∀x∃yG(y , x) signifie “pour tout individu x il existe un individu y telque y est le grand pere de x”, c-a-d. “tout individu a un grand-pere”.

I ϕD = ∀x∀zP(z , f (x))→ G(z , x) signifie “si z est le pere de la mere de x ,alors z est un grand-pere de x”.

Ces quatre formules sont vraies dans l’Interpretation 1.L’enonce ϕF = ((ϕG ∧ ϕP)→ ϕC ) est donc aussi vraie.

Remarque

Les deux formules ϕP et ϕG sont loin de modeliser toutes les proprietes desrelations P et G , respectivement : par exemple, on n’a pas enonce que “le perede chaque individu est unique”, ni qu’“un individu x peut etre le grand-pere d’unautre z sans qu’il existe un individu dont x soit le pere et qui soit le pere de z”.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 8/49

Page 14: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 1

Les objets/individus sont les etres humains, avec tout ce qui en decoule.I P(x , y) signifie que “x est le pere de y”, G(x , y) signifie que “x est un

grand-pere de y”, et f retourne la mere d’un individu.I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous etres

humains x , y , z , si x est le pere de y et y est le pere de z , alors x est ungrand-pere de z”.

I ϕP = ∀x∃yP(y , x) signifie

“pour tout individu x il existe un individu y telque y est le pere de x” c-a-d. “tout individu a un pere”.

I ϕC = ∀x∃yG(y , x) signifie “pour tout individu x il existe un individu y telque y est le grand pere de x”, c-a-d. “tout individu a un grand-pere”.

I ϕD = ∀x∀zP(z , f (x))→ G(z , x) signifie “si z est le pere de la mere de x ,alors z est un grand-pere de x”.

Ces quatre formules sont vraies dans l’Interpretation 1.L’enonce ϕF = ((ϕG ∧ ϕP)→ ϕC ) est donc aussi vraie.

Remarque

Les deux formules ϕP et ϕG sont loin de modeliser toutes les proprietes desrelations P et G , respectivement : par exemple, on n’a pas enonce que “le perede chaque individu est unique”, ni qu’“un individu x peut etre le grand-pere d’unautre z sans qu’il existe un individu dont x soit le pere et qui soit le pere de z”.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 8/49

Page 15: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 1

Les objets/individus sont les etres humains, avec tout ce qui en decoule.I P(x , y) signifie que “x est le pere de y”, G(x , y) signifie que “x est un

grand-pere de y”, et f retourne la mere d’un individu.I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous etres

humains x , y , z , si x est le pere de y et y est le pere de z , alors x est ungrand-pere de z”.

I ϕP = ∀x∃yP(y , x) signifie “pour tout individu x il existe un individu y telque y est le pere de x” c-a-d. “tout individu a un pere”.

I ϕC = ∀x∃yG(y , x) signifie “pour tout individu x il existe un individu y telque y est le grand pere de x”, c-a-d. “tout individu a un grand-pere”.

I ϕD = ∀x∀zP(z , f (x))→ G(z , x) signifie “si z est le pere de la mere de x ,alors z est un grand-pere de x”.

Ces quatre formules sont vraies dans l’Interpretation 1.L’enonce ϕF = ((ϕG ∧ ϕP)→ ϕC ) est donc aussi vraie.

Remarque

Les deux formules ϕP et ϕG sont loin de modeliser toutes les proprietes desrelations P et G , respectivement : par exemple, on n’a pas enonce que “le perede chaque individu est unique”, ni qu’“un individu x peut etre le grand-pere d’unautre z sans qu’il existe un individu dont x soit le pere et qui soit le pere de z”.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 8/49

Page 16: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 1

Les objets/individus sont les etres humains, avec tout ce qui en decoule.I P(x , y) signifie que “x est le pere de y”, G(x , y) signifie que “x est un

grand-pere de y”, et f retourne la mere d’un individu.I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous etres

humains x , y , z , si x est le pere de y et y est le pere de z , alors x est ungrand-pere de z”.

I ϕP = ∀x∃yP(y , x) signifie “pour tout individu x il existe un individu y telque y est le pere de x” c-a-d. “tout individu a un pere”.

I ϕC = ∀x∃yG(y , x) signifie

“pour tout individu x il existe un individu y telque y est le grand pere de x”, c-a-d. “tout individu a un grand-pere”.

I ϕD = ∀x∀zP(z , f (x))→ G(z , x) signifie “si z est le pere de la mere de x ,alors z est un grand-pere de x”.

Ces quatre formules sont vraies dans l’Interpretation 1.L’enonce ϕF = ((ϕG ∧ ϕP)→ ϕC ) est donc aussi vraie.

Remarque

Les deux formules ϕP et ϕG sont loin de modeliser toutes les proprietes desrelations P et G , respectivement : par exemple, on n’a pas enonce que “le perede chaque individu est unique”, ni qu’“un individu x peut etre le grand-pere d’unautre z sans qu’il existe un individu dont x soit le pere et qui soit le pere de z”.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 8/49

Page 17: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 1

Les objets/individus sont les etres humains, avec tout ce qui en decoule.I P(x , y) signifie que “x est le pere de y”, G(x , y) signifie que “x est un

grand-pere de y”, et f retourne la mere d’un individu.I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous etres

humains x , y , z , si x est le pere de y et y est le pere de z , alors x est ungrand-pere de z”.

I ϕP = ∀x∃yP(y , x) signifie “pour tout individu x il existe un individu y telque y est le pere de x” c-a-d. “tout individu a un pere”.

I ϕC = ∀x∃yG(y , x) signifie “pour tout individu x il existe un individu y telque y est le grand pere de x”, c-a-d. “tout individu a un grand-pere”.

I ϕD = ∀x∀zP(z , f (x))→ G(z , x) signifie “si z est le pere de la mere de x ,alors z est un grand-pere de x”.

Ces quatre formules sont vraies dans l’Interpretation 1.L’enonce ϕF = ((ϕG ∧ ϕP)→ ϕC ) est donc aussi vraie.

Remarque

Les deux formules ϕP et ϕG sont loin de modeliser toutes les proprietes desrelations P et G , respectivement : par exemple, on n’a pas enonce que “le perede chaque individu est unique”, ni qu’“un individu x peut etre le grand-pere d’unautre z sans qu’il existe un individu dont x soit le pere et qui soit le pere de z”.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 8/49

Page 18: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 1

Les objets/individus sont les etres humains, avec tout ce qui en decoule.I P(x , y) signifie que “x est le pere de y”, G(x , y) signifie que “x est un

grand-pere de y”, et f retourne la mere d’un individu.I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous etres

humains x , y , z , si x est le pere de y et y est le pere de z , alors x est ungrand-pere de z”.

I ϕP = ∀x∃yP(y , x) signifie “pour tout individu x il existe un individu y telque y est le pere de x” c-a-d. “tout individu a un pere”.

I ϕC = ∀x∃yG(y , x) signifie “pour tout individu x il existe un individu y telque y est le grand pere de x”, c-a-d. “tout individu a un grand-pere”.

I ϕD = ∀x∀zP(z , f (x))→ G(z , x) signifie

“si z est le pere de la mere de x ,alors z est un grand-pere de x”.

Ces quatre formules sont vraies dans l’Interpretation 1.L’enonce ϕF = ((ϕG ∧ ϕP)→ ϕC ) est donc aussi vraie.

Remarque

Les deux formules ϕP et ϕG sont loin de modeliser toutes les proprietes desrelations P et G , respectivement : par exemple, on n’a pas enonce que “le perede chaque individu est unique”, ni qu’“un individu x peut etre le grand-pere d’unautre z sans qu’il existe un individu dont x soit le pere et qui soit le pere de z”.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 8/49

Page 19: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 1

Les objets/individus sont les etres humains, avec tout ce qui en decoule.I P(x , y) signifie que “x est le pere de y”, G(x , y) signifie que “x est un

grand-pere de y”, et f retourne la mere d’un individu.I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous etres

humains x , y , z , si x est le pere de y et y est le pere de z , alors x est ungrand-pere de z”.

I ϕP = ∀x∃yP(y , x) signifie “pour tout individu x il existe un individu y telque y est le pere de x” c-a-d. “tout individu a un pere”.

I ϕC = ∀x∃yG(y , x) signifie “pour tout individu x il existe un individu y telque y est le grand pere de x”, c-a-d. “tout individu a un grand-pere”.

I ϕD = ∀x∀zP(z , f (x))→ G(z , x) signifie “si z est le pere de la mere de x ,alors z est un grand-pere de x”.

Ces quatre formules sont vraies dans l’Interpretation 1.L’enonce ϕF = ((ϕG ∧ ϕP)→ ϕC ) est donc aussi vraie.

Remarque

Les deux formules ϕP et ϕG sont loin de modeliser toutes les proprietes desrelations P et G , respectivement : par exemple, on n’a pas enonce que “le perede chaque individu est unique”, ni qu’“un individu x peut etre le grand-pere d’unautre z sans qu’il existe un individu dont x soit le pere et qui soit le pere de z”.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 8/49

Page 20: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 1

Les objets/individus sont les etres humains, avec tout ce qui en decoule.I P(x , y) signifie que “x est le pere de y”, G(x , y) signifie que “x est un

grand-pere de y”, et f retourne la mere d’un individu.I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous etres

humains x , y , z , si x est le pere de y et y est le pere de z , alors x est ungrand-pere de z”.

I ϕP = ∀x∃yP(y , x) signifie “pour tout individu x il existe un individu y telque y est le pere de x” c-a-d. “tout individu a un pere”.

I ϕC = ∀x∃yG(y , x) signifie “pour tout individu x il existe un individu y telque y est le grand pere de x”, c-a-d. “tout individu a un grand-pere”.

I ϕD = ∀x∀zP(z , f (x))→ G(z , x) signifie “si z est le pere de la mere de x ,alors z est un grand-pere de x”.

Ces quatre formules sont vraies dans l’Interpretation 1.L’enonce ϕF = ((ϕG ∧ ϕP)→ ϕC ) est donc aussi vraie.

Remarque

Les deux formules ϕP et ϕG sont loin de modeliser toutes les proprietes desrelations P et G , respectivement : par exemple, on n’a pas enonce que “le perede chaque individu est unique”, ni qu’“un individu x peut etre le grand-pere d’unautre z sans qu’il existe un individu dont x soit le pere et qui soit le pere de z”.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 8/49

Page 21: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 2

Les objets sont les trois sommets a, b, c du graphe

a

b c

I P decrit la relation predecesseur, donc les couples (a, b), (b, c) et (c, a), etG decrit la relation successeur, donc les couples (b, a), (c, b) et (a, c).

I La fonction f s’interprete comme a 7→ a, b 7→ b, c 7→ a.

I ϕP = ∀x∃yP(y , x) signifie

“tout point a un predecesseur immediat”Elle est vraie dans ce graphe.

I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous pointsx , y , z , si x precede immed. y et si y precede immed. z , alors x suitimmed. z”

Elle est vraie dans ce graphe.I ϕC = ∀x∃yG(y , x) “tout point a un successeur immediat”

Elle est vraie dans ce graphe.I ϕF = ((ϕP ∧ ϕG )→ ϕC ) est donc vraie dans ce graphe.I ϕD = ∀x∀zP(z , f (x))→ G(z , x) “pour tout z et pour tout x , si z precede

immediatement f (x), alors z suit immediatement x”.Elle est fausse.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 9/49

Page 22: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 2

Les objets sont les trois sommets a, b, c du graphe

a

b c

I P decrit la relation predecesseur, donc les couples (a, b), (b, c) et (c, a), etG decrit la relation successeur, donc les couples (b, a), (c, b) et (a, c).

I La fonction f s’interprete comme a 7→ a, b 7→ b, c 7→ a.

I ϕP = ∀x∃yP(y , x) signifie “tout point a un predecesseur immediat”Elle est vraie dans ce graphe.

I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous pointsx , y , z , si x precede immed. y et si y precede immed. z , alors x suitimmed. z”

Elle est vraie dans ce graphe.I ϕC = ∀x∃yG(y , x) “tout point a un successeur immediat”

Elle est vraie dans ce graphe.I ϕF = ((ϕP ∧ ϕG )→ ϕC ) est donc vraie dans ce graphe.I ϕD = ∀x∀zP(z , f (x))→ G(z , x) “pour tout z et pour tout x , si z precede

immediatement f (x), alors z suit immediatement x”.Elle est fausse.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 9/49

Page 23: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 2

Les objets sont les trois sommets a, b, c du graphe

a

b c

I P decrit la relation predecesseur, donc les couples (a, b), (b, c) et (c, a), etG decrit la relation successeur, donc les couples (b, a), (c, b) et (a, c).

I La fonction f s’interprete comme a 7→ a, b 7→ b, c 7→ a.

I ϕP = ∀x∃yP(y , x) signifie “tout point a un predecesseur immediat”Elle est vraie dans ce graphe.

I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie

“pour tous pointsx , y , z , si x precede immed. y et si y precede immed. z , alors x suitimmed. z”

Elle est vraie dans ce graphe.I ϕC = ∀x∃yG(y , x) “tout point a un successeur immediat”

Elle est vraie dans ce graphe.I ϕF = ((ϕP ∧ ϕG )→ ϕC ) est donc vraie dans ce graphe.I ϕD = ∀x∀zP(z , f (x))→ G(z , x) “pour tout z et pour tout x , si z precede

immediatement f (x), alors z suit immediatement x”.Elle est fausse.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 9/49

Page 24: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 2

Les objets sont les trois sommets a, b, c du graphe

a

b c

I P decrit la relation predecesseur, donc les couples (a, b), (b, c) et (c, a), etG decrit la relation successeur, donc les couples (b, a), (c, b) et (a, c).

I La fonction f s’interprete comme a 7→ a, b 7→ b, c 7→ a.

I ϕP = ∀x∃yP(y , x) signifie “tout point a un predecesseur immediat”Elle est vraie dans ce graphe.

I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous pointsx , y , z , si x precede immed. y et si y precede immed. z , alors x suitimmed. z”

Elle est vraie dans ce graphe.

I ϕC = ∀x∃yG(y , x) “tout point a un successeur immediat”Elle est vraie dans ce graphe.

I ϕF = ((ϕP ∧ ϕG )→ ϕC ) est donc vraie dans ce graphe.I ϕD = ∀x∀zP(z , f (x))→ G(z , x) “pour tout z et pour tout x , si z precede

immediatement f (x), alors z suit immediatement x”.Elle est fausse.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 9/49

Page 25: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 2

Les objets sont les trois sommets a, b, c du graphe

a

b c

I P decrit la relation predecesseur, donc les couples (a, b), (b, c) et (c, a), etG decrit la relation successeur, donc les couples (b, a), (c, b) et (a, c).

I La fonction f s’interprete comme a 7→ a, b 7→ b, c 7→ a.

I ϕP = ∀x∃yP(y , x) signifie “tout point a un predecesseur immediat”Elle est vraie dans ce graphe.

I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous pointsx , y , z , si x precede immed. y et si y precede immed. z , alors x suitimmed. z”

Elle est vraie dans ce graphe.I ϕC = ∀x∃yG(y , x)

“tout point a un successeur immediat”Elle est vraie dans ce graphe.

I ϕF = ((ϕP ∧ ϕG )→ ϕC ) est donc vraie dans ce graphe.I ϕD = ∀x∀zP(z , f (x))→ G(z , x) “pour tout z et pour tout x , si z precede

immediatement f (x), alors z suit immediatement x”.Elle est fausse.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 9/49

Page 26: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 2

Les objets sont les trois sommets a, b, c du graphe

a

b c

I P decrit la relation predecesseur, donc les couples (a, b), (b, c) et (c, a), etG decrit la relation successeur, donc les couples (b, a), (c, b) et (a, c).

I La fonction f s’interprete comme a 7→ a, b 7→ b, c 7→ a.

I ϕP = ∀x∃yP(y , x) signifie “tout point a un predecesseur immediat”Elle est vraie dans ce graphe.

I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous pointsx , y , z , si x precede immed. y et si y precede immed. z , alors x suitimmed. z”

Elle est vraie dans ce graphe.I ϕC = ∀x∃yG(y , x) “tout point a un successeur immediat”

Elle est vraie dans ce graphe.

I ϕF = ((ϕP ∧ ϕG )→ ϕC ) est donc vraie dans ce graphe.I ϕD = ∀x∀zP(z , f (x))→ G(z , x) “pour tout z et pour tout x , si z precede

immediatement f (x), alors z suit immediatement x”.Elle est fausse.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 9/49

Page 27: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 2

Les objets sont les trois sommets a, b, c du graphe

a

b c

I P decrit la relation predecesseur, donc les couples (a, b), (b, c) et (c, a), etG decrit la relation successeur, donc les couples (b, a), (c, b) et (a, c).

I La fonction f s’interprete comme a 7→ a, b 7→ b, c 7→ a.

I ϕP = ∀x∃yP(y , x) signifie “tout point a un predecesseur immediat”Elle est vraie dans ce graphe.

I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous pointsx , y , z , si x precede immed. y et si y precede immed. z , alors x suitimmed. z”

Elle est vraie dans ce graphe.I ϕC = ∀x∃yG(y , x) “tout point a un successeur immediat”

Elle est vraie dans ce graphe.I ϕF = ((ϕP ∧ ϕG )→ ϕC ) est donc vraie dans ce graphe.

I ϕD = ∀x∀zP(z , f (x))→ G(z , x) “pour tout z et pour tout x , si z precedeimmediatement f (x), alors z suit immediatement x”.

Elle est fausse.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 9/49

Page 28: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 2

Les objets sont les trois sommets a, b, c du graphe

a

b c

I P decrit la relation predecesseur, donc les couples (a, b), (b, c) et (c, a), etG decrit la relation successeur, donc les couples (b, a), (c, b) et (a, c).

I La fonction f s’interprete comme a 7→ a, b 7→ b, c 7→ a.

I ϕP = ∀x∃yP(y , x) signifie “tout point a un predecesseur immediat”Elle est vraie dans ce graphe.

I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous pointsx , y , z , si x precede immed. y et si y precede immed. z , alors x suitimmed. z”

Elle est vraie dans ce graphe.I ϕC = ∀x∃yG(y , x) “tout point a un successeur immediat”

Elle est vraie dans ce graphe.I ϕF = ((ϕP ∧ ϕG )→ ϕC ) est donc vraie dans ce graphe.I ϕD = ∀x∀zP(z , f (x))→ G(z , x)

“pour tout z et pour tout x , si z precedeimmediatement f (x), alors z suit immediatement x”.

Elle est fausse.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 9/49

Page 29: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 2

Les objets sont les trois sommets a, b, c du graphe

a

b c

I P decrit la relation predecesseur, donc les couples (a, b), (b, c) et (c, a), etG decrit la relation successeur, donc les couples (b, a), (c, b) et (a, c).

I La fonction f s’interprete comme a 7→ a, b 7→ b, c 7→ a.

I ϕP = ∀x∃yP(y , x) signifie “tout point a un predecesseur immediat”Elle est vraie dans ce graphe.

I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) signifie “pour tous pointsx , y , z , si x precede immed. y et si y precede immed. z , alors x suitimmed. z”

Elle est vraie dans ce graphe.I ϕC = ∀x∃yG(y , x) “tout point a un successeur immediat”

Elle est vraie dans ce graphe.I ϕF = ((ϕP ∧ ϕG )→ ϕC ) est donc vraie dans ce graphe.I ϕD = ∀x∀zP(z , f (x))→ G(z , x) “pour tout z et pour tout x , si z precede

immediatement f (x), alors z suit immediatement x”.Elle est fausse.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 9/49

Page 30: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 3

Les objets sont les quatre sommets a, b, c, d du graphe

a b

cd

I P(x , y) “x precede immediatement y sur le graphe”.

I G(x , y) “x suit immediatement y sur le graphe”.

I ϕP = ∀x∃yP(y , x) “ tout point a un predecesseur immediat”. Elle estvraie.

I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) “pour tous points x , y , z , si xprecede immed. y et si y precede immed. z , alors x suit immed. z”. Elleest fausse.

I ϕC = ∀x∃yG(y , x) “tout point a un successeur immediat”. Elle est vraie.

ϕF = ((ϕP ∧ ϕG )→ ϕC ) est donc vraie dans cette interpretation.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 10/49

Page 31: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 4

Les objets sont les quatre sommets a, b, c, d du graphe

a b

cd

I P(x , y) “x precede immed. y” et G(x , y) “pour aller de x a y onrencontre exactement un point z different de x et de y”.

I ϕP = ∀x∃yP(y , x) “tout point a un predecesseur immediat”. Elle est vraie.

I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) “pour tous points x , y , z , si xprecede immed. y et si y precede immed. z , alors x suit immed. z”.Elle estvraie.

I ϕC = ∀x∃yG(y , x) “tout point a un successeur immediat”. Elle est vraie.

ϕF = ((ϕP ∧ ϕG )→ ϕC ) est donc vraie dans cette interpretation.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 11/49

Page 32: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 5

Les objets sont les elements de IN, les entiers naturels.

I P(x , y) “x = y + 1”. Ex. P(5, 4) est vraie, mais P(4, 5) est fausse.

I G(x , y) “x = y + 2”. Ex. G(6, 4) est vraie, mais G(4, 6) est fausse.

I ϕP = ∀x∃yP(y , x) “pour tout x ∈ IN, il existe y ∈ IN tel que y = x + 1”.VRAIE.

I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) “pour tous x , y , z ∈ IN, six = y + 1 et z = y + 1 alors z = x + 2”. VRAIE.

I ϕC = ∀x∃yG(y , x) “pour tout x ∈ IN, il existe y ∈ IN tel que y = x + 2”.VRAIE.

ϕF = ((ϕP ∧ ϕG )→ ϕC ) est donc vraie dans cette interpretation.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 12/49

Page 33: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation 6

Les objets sont les elements de IN, les entiers naturels.

I P(x , y) “y = x + 1”. Ex. P(5, 4) est vraie, mais P(4, 5) est fausse.

I G(x , y) “y = x + 2”. Ex. G(6, 4) est vraie, mais G(4, 6) est fausse.

I ϕP = ∀x∃yP(y , x) “pour tout x ∈ IN, il existe un entier y tel quex = y + 1”. FAUSSE.

I ϕG = ∀x∀y∀z(P(x , y) ∧ P(y , z))→ G(x , z) “pour tous entiers x , y , z , six = y + 1 et z = y + 1 alors z = x + 2”. VRAIE.

I ϕC = ∀x∃yG(y , x) “pour tout x ∈ IN, il existe z ∈ setn tel que x = z + 2”.FAUSSE

ϕF = ((ϕP ∧ ϕG )→ ϕC ) est donc vraie dans cette interpretation.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 13/49

Page 34: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Comparaison des interpretations : leurs points communs

Informellement, une interpretation est donnee par :

I un domaine pour les objets, e.g., , l’ensemble des entiers naturels,l’ensemble des etudiants d’une classe, l’ensemble des sommets d’ungraphe, l’ensemble des graphes, etc.,

I des fonctions sur le domaine pour les symboles de fonctions,

I des relations sur les objets du domaine pour les symboles de relations.

Exercice

Trouver les symboles de fonctions dans les formules de l’introduction et lesoperateurs qui leur correspondent pour chacune des interpretations.Trouver les symboles de relations dans les formules de l’introduction et les rela-tions qui leur correspondent pour chacune des interpretations.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 14/49

Page 35: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretations

I Certaines interpretations ont finies (Interpretations 2,3,4), d’autres sontinfinies (Interpretations 1,5,6).

I Les formules possedent autant d’interpretations que l’on peut imaginer.Pour une interpretation donnee, certaines formules y sont vraies d’autresfausses.

I On pourra distinguer certaines formules qui sont vraies dans toutes lesinterpretations, c-a-d. les validites.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 15/49

Page 36: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Vue d’ensemble du calcul des predicats

Le calcul des predicats (ou Logique du premier ordre) permet d’exprimer desrelations entre objets Il est donc plus riche que le calcul propositionnel.Le calcul des predicats contient :

I des symboles de variables x , y , z , . . . qui prennent leur valeurs dansl’ensemble des objets (ou entites) du discours.

I des symboles de fonctions (c, f (x), g(x , y), . . .) permettant d’operer surles objets.

I des symboles de relations (P(x),Q(x , y),R(x , y , z), . . .) permettant derelier les objets entre eux.

Pour former les phrases du langage du premier ordre on utilise :

I Des formules atomiques : celles basees sur les relations, ex. Q(c, f (x)),qui s’evaluent a vrai ou faux (selon les interpretations).

I Leur combinaison a l’aide des connecteurs classiques de la logique ducalcul propositionnel,

I mais aussi de connecteurs ∀x et ∃x (autant que de variables x), appelesquantificateurs (leur semantique est celle de nos mathematiques).

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 16/49

Page 37: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Syntaxe du calcul des predicats

Elle s’effectue en 2 etapes.

1. Syntaxe des termes et des formules atomiques.

2. Syntaxe des formules plus complexes.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 17/49

Page 38: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Syntaxe des termes

On se fixe

I un ensemble infini de variables X

I un ensemble de F = {c, f , g , . . .} de symboles de fonctions avec leur aritear : F → IN.

Definition

L’ensemble des termes T XF sur F et X est defini par induction.

I x ∈ T XF pour toute variable x ∈ X

I c ∈ T XF pour tout symbole d’arite 0 (constante)

I si ar(f ) = n et t1, . . . , tn ∈ T XF , alors f (t1, . . . , tn) ∈ T X

F .

Un terme decrit un objet du domaine de l’interpretation choisie. Il est dit closs’il ne contient aucune variable.

Remarque

On notera F = {c(0), f (1), . . .} pour indiquer que ar(c) = 0, ar(f ) = 1, etc.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 18/49

Page 39: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Exemple de termes

Soit F = {0(0), s(1),+(2), ∗(2)}.

Exemple

Soient x , y ∈ X . L’expression +(∗(s(s(0)), x), s(y)) est un terme, que l’on peutrepresenter par l’arbre suivant :

+

s

s

0

x

s

y

Le terme +(∗(s(s(0)), x), s(y)) n’est pas clos.

Parfois, nous noterons ABUSIVEMENT (s(s(0)) ∗ x) + s(y))

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 19/49

Page 40: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Langage, vocabulaire pour les enonces/proprietes

Pour toute la suite, on se fixe un ensemble X = {x , y , z , . . .} de variables.

En plus des symboles de fonctions, on aura besoin de symboles de relationspour les enoncer des proprietes, et obtenir un langage du premier ordre.

Definition

Un langage du premier ordre est une paire S = (F ,P) ou :

I F est une signature pour les termes.

I P est une signature pour les formules atomiques.

Exemple (Enonces sur les ensembles)

F = {∅(0),∩(2),∪(2), Compl(1)} et P = {=(2),⊆(2)}.

Exercice

I Quel(s) langage(s) proposeriez-vous pour les entiers naturels ?

I Quel est le langage sur lequel reposent les enonces ϕP , . . . del’introduction ?

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 20/49

Page 41: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Ne pas confondre F “fonctions” et P “relations”

Les concepts de fonctions et de relations sont tres differents.

I Les symboles de fonctions (dont les constantes) sont utilises dans lestermes pour decrire des objets.

I Les symboles de relations sont utilises dans les formules pour decrire desproprietes entre les objets.

Exemple

Si +(2) ∈ F et ≥ (2) ∈ P :I +(1, 2) est un terme,

I ≥ (+(1, 2), 4) est une formule.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 21/49

Page 42: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Les formules atomiques

Etant donne un langage S = (F ,P), on construit les formules atomiques enappliquant un symbole de relation a des termes.

Definition

Une formule atomique sur S est une expression de la forme R(t1, . . . , tn) avecR(n) ∈ P et t1, t2, . . . , tn ∈ T X

F sont des termes.

Example

Avec F = {∅(0),∩(2),∪(2), Compl(1)} et P = {=(2),⊆(2)}, on peut ecrire laformule atomique

⊆ (∩(x , Compl(∅)), x)

(en maths on ecrit plutot (x ∩ ∅C ) ⊆ x))

Remarque

Sauf mention contraire, chaque langage du premier ordre contient le symbole derelation =(2) et le symbole de relation ⊥(0) qui representera l’enonce toujoursfaux.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 22/49

Page 43: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Formules (on utilise FO pour “First Order”)

On se fixe un langage du premier ordre S = (F ,P).

Definition

L’ensemble FOS des formules du premier ordre sur S (et Var) est defini parinduction.

1. toute formule atomique sur S appartient a FOS

2. si ϕ ∈ FOS , alors ¬ϕ ∈ FOS

3. si ϕ,ψ ∈ FOS , alors ϕ ∧ ψ ∈ FOS

4. si ϕ,ψ ∈ FOS , alors ϕ ∨ ψ ∈ FOS

5. si ϕ,ψ ∈ FOS , alors ϕ→ ψ ∈ FOS

6. si ϕ ∈ FOS et x ∈ X , alors ∀xϕ, ∃xϕ ∈ FOS .

Exercice

Definir par induction l’ensemble X (ϕ) des variables qui apparaissent dans uneformule ϕ ∈ FOS .

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 23/49

Page 44: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Arbre d’une formule

Comme pour le calcul propositionnel, on peut voir une formule comme un arbre.

Exemple

Soit la formule

[(∃xF (x))→ (∃xK(g(x)) ∨ H(f (y , x), g(x)))] ∧ [(∃yG(x , g(y))) ∨ F (h(y))]

∃x

F (x)

∃x

K(g(x))

H(f (y , x), g(x))

∃y

G(x , g(y))

F (h(y))

Remarque

Les feuilles de l’arbre sont des formules atomiques (de facon similaire au cas despropositions pour le calcul propositionnel).

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 24/49

Page 45: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Occurrences libres et liees d’une variable

Definition

Lorsqu’une variable x appartient a une sous-formule precedee d’un quantificateur,∀x ou ∃x , elle est dite liee par ce quantificateur. Si une variable n’est liee paraucun quantificateur, elle est libre.

Remarque

La distinction entre variable libre et variable liee est importante : une variableliee ne possede pas d’identite propre et peut etre remplacee par n’importe quelautre nom de variable qui n’apparaıt pas dans la formule.

Exemple

La formule ∃x(x < y) est “equivalente” a la formule ∃z(z < y)car on a simplement renomme la variable liee x en z .

Remarque

On pourrait faire une analogie entre variable liee dans une formule et variablelocale a une methode en programmation.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 25/49

Page 46: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Occurrences libres et liees d’une variable

Definition

L’ensemble des variables libres (“free variables”) FV (ϕ), et l’ensemble des vari-ables liees (“bound variables”) BV (ϕ) d’une formule ϕ sont des sous-ensemblesde Var(ϕ) definis par induction sur ϕ :

I si ϕ est une formule atomique :

{FV (ϕ) = Var(ϕ)BV (ϕ) = ∅

I

{FV (¬ϕ) = FV (ϕ)BV (¬ϕ) = BV (ϕ)

I

{FV (ϕ→ ψ) = FV (ϕ ∧ ψ) = FV (ϕ ∨ ψ) = FV (ϕ) ∪ FV (ψ)BV (ϕ→ ψ) = BV (ϕ ∧ ψ) = BV (ϕ ∨ ψ) = BV (ϕ) ∪ BV (ψ)

I

{FV (∀xϕ) = FV (∃xϕ) = FV (ϕ) \ {x}BV (∀xϕ) = BV (∃xϕ) = BV (ϕ) ∪ {x}

Une formule ϕ est close si elle ne possede aucune variable libre, i.e., FV (ϕ) = ∅.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 26/49

Page 47: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Exemple

Exemple

∃x

F (x)

∃x

K(g(x))

H(f (y , x), g(x))

∃y

G(x , g(y))

F (h(y))

On pourra renommer les variables liees∧

∃x1

F (x1)

∃x2

K(g(x2))

H(f (y , x), g(x))

∃x3

G(x , g(x3))

F (h(y))

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 27/49

Page 48: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Semantique du calcul des predicats

Soit S = (F ,P) un langage du calcul des predicats. On note Fn et Pn lessymboles de fonction et les symboles de relation d’arite n, respectivement.

On evalue les formules de FOS sur des S-structures, ou S-interpretations.

Definition

Une S-structure M est la donnee

1. d’un domaine DM,

2. de l’interpretation des symboles sur ce domaine :I pour chaque f ∈ Fn, d’une fonction totale f M : Dn

M → DMI pour chaque r ∈ Pn, d’une relation rM ⊆ Dn

M

Remarque

Lorsque c ∈ F0 (constante), alors son interpretation cM est un element de DM.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 28/49

Page 49: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Exemples d’interpretations

Soit le langage S = ({o(0), f (1)}, {P(2)}).

Exemple

Soit M la structure/interpretation definie par :

I DM = IN

I oM = 0

I f M(n) = n + 1

I PM = {(n, n′) | n ≤ n′}

Exemple

Soit M′ la structure/interpretation definie par :

I DM′ = {Paul ,Anne, Ida}I oM′

= Paul

I f M′(Paul) = Anne, f M

′(Anne) = Paul , f M

′(Ida) = Anne, par exemple

pour “heritier”

I PM′= {(Anne,Paul), (Paul , Ida), (Anne, Ida)}, par exemple pour “est

plus age que”

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 29/49

Page 50: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Quelques structures importantes

Sur la signature {{0, s,+,×}, {=,≤}}.

Domaine fonc. rel. Nom de la structureIN 0, s,+,× =,≤ Arithmetique de PeanoIN 0, s,+ =,≤ Arithmetique de PresburgerIR 0, s,+,× =,≤ Theorie des reelsIR 0, s,+ =,≤ Theorie additive des reels

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 30/49

Page 51: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Interpretation des variables libres

On se donne un moyen de savoir a quel element du domaine une variablecorrespond.

Definition

Une valuation dans une structure M est une fonction ν : X → DM qui associechaque variable a un element du domaine.

On note ValM (ou plus simplement Val) l’ensemble des valuations dans M.

Pour ν ∈ Val , x ∈ X et d ∈ DM, on definit :

ν[x := d ](y) =

{d si y = xν(y) sinon.

Ainsi, ν[x := d ] est comme ν sauf pour la variable x qui maintenant estassociee a d .

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 31/49

Page 52: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Valeur d’une formule

On se fixe un langage S = (F ,P) et un ensemble de variables X pour ecriredes formules.On se fixe aussi une S-structure M, et ν ∈ ValM une valuation pour lesvariables de X .

Par exemple, pour que la formule ∃x(P(f (x), y) ∨ Q(g(x , y))) soit vraie dansM pour la valuation ν, il faut :

1. trouver un element d du domaine de M, qui sera l’interpretation de x(donc on considerera la valuation ν[x := d ]),

2. evaluer les termes f (x), y , et g(x , y) pour la valuation ν[x := d ],

3. verifier que la formule atomique P(f (x), y) ∨ Q(g(x , y)) est vraie.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 32/49

Page 53: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Valeur d’un terme

On a fixe un langage S = (F ,P) et un ensemble de variables X , uneS-structure M, et ν ∈ ValM une valuation pour les variables de X .

Definition

Soit un terme t ∈ T XF , sa valeur dans M pour la valuation ν est un element du

domaine DM, note [[ t ]]M,ν , defini par induction sur t :

1. [[ x ]]M,ν = ν(x)

2. [[ f (t1, t2, . . . , tn) ]]M,ν = f M([[ t1 ]]M,ν , [[ t2 ]]M,ν , . . . , [[ tn ]]M,ν)

Remarque

Le cas d’une constante c est un cas particulier de 2. pour un symbole d’arite 0 :

[[ c ]]M,ν = cM ∈ DM

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 33/49

Page 54: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Valeur d’une formule atomique (de la forme r(t1, t2, . . . , tn))

On a fixe un langage S = (F ,P) et un ensemble de variables X , uneS-structure M, et ν ∈ ValM une valuation pour les variables de X .

Definition

La valeur d’une formule atomique r(t1, t2, . . . , tn) dans M pour ν, notee[[ r(t1, t2, . . . , tn) ]]M,ν , est dans {faux, vrai} et est donnee par :

[[ r(t1, t2, . . . , tn) ]]M,ν = vrai ssi ([[ t1 ]]M,ν , [[ t2 ]]M,ν , . . . , [[ tn ]]M,ν) ∈ rM

Exemple

Considerons la formule atomique P(f (x), y) que l’on evaluer dans la structureN de domaine les entiers naturels IN, et pour laquelle f N (n) = n + 1 et PN estla relation ≥, et pour la valuation ν definie par [x := 42, y := 3, z := . . .].Alors, on a [[ P(f (x), y) ]]M,ν = vrai des lors que (ν(f (x)), ν(y)) ∈ PN , ce quise lit 42 + 1 ≥ 3 qui est bien vraie.

Exercice

Proposer M et ν pour lesquelles [[ P(f (x), y) ]]M,ν = faux.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 34/49

Page 55: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Valeur d’une formule

Maintenant que l’on connaıt les valeurs des formules atomiques, on peut definirles valeurs de formules plus complexes.

Definition

Soit ϕ ∈ FO une formule non atomique. La valeur de ϕ dansM pour la valuationν, notee [[ ϕ ]]M,ν , est dans {faux, vrai} et est definie par (induction) :

I [[ ϕ ∧ ψ ]]M,ν = vrai ssi [[ ϕ ]]M,ν = vrai et [[ ψ ]]M,ν = vrai

I [[ ϕ ∨ ψ ]]M,ν = vrai ssi [[ ϕ ]]M,ν = vrai ou [[ ψ ]]M,ν = vrai

I [[ ¬ϕ ]]M,ν = vrai ssi [[ ϕ ]]M,ν = faux

I [[ ϕ→ ψ ]]M,ν = faux ssi [[ ϕ ]]M,ν = vrai et [[ ψ ]]M,ν = faux

I [[ ∃xϕ ]]M,ν = vrai ssi il existe d ∈ DM tel que [[ ϕ ]]M,ν[x :=d ] = vrai

I [[ ∀xϕ ]]M,ν = vrai ssi pour tout d ∈ DM, [[ ϕ ]]M,ν[x :=d ] = vrai

Lorsque [[ ϕ ]]M,ν = vrai, on dit que “ϕ est vraie ...”, et on note M, ν |= ϕ.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 35/49

Page 56: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Zoom sur les formules avec quantificateurs

Definition

Soit ϕ ∈ FO une formule non atomique. La valeur de ϕ dansM pour la valuationν, notee [[ ϕ ]]M,ν , est dans {faux, vrai} et est definie par (induction) :

...

I [[ ∃xϕ ]]M,ν = vrai ssi il existe d ∈ DM tel que [[ ϕ ]]M,ν[x :=d ] = vrai

I [[ ∀xϕ ]]M,ν = vrai ssi pour tout d ∈ DM, [[ ϕ ]]M,ν[x :=d ] = vrai

Des exemples au tableau ...

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 36/49

Page 57: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Remarques

I [[ ∃xϕ ]]M,ν = vrai ssi il existe d ∈ DM tel que [[ ϕ ]]M,ν[x :=d ] = vrai

I [[ ∀xϕ ]]M,ν = vrai ssi pour tout d ∈ DM, [[ ϕ ]]M,ν[x :=d ] = vrai

Remarque

On a vu que les valeurs [[ ∃xϕ ]]M,ν et [[ ∀xϕ ]]M,ν sont independantes de ν(x).

Plus generalement, les valeurs [[ ∃xϕ ]]M,ν et [[ ∀xϕ ]]M,ν ne dependent pasdes valuations des variables dans BV (ϕ) (les variables liees), mais de celles devariables libres.

Remarque

Lorsque ϕ est une formule close (i.e., elle n’a aucune variable libre), la valeur[[ϕ ]]M,ν ne depend pas de la valuation ν. On note alors plus simplement [[ϕ ]]Msa valeur dans M, et on ecrit M |= ϕ lorsque [[ ϕ ]]M = vrai.

La notion pertinente est celle de formule close, les formules non closes neservent qu’a donner la semantique.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 37/49

Page 58: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Exemple d’application de la semantique : Ordre des quantificateurs

Avec notre semantique des formules, on peut montrer que l’ordre dans lequelsont ecrits certains quantificateurs est important : par exemple, les formules∀y∃xP(x , y) et ∃x∀yP(x , y) ne signifient pas la meme chose puisqu’il existeune structure dans laquelle ∀y∃xP(x , y) est vraie, mais ∃x∀yP(x , y) est fausse.Elles ne sont pas “equivalentes”.

On choisit la structure des entiers ordonnees N = (IN,≥), dans laquelle Ps’interprete comme ≥.

[[ ∀y∃xP(x , y) ]][N ] = vrai

ssi pour tout n ∈ IN, [[ ∃xP(x , y) ]]N ,[y :=n] = vrai

ssi pour tout n ∈ IN, il existe m ∈ IN, [[ P(x , y) ]]N ,[y :=n,x :=m] = vrai

ssi pour tout n ∈ IN, il existe m ∈ IN, ([[ x ]]N ,[y :=n,x :=m], [[ y ]]N ,[y :=n,x :=m]) ∈ PN

ssi pour tout n ∈ IN, il existe m ∈ IN, m ≥ nCe qui est VRAI !

[[ ∃x∀yP(x , y) ]][N ] = vrai

ssi il existe m ∈ IN t.q, [[ ∀yP(x , y) ]]N ,[x :=m] = vrai

ssi il existe m ∈ IN, pour tout n ∈ IN, [[ P(x , y) ]]N ,[x :=m,y :=n] = vrai

ssi il existe m ∈ IN, pour tout n ∈ IN, ([[ x ]]N ,[x :=m,y :=n], [[ y ]]N ,[x :=m,y :=n]) ∈ PN

ssi il existe m ∈ IN, pour tout n ∈ IN, m ≥ nCe qui est FAUX !

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 38/49

Page 59: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Notions semantiques

Comme pour le calcul propositionnel, on definit les notions de :

I modeles d’une formule close

I theroreme

I validite/satisfaisabilite

I consequence logique

I equivalence

I etc.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 39/49

Page 60: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Modeles, theoremes, et tout et tout ...

Soit S un langage du premier ordre.

Definition

Soit M une S-structure.

I Soit ϕ ∈ FO une formule close sur S.La structure M est un modele de ϕ si M |= ϕ (c-a-d. [[ ϕ ]]M = vrai).

I Soit Γ ⊆ FO un ensemble de formules closes sur S.La structure M est un modele de Γ si pour toute ϕ ∈ Γ, on a M |= ϕ.

Definition

I Une formule close ϕ ∈ FO est insatisfaisable si elle n’a pas de modele,sinon elle est satisfaisable.

I Une formule close ϕ ∈ FO sur S est valide (ou une tautologie), note |= ϕ,si pour toute S-structure M, on a M |= ϕ.

Definition

Deux formules closes ϕ et ψ de FO sont dites equivalentes (note ϕ ≡ ψ) si pourtoute S-structure M, on a M |= ϕ ssi M |= ψ.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 40/49

Page 61: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Equivalences classiques (1/2)

I Loi de conversion des quantificateurs

¬∀xϕ ≡ ∃x¬ϕ¬∃xϕ ≡ ∀x¬ϕ

I Loi de distribution des quantificateurs

∀x(ϕ ∧ ψ) ≡ (∀xϕ ∧ ∀xψ)∃x(ϕ ∨ ψ) ≡ (∃xϕ ∨ ∃xψ)

I Lois de permutation des quantificateurs de meme sorte

∀x∀yϕ ≡ ∀y∀xϕ∃x∃yϕ ≡ ∃y∃xϕ

Exercice

Utiliser la semantique de ≡ et celle des formules pour demontrer ces equivalences.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 41/49

Page 62: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Equivalences classiques (2/2)

I Lois de realphabetisation (renommage) des variables. On peut toujoursrenommer une variable liee au sein d’une formule. Cependant, le nouveaunom ne doit pas etre un nom deja utilise pour une variable libre ou liee dela formule, sinon la semantique n’est pas preservee.

Exemple

Dans ∃x(∀xF (x , y) → (G(x) ∨ q)), on peut par exemple renommerl’occurrence x en z et l’occurrence x en t : ∃z(∀tF (t, y)→ (G(z)∨q)).

Exercice

Montrer qu’en renommant l’occurrence x en y la semantique n’est paspreservee.

I Lois de passage : si x /∈ FV (ψ),

∀x(ϕ ∧ ψ) ≡ (∀xϕ) ∧ ψ∃x(ϕ ∧ ψ) ≡ (∃xϕ) ∧ ψ∀x(ϕ ∨ ψ) ≡ (∀xϕ) ∨ ψ∃x(ϕ ∨ ψ) ≡ (∃xϕ) ∨ ψ

∀x(ϕ→ ψ) ≡ (∃xϕ)→ ψ∃x(ϕ→ ψ) ≡ (∀xϕ)→ ψ∀x(ψ → ϕ) ≡ ψ → (∀xϕ)∃x(ψ → ϕ) ≡ ψ → (∃xϕ)

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 42/49

Page 63: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Consequence logique

Definition

Une formule close ϕ est consequence logique d’un ensemble de formules closesΓ si tout modele de Γ est un modele de ϕ. On ecrit alors Γ |= ϕ.Une theorie est l’ensemble des consequences logiques d’un ensemble de formulescloses.

Exemple

La theorie des groupes est l’ensemble des consequences logiques de l’ensemblede formules suivantes, appelees axiomes de la theorie des groupes :

Associativite ∀x∀y∀z[(x ∗ y) ∗ z = x ∗ (y ∗ z)] (Ass)

Element neutre ∀x [(x ∗ e = x) ∧ (e ∗ x = x)] (EN)Inverse ∀x [(x ∗ i(x) = e) ∧ (i(x) ∗ x = e)] (Inv)

Par exemple,

{Ass,EN, Inv} |= ∀x∀y [(x ∗ y = e)→ (y = i(x))]

Dans un groupe l’inverse a droite de tout element est unique.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 43/49

Page 64: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Formes normales

Toute formule est equivalente a une formule sous :

1. forme prenexe : elle consiste a accumuler les quantificateurs au debut dela formule.

2. forme de Skolem : forme prenexe et que des quantifications universelles.

3. forme clausale : forme de Skolem et sous forme normale confonctive

On ne voit que la forme prenexe.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 44/49

Page 65: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Formes prenexes

Definition

Une formule ϕ est sous forme prenexe lorsqu’elle a la forme :Q1x1Q2x2 . . .Qnxnψ, ou chaque Qi ∈ {∃, ∀} et ψ ne contient aucun quan-tificateur.

Proposition

Toute formule admet une forme prenexe equivalente.

Exemple

∃x∀yp(x , y)→ ∀x∃yp(y , x) est equivalente a ∃y ′∀x ′∃x∀yp(x , y)→ p(y ′, x ′).

Rappel des lois de passage : si x /∈ FV (ψ),

∀x(ϕ ∧ ψ) ≡ (∀xϕ) ∧ ψ∃x(ϕ ∧ ψ) ≡ (∃xϕ) ∧ ψ∀x(ϕ ∨ ψ) ≡ (∀xϕ) ∨ ψ∃x(ϕ ∨ ψ) ≡ (∃xϕ) ∨ ψ

∀x(ϕ→ ψ) ≡ (∃xϕ)→ ψ∃x(ϕ→ ψ) ≡ (∀xϕ)→ ψ∀x(ψ → ϕ) ≡ ψ → (∀xϕ)∃x(ψ → ϕ) ≡ ψ → (∃xϕ)

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 45/49

Page 66: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Formes prenexes

Definition

Une formule ϕ est sous forme prenexe lorsqu’elle a la forme :Q1x1Q2x2 . . .Qnxnψ, ou chaque Qi ∈ {∃, ∀} et ψ ne contient aucun quan-tificateur.

Proposition

Toute formule admet une forme prenexe equivalente.

Preuve On conidere l’algorithme suivant :

1. Renommer les variables de facon a ce qu’aucune variable n’ait a la fois uneoccurrence libre et une occurrence liee, ni d’occurrence liee a desquantificateurs differents.

2. Appliquer tant que possible les lois de conversion des quantificateurs et leslois de passage.

Ces transformations successives preservent la semantique des formules.Finir l’argument (exercice).

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 45/49

Page 67: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Completude

On peut donner un nombre fini de principes/systemes de preuve, c-a-d.I des axiomes logiques ou schemas d’axiomes logiques : formules (ou

schema de formules) consideres comme vraiesI des regles de deduction : mecanisme syntaxique qui permet de deduire des

formules a partir d’autres formules

qui suffisent pour deduire de facon mecanique tous les theoremes (c-a-d. lesformules valides) du langage du premier ordre.

Theoreme (de Godel)

Le calcul des predicats est complet.

Il existe differents systemes de preuves corrects (tout ce qu’on infere est vrai)et complets (il existe une preuve de toute formule vraie dans le systeme depreuve) pour les langages du premier ordre.

Exemple (systemes de preuve, a explorer vous-meme)

I la resolution

I la deduction naturelle

I le calcul des sequents

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 46/49

Page 68: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Decidabilite (1/3)

Bien qu’il existe un systeme de preuve correct et complet, le calcul despredicats n’est pas decidable.Si par exemple on considere le calcul des sequents, on ne va pas pouvoirdeterminer qu’une formule n’est pas valide, i.e., qu’il n’en existe pas de preuve,car il y a un nombre non borne d’explorations possibles. Par contre s’il y a unepreuve on pourra la trouver.

Theoreme

La logique du premier ordre n’est pas decidable, mais elle est semi-decidable.

Remarque

Une preuve est un objet fini, et tous ces objets sont denombrables. On peutdonc enumerer les preuves (d’un systeme de preuve donne), et donc tous lestheoremes.C’est en ce sens que le calcul des predicats est semi-decidable.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 47/49

Page 69: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Decidabilite (1/3)

Theoreme

La logique du premier ordre n’est pas decidable, mais elle est semi-decidable.

Remarque

Une preuve est un objet fini, et tous ces objets sont denombrables. On peutdonc enumerer les preuves (d’un systeme de preuve donne), et donc tous lestheoremes.C’est en ce sens que le calcul des predicats est semi-decidable.

I Si une formule ϕ est valide, on sait qu’il en existe une preuve (theoreme deGodel). Il suffit donc dans cette enumeration de comparer chacun destheoremes obtenus avec ϕ pour savoir s’il s’agit d’une preuve de ϕ.

I Cependant on ne sait quand arreter de chercher une preuve de ϕ au coursde cette enumeration, c’est a dire qu’il n’existe pas de critere pourterminer ce calcul.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 47/49

Page 70: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Decidabilite (2/3)

Il existe des fragments syntaxiques de la logique du premier ordre qui sontdecidables.

Definition

La logique monadique du premier ordre (notee MFO) est l’ensemble des formulescontenant exclusivement des predicats unaires (et possiblement l’egalite =), maisne contenant aucun symbole de fonction (en particulier des constantes).

Proposition

MFO est decidable.

Preuve On utilise une technique classique dite de propriete du modele fini :on montre que si ϕ est satisfaisable, alors elle admet un modele de taille finie(fonction de la taille de ϕ).

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 48/49

Page 71: Sophie Pinchinat sophie.pinchinat@irisapeople.irisa.fr/Sophie.Pinchinat/LOG/LOGcoursFO.pdf · autre z sans qu’il existe un individu dont x soit le p ere et qui soit le p ere de

Introduction Un exemple Syntaxe du calcul des predicats Semantique du calcul des predicats Manipulation de formules Completude et decidabilite

Decidabilite (3/3)

Par exemple, les fragments suivants du calcul des predicats sont decidables.

I Bernays-Schonfinkel : ∃x1 . . .∃xm∀y1 . . .∀yn.ϕ avec ϕ ∈ MFO

I Ackermann : ∃x1 . . .∃xm∀y∃z1 . . .∀zn.ϕI Godel-Kalmar-Schutte: ∃x1 . . .∃xm∀y1∀y2∃z1 . . .∀zn.ϕI ∀x∃y∀z-Horn : ∀x∃y∀zϕ avec ϕ =

∧i hi ou hi est une clause de Horn.

Sophie Pinchinat Logique : le calcul des predicats UE LOG – annee 2018-2019 49/49