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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Top Related