La Logique du premier ordre

publicité
Objectif : étendre la complétude réfutationnelle des formules universelles à
l’ensemble des formules fermées
Méthode : on transforme toute formule fermée ϕ en formule universelle ψ,
en préservant la satisfaisabilité. On aura donc
Notes
ϕ insat. ssi ψ insat. ssi il existe F ⊆ IF(ψ) tq F fini insat.
Étape 1 : forme normale négative
Définition
Une forme normale négative, ou fnn, est une formule ne contenant pas de
⇔ ni de ⇒ et où tous les ¬ précèdent un atome.
Règles de transformation :
ϕ1 ⇒ ϕ2 → (¬ϕ1 ∨ ϕ2 )
ϕ1 ⇔ ϕ2 → (¬ϕ1 ∨ ϕ2 ) ∧ (ϕ1 ∨ ¬ϕ2 )
¬∀x ϕ → ∃x ¬ϕ
¬∃x ϕ → ∀x ¬ϕ
¬(ϕ1 ∧ ϕ2 ) → ¬ϕ1 ∨ ¬ϕ2
¬(ϕ1 ∨ ϕ2 ) → ¬ϕ1 ∧ ¬ϕ2
¬ → ¬ → ¬¬ϕ → ϕ
Ensimag 2A
Logique du premier ordre
Année 2016-2017
1 / 12
Notes
Théorème
Pour toute formule fermée ϕ il existe une fnn ϕ0 telle que ϕ ≡ ϕ0 (ϕ |= ϕ0
et ϕ0 |= ϕ)
Démonstration.
(Résumée.) Chaque règle préserve la relation ≡. De plus, la transformation
termine car à chaque étape, soit le nombre de ⇒ ou de ⇔ décroît
strictement, soit la portée des ¬ décroît strictement en laissant inchangé le
nombre de ⇒ et de ⇔.
Exemple
∃x [p(x) ⇔ (∀y q(y))]
→ ∃x [(¬p(x) ∨ (∀y q(y))) ∧ (p(x) ∨ ¬(∀y q(y)))]
→ ∃x [(¬p(x) ∨ (∀y q(y))) ∧ (p(x) ∨ (∃y ¬q(y)))]
Ensimag 2A
Logique du premier ordre
Année 2016-2017
2 / 12
Étape 2 : normalisation
Notes
Définition
Une formule fermée est normalisée si chaque variable n’y est quantifiée
qu’une fois
On peut toujours remplacer les variables liées par de nouvelles variables
Exemple
∃x [(¬p(x) ∨ (∀y q(y))) ∧ (p(x) ∨ (∃y ¬q(y)))]
→ ∃x [(¬p(x) ∨ (∀y q(y))) ∧ (p(x) ∨ (∃z ¬q(z)))]
Théorème
Pour toute formule fermée ϕ il existe une formule normalisée ϕ0 telle que
ϕ ≡ ϕ0
Démonstration.
Si y 6∈ VL(ϕ), on a Qx ϕ ≡ Qy ϕ {x 7→ y} pour tout quantificateur Q
Ensimag 2A
Logique du premier ordre
Année 2016-2017
3 / 12
Étape 3 : skolemisation
Notes
Élimination des quantificateurs existentiels
Idée : la satisfaisabilité étant l’existence d’un modèle, on essaye de l’utiliser
pour représenter l’existence d’un élément dans un modèle.
Exemple
Si ϕ est une formule ne contenant pas la constante a et telle que ∃x ϕ est
fermée sat., alors il existe I sur D et u ∈ D tels que [[ϕ]]I{x7→u} = v.
Soit J = I[a 7→ u], on a [[ϕ]]J
{x7→u} = v (on n’a changé que la valeur de a
= v, donc
qui n’apparaît pas dans ϕ), donc [[ϕ]]J
{x7→aJ }
[[ϕ {x 7→ a}]]J = v, donc ϕ {x 7→ a} est sat.
Réciproque : ϕ {x 7→ a} |= ∃x ϕ
Conclusion : ∃x ϕ est sat. ssi ϕ {x 7→ a} est sat.
Ensimag 2A
Logique du premier ordre
Année 2016-2017
4 / 12
Skolemisation
Notes
Théorème
Si f ∈ ΣF
n n’apparaît pas dans ϕ, alors ∀x1 · · · ∀xn ∃y ϕ est sat. ssi
∀x1 · · · ∀xn ϕ {y 7→ f (x1 , . . . , xn )} est sat.
Démonstration.
(pour n = 1)
⇐ ∀x ϕ {y 7→ f (x)} |= ∀x ∃y ϕ
⇒ Soit I sur D un modèle de ∀x ∃y ϕ, on a donc pour tout u ∈ D un
v ∈ D tel que [[ϕ]]I{x7→u,y7→v} = v, donc il existe une fonction
s : D → D telle que pour tout u ∈ D, [[ϕ]]I{x7→u,y7→s(u)} = v.
Soit J = I[f 7→ s], pour tout u ∈ D on a [[ϕ]]J
{x7→u,y7→s(u)} = v (seule
la valeur de f a changé) et [[f (x)]]J
{x7→u} = s(u)
donc [[ϕ {y 7→ f (x)}]]J
{x7→u} = v
donc J |= ∀x ϕ {y 7→ f (x)} qui est donc sat.
Ensimag 2A
Logique du premier ordre
Année 2016-2017
5 / 12
Skolemisation (suite)
Notes
Théorème
Si
1. ∃y ϕ est une sous-formule de ψ
2. ψ est sous forme normale négative normalisée
3. VL(∃y ϕ) = {x1 , . . . , xn }
4. f ∈ ΣF
n n’apparaît pas dans ψ
5. ψ 0 est la formule obtenue en remplaçant dans ψ la sous formule ∃y ϕ
par ϕ {y 7→ f (x1 , . . . , xn )}
alors ψ est sat. ssi ψ 0 est sat. (et ψ 0 est sous f.n.n. normalisée)
Démonstration.
Si I |= ψ, [[∃y ϕ]]I{x1 7→u1 ,...,xn 7→un } = f et J = I[f 7→ s] alors J |= ψ 0
(même si [[ϕ {y 7→ f (x1 , . . . , xn )}]]I{x1 7→u1 ,...,xn 7→un } = v)
Ensimag 2A
Logique du premier ordre
Année 2016-2017
6 / 12
Skolemisation (fin)
Donc, si ψ sous f.n.n. normalisée contient m quantificateurs ∃, on peut les
éliminer successivement en utilisant m symboles de fonctions inutilisés
On suppose que pour tout n ∈ N, on peut rajouter autant d’éléments
qu’on veut à ΣF
n
f1
f2
Notes
fm
On a donc ψ −→ ψ1 −→ · · · −→ ψm où il n’y a plus de ∃
avec ψ sat. ssi ψ1 sat. ssi · · · ssi ψm sat.
Exemple
∀x (p(x) ∧ ∃y ∃z q(x, y, z))
f1
f2
−→ ∀x (p(x) ∧ ∃z q(x, f1 (x), z)) −→ ∀x (p(x) ∧ q(x, f1 (x), f2 (x)))
dans l’autre sens :
f1
f2
−→ ∀x (p(x)∧∃y q(x, y, f1 (x, y))) −→ ∀x (p(x)∧q(x, f2 (x), f1 (x, f2 (x))))
Remarque : si fi ∈ ΣF
0 on utilisera plutôt ai
Exemple
a
a
1
2
∀x(p(x) ∧ ∃z q(a1 , z)) −→
∀x(p(x) ∧ q(a1 , a2 ))
∀x(p(x) ∧ ∃y ∃z q(y, z)) −→
Ensimag 2A
Logique du premier ordre
Année 2016-2017
7 / 12
Forme prénexe
Notes
Il faut “remonter” les quantificateurs universels
Théorème
Si x 6∈ VL(ϕ2 ) alors (∀x ϕ1 )>ϕ2 ≡ ∀x (ϕ1 >ϕ2 ) pour > = ∧, ∨
Démonstration.
Si I |= (∀x ϕ1 ) ∨ ϕ2 alors I |= ∀x ϕ1 ou I |= ϕ2 . Pour tout u ∈ D on a
dans le premier cas [[ϕ1 ]]I{x7→u} = v et dans le deuxième cas [[ϕ2 ]]I{x7→u} = v,
donc dans les deux cas [[ϕ1 ∨ ϕ2 ]]I{x7→u} = v, donc I |= ∀x (ϕ1 ∨ ϕ2 ).
Si I |= ∀x (ϕ1 ∨ ϕ2 ), soit I |= ϕ2 et dans ce cas I |= (∀x ϕ1 ) ∨ ϕ2 , soit
I 6|= ϕ2 et alors, pour tout u ∈ D on a [[ϕ1 ∨ ϕ2 ]]I{x7→u} = v et
[[ϕ2 ]]I{x7→u} = f, donc [[ϕ1 ]]I{x7→u} = v. On a donc I |= ∀x ϕ1 , et donc
I |= (∀x ϕ1 ) ∨ ϕ2
Ensimag 2A
Logique du premier ordre
Année 2016-2017
8 / 12
Forme prénexe (suite)
Notes
Règles de transformation :
(∀x ϕ1 ) ∧ ϕ2 → ∀x (ϕ1 ∧ ϕ2 )
ϕ2 ∧ (∀x ϕ1 ) → ∀x (ϕ2 ∧ ϕ1 )
(∀x ϕ1 ) ∨ ϕ2 → ∀x (ϕ1 ∨ ϕ2 )
ϕ2 ∨ (∀x ϕ1 ) → ∀x (ϕ2 ∨ ϕ1 )
Remarque : dans une formule fermée normalisée, on a x 6∈ VL(ϕ2 )
Exemple
(∀x p(x)) ∨ ∀y ∀z q(y, z)
→ ∀x (p(x) ∨ ∀y ∀z q(y, z))
→ ∀x ∀y (p(x) ∨ ∀z q(y, z))
→ ∀x ∀y ∀z (p(x) ∨ q(y, z))
On obtient une formule universelle équivalente à ψ
Ensimag 2A
Logique du premier ordre
Année 2016-2017
9 / 12
Résumé
Notes
On part d’une formule fermée quelconque ψ
1. mise sous forme normale négative
2. normalisation
3. skolemisation
4. mise sous forme prénexe
Le résultat est une formule universelle ψ 0 qui est sat. ssi ψ est sat.
Si on part d’un ensemble de formules fermées Ψ = {ψ1 , . . . , ψn } :
on transforme ψ1 en ψ10 , puis ψ2 en ψ20 etc. mais on skolemise ψi avec des
0
fj qui n’apparaissent pas dans les formules ψ10 , . . . , ψi−1
(ni dans ψi ) ;
0
0
0
alors Ψ = {ψ1 , . . . , ψn } est sat. ssi Ψ est sat.
Exemple
Ψ = {· · · ∃ · · · ∃ · · · , ∃ · · · ∃ · · · ∃ · · · , · · · ∃ · · · } sous fnn normalisées
Ψ0 = {· · · f1 · · · f2 · · · , a3 · · · f4 · · · f5 · · · , · · · f6 · · · }
Ensimag 2A
Logique du premier ordre
Année 2016-2017
10 / 12
Conséquences
Notes
Théorème
L’ensemble des formules insat. est récursivement énumérable
Démonstration.
Soit ψ une formule fermée, on peut calculer ψ 0 universelle telle que ψ insat.
ssi ψ 0 insat.
Par le théorème de Herbrand : ψ 0 insat. ssi il existe F fini insat. tq.
F ⊆ IF(ψ 0 )
On calcule φ0 , φ1 , . . . tels que IF(ψ 0 ) = {φi | i ∈ N} et on teste si
Fi = {φ0 , . . . , φi } est insat. (décidable).
On termine sur un Fi insat. ssi ψ est insat.
Théorème
L’ensemble des formules valides est récursivement énumérable
Démonstration.
ψ est valide ssi ¬ψ est insat. donc il suffit d’appliquer l’algo à ¬ψ
Ensimag 2A
Logique du premier ordre
Année 2016-2017
11 / 12
Théorème (de compacité)
Un ensemble de formules Ψ est insat. ssi il existe F fini insat. tq. F ⊆ Ψ
Démonstration.
Si Ψ = {ψi | i ∈ N} insat. alors il existe Ψ0 = {ψi0 | i ∈ N} de formules
universelles tq. Ψ0 insat. et pour tout n ∈ N, {ψi | i ≤ n} insat. ssi
{ψi0 | i ≤ n} insat. Donc il existe F 0 ⊆ IF(Ψ0 ) fini insat. donc il existe
n ∈ N tq. F 0 ⊆ IF({ψi0 | i ≤ n}) insat. donc {ψi0 | i ≤ n} insat. donc
F = {ψi | i ≤ n} insat.
Théorème (de Löwenheim-Skolem)
Toute formule sat. ψ admet un modèle au plus dénombrable
Démonstration.
Il existe ψ 0 universelle tq ψ 0 sat. Soit I |=1 ψ 0 |=1 IF(ψ 0 ), il existe
I |=0 IF(ψ 0 ) donc il existe un modèle de Herbrand H |=1 IF(ψ 0 ), donc
H |=1 ψ 0 |=1 ψ, et H a pour domaine TΣ qui est au plus dénombrable
Ensimag 2A
Logique du premier ordre
Année 2016-2017
12 / 12
Notes
Téléchargement