LIAFA, CNRS et Universit´e Paris VII
El´ements de logique
Jean-Eric Pin
LIAFA, CNRS et Universit´e Paris 7 [email protected]
Un exemple de formule logique
∃x∃y (x < y)∧ax∧ by Interpr´etation sur un mot u :
Il existe deux entiers x < y tels que, dans u, la lettre en position x est un a et la lettre en position y est un b.
L’ensemble des mots v´erifiant la formule est
l’ensemble des mots contenant une occurrence de a et ult´erieurement une occurrence de b.
A∗aA∗bA∗
LIAFA, CNRS et Universit´e Paris VII
Un deuxi`eme exemple
∃x ∀y (x < y)∨(x = y)∧ax Interpr´etation ?
(x < y)∨(x = y) peut s’´ecrire x 6 y
∃x ∀y x 6 y peut s’´ecrire x = min L’ensemble des mots v´erifiant la formule est donc aA∗.
LIAFA, CNRS et Universit´e Paris VII
La logique du premier ordre
Symboles logiques :
• les connecteurs logiques : ∧ (et), ∨ (ou),
¬ (non), → (implique),
• le symbole d’´egalit´e =,
• les quantificateurs ∃ et ∀,
• des variables (x, y, z, ou x0, x1, x2, ... )
• des parenth`eses.
Symboles non logiques :
• Symboles de relations (<),
• Symboles de fonctions (f, g),
• Symboles de constantes (0, 1).
LIAFA, CNRS et Universit´e Paris VII
R`egles de construction
Exemple : L = { < , h,0}
• < est un symbole de relation binaire,
• h est un symbole de fonction `a deux variables,
• 0 est un symbole de constante.
Termes
• Les variables
• Les symboles de constantes
• Si t1, t2, . . . , tn sont des termes et si f est un symbole de fonction n-aire, f(t1, t2, . . . , tn) est un terme.
Exemple de termes
Si L ne contient pas de symbole de fonction, les seuls termes sont les variables et les symboles de constantes.
Si L = {<, h,0} les expressions suivantes sont des termes :
x h(0,0) h(x, h(0, y)) h(h(x, y), h(x, z))
LIAFA, CNRS et Universit´e Paris VII
Formules atomiques
Ce sont les formules soit de la forme (t1 = t2) o`u t1
et t2 sont des termes, soit de la forme R(t1, . . . , tn)
o`u t1, . . . , tn sont des termes et o`u R est un symbole de relation n-aire de L.
(h(x, h(0, y)) = x) (h(0,0)< 0) (h(h(t, x), h(x, y)) < h(z, x))
Note : on devrait ´ecrire <(t1, t2) au lieu de t1 < t2.
Formules du premier ordre
(1) Les formules atomiques.
(2) Si (ϕi)16i6n est une famille de formules, alors
^
16i6n
ϕi et _
16i6n
ϕi
sont des formules.
(3) Si ϕ et ψ sont des formules, alors ¬ϕ et (ϕ → ψ) sont des formules.
(4) Si ϕ est une formule et si x est une variable, alors (∃xϕ) et (∀xϕ) sont des formules.
LIAFA, CNRS et Universit´e Paris VII
Exemples de formules
Pour simplifier, on pose vrai= ^
i∈∅
ϕi et faux = _
i∈∅
ϕi
Les expressions suivantes sont des formules du premier ordre :
(∃x (∀y ((y < h(z,0))∧(x < 0)))) (∀x (y = x))
On ´ecrira les formules pr´ec´edentes sous la forme
∃x ∀y (y < h(x,0))∧(z < 0)
∀x y = x
Variables libres et variables li´ees
Certaines variables apparaissent apr`es un quantificateur (existentiel ou universel) : les occurrences de ces variables sont li´ees. Les autres occurrences sont dites libres. Par exemple, dans la formule
∃x (y < h(x,0))∧ ∀y (z < y)
les occurrences x et y sont li´ees et les occurrences z et y sont libres.
On appelle ´enonc´e une formule dont toutes les variables sont li´ees.
LIAFA, CNRS et Universit´e Paris VII
D´ef. formelle des variables libres
L’ensemble F V(ϕ) des variables libres d’une formule ϕ est d´efini comme suit :
(1) Si ϕ est atomique, F V(ϕ) est l’ensemble des variables de ϕ,
(2) F V(¬ϕ) = F V(ϕ)
(3) F V(ϕ∧ψ) = F V(ϕ∨ψ) = F V(ϕ)∪F V(ψ) (4) F V(ϕ →ψ) =F V(ϕ)∪F V(ψ)
(5) F V(∃xϕ) = F V(∀xϕ) = F V(ϕ)\ {x}
Toute variable qui a au moins une occurrence libre dans ϕ est libre.
S´emantique des formules
Une structure S sur L est donn´ee par un ensemble D, appel´e domaine et par une application d´efinie sur L et qui associe :
(1) `a chaque symbole de relation n-aire de L, une relation n-aire d´efinie sur D,
(2) `a chaque symbole de fonction `a n arguments f de L, une fonction `a n arguments d´efinie sur D,
(3) `a chaque symbole de constante c de L, un
´el´ement de D.
LIAFA, CNRS et Universit´e Paris VII
Interpr´etation des variables
Une valuation est une application ν de l’ensemble des variables dans l’ensemble D. On ´etend ν aux termes de L :
(1) Si c est un symbole de constante, on pose ν(c) = c,
(2) si f est un symbole de fonction `a n
arguments et si t1, . . . , tn sont des termes ν f(t1, . . . , tn)
= f(ν(t1), . . . , ν(tn))
LIAFA, CNRS et Universit´e Paris VII
Interpr´etation des variables (suite)
Si ν est une valuation et a un ´el´ement de D, on note ν
a x
la valuation ν′ d´efinie par
ν′(y) =
(ν(y) si y 6= x a si y = x
On d´efinit, pour toute formule ϕ et pour toute valuation ν, les expressions :
• la valuation ν v´erifie ϕ dans S
• S satisfait ϕ[ν] (not´e S |= ϕ[ν]) de la fa¸con suivante :
LIAFA, CNRS et Universit´e Paris VII
Interpr´etation des formules
(1) S |= (t1 = t2)[ν] ssi ν(t1) = ν(t2)
(2) S |= R(t1, . . . , tn)[ν] ssi ν(t1), . . . , ν(tn)
∈ R
(3) S |= ¬ϕ[ν] ssi non S |= ϕ[ν]
(4) S |= (ϕ∧ψ)[ν] ssi S |= ϕ[ν] et ψ[ν] (5) S |= (ϕ∨ψ)[ν] ssi S |= ϕ[ν] ou ψ[ν] (6) S |= (ϕ→ ψ)[ν] ssi non S |= ϕ[ν] ou S |=
ψ[ν]
Interpr´etation des formules (suite)
(7) S |= (∃xϕ)[ν] ssi il existe a ∈ D tel que S |= ϕ[ν
a x
]
(8) S |= (∀xϕ)[ν] ssi pour tout a ∈ D, S |= ϕ[ν
a x
]
La v´eracit´e de l’expression “la valuation ν v´erifie ϕ dans S” ne d´epend que des valeurs prises par les variables libres de ϕ.
Si ϕ est un ´enonc´e, on dit que ϕ est v´erifi´e par S (ou que S satisfait ϕ), et l’on note S |= ϕ, si, pour toute valuation ν, S |= ϕ[ν].
LIAFA, CNRS et Universit´e Paris VII
Formules logiquement ´equivalentes
Deux formules ϕ et ψ sont dites logiquement
´equivalentes si, pour toute structure S sur L, de domaine non vide, on a S |= ϕ ssi S |= ψ.
L’´equivalence logique ne concerne que les structures de domaine non vide. Par exemple, les formules
∀x ϕ(x)∧ ∃y ψ(y) et
∀x ∃y (ϕ(x)∧ψ(y))
sont logiquement ´equivalentes mais ne sont pas
´equivalentes sur une structure de domaine vide...
LIAFA, CNRS et Universit´e Paris VII
Equivalence logique
On d´emontre en logique que les formules suivantes sont logiquement ´equivalentes :
(1) ϕ∧ψ et ¬(¬ϕ∨ ¬ψ)
(2) ϕ→ ψ et ¬ϕ∨ψ
(3) ∀xϕ et ¬(∃x ¬ϕ)
(4) ϕ∨ψ et ψ∨ϕ
(5) ϕ∧ψ et ψ∧ϕ
(6) ϕ∧f aux et f aux (7) ϕ∨f aux et ϕ
(6) ϕ∧vrai et ϕ
(7) ϕ∨vrai et vrai
LIAFA, CNRS et Universit´e Paris VII
Forme normale disjonctive
Une formule est sous forme normale disjonctive si c’est une disjonction de conjonctions de formules atomiques ou de n´egations de formules atomiques :
∨i∈I ∧j∈Ji (ϕij ∨ ¬ψij)
Proposition
Toute formule sans quantificateur est logiquement
´equivalente `a une formule sans quantificateur sous forme normale disjonctive.
Forme pr´enexe
Une formule est sous forme pr´enexe si elle s’´ecrit ψ = Q1x1 Q2x2 . . . Qnxn ϕ
o`u les Qi sont des quantificateurs existentiels ou universels (∃ ou ∀) et ϕ est une formule sans quantificateur. La suite Q1x1 Q2x2 . . . Qnxn
s’appelle le pr´efixe de quantification de ψ.
Proposition
Toute formule est logiquement ´equivalente `a une formule sous forme pr´enexe.
LIAFA, CNRS et Universit´e Paris VII
Hi´erarchie et forme pr´enexe
Une formule de Σn est une formule sous forme pr´enexe dont le pr´efixe de quantification est une suite altern´ee de n blocs de ∃ et ∀ (´eventuellement vides) commen¸cant par un bloc de ∃.
Une formule de Πn est une formule sous forme pr´enexe dont le pr´efixe de quantification est une suite altern´ee de n blocs de ∃ et ∀ (´eventuellement vides) commen¸cant par un bloc de ∀.
On montre que toute disjonction ou conjonction finie de formules de Σn est logiquement ´equivalente
`a une formule de Σn.
LIAFA, CNRS et Universit´e Paris VII
La hi´erarchie Σ
n(1) Σ0 = Π0 = ensemble des formules sans quantificateur.
(2) BΣn ensemble des combinaisons bool´eennes des formules de Σn
(3) Σn+1 : formules de la forme
∃x1. . .∃xn ϕ(x1, . . . , xn) avec ϕ∈ Πn
(4) Πn+1 : formules de la forme
∀x1. . .∀xn ϕ(x1, . . . , xn) avec ϕ∈ Σn
LIAFA, CNRS et Universit´e Paris VII
Quelques exemples
La formule
∃x1 ∃x2 ∃x3
| {z } bloc 1
∀x4 ∀x5
| {z } bloc 2
∃x6 ∃x7
| {z } bloc 3
ϕ
appartient `a Σ3 (et aussi `a tous les Σn tels que n > 3). De mˆeme la formule
bloc 1|{z}
∀x4 ∀x5
| {z } bloc 2
∃x6 ∃x7
| {z } bloc 3
ϕ
appartient `a Σ3, et `a Π2, mais pas `a Σ2, car le premier bloc doit toujours ˆetre un bloc de quantificateurs existentiels.
Logique du second ordre
Les variables utilis´ees dans la logique du premier ordre (variables du premier ordre) s’interpr`etent comme des ´el´ements du domaine.
Dans la logique du second ordre, on utilise un deuxi`eme type de variables, appel´ees variables du second ordre, qui repr´esentent des relations. Ces variables sont not´ees traditionnellement par des lettres majuscules : X0, X1, etc..
LIAFA, CNRS et Universit´e Paris VII
Formules du second ordre
L’ensemble des termes de L est le mˆeme qu’au premier ordre. Les formules atomiques sont les formules soit de la forme
(t1 = t2)
o`u t1 et t2 sont des termes, soit de la forme R(t1, . . . , tn) ou X(t1, . . . , tn)
o`u t1, . . . , tn sont des termes, R est un symbole de relation n-aire de L et X est une variable
repr´esentant une relation n-aire.
R`egles de formation
(1) On part des formules atomiques
(2) Si ϕ et ψ sont des formules, il en est de mˆeme de
¬ϕ (ϕ∧ψ) (ϕ∨ψ) (ϕ →ψ) (3) Si ϕ est une formule, si x est une variable et
si X est une variable de relation, alors les expressions
(∃xϕ) (∀xϕ) (∃Xϕ) (∀Xϕ) sont des formules.
LIAFA, CNRS et Universit´e Paris VII
Second ordre monadique
Dans le second ordre monadique, toutes les variables du second ordre sont des variables de relations unaires : elles s’interpr`etent donc comme des sous-ensembles du domaine.
∃ X (∀x Xx) ce que l’on ´ecrit aussi sous la forme
∃ X (∀x x ∈ X)
Interpr´etation des variables
Une valuation du second ordre est une application ν qui associe `a chaque variable un ´el´ement de D et `a chaque variable de relation n-aire une partie de Dn (i.e. une relation n-aire sur D).
Si ν est une valuation et R une partie de Dn, on note ν
R X
la valuation ν′ d´efinie par
ν′(x) = ν(x) si x est une variable du premier ordre ν′(Y) =
(ν(Y) si Y 6= X
R si Y = X
LIAFA, CNRS et Universit´e Paris VII
Interpr´etation des formules
La notion d’interpr´etation, d´ej`a d´efinie pour le premier ordre, est compl´et´ee par les r`egles suivantes :
(9) S |= (X(t1, . . . , tn))[ν] ssi ν(t1), . . . , ν(tn)
∈ ν(X)
(10) S |= (∃Xϕ)[ν] ssi il existe R ⊆ Dn tel que S |= ϕ[ν
R X
]
(11) S |= (∀xϕ)[ν] ssi pour tout R ⊆ Dn, S |= ϕ[ν
R X
]