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
ϕinsat. ssi ψinsat. ssi il existe F⊆IF(ψ)tq Ffini 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
Théorème
Pour toute formule fermée ϕil existe une fnn ϕ0telle 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
Notes
Notes
Étape 2 : normalisation
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 ϕ0telle que
ϕ≡ϕ0
Démonstration.
Si y6∈ VL(ϕ), on a Qx ϕ ≡Qy ϕ {x7→ y}pour tout quantificateur Q
Ensimag 2A Logique du premier ordre Année 2016-2017 3 / 12
Étape 3 : skolemisation
É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 aet telle que ∃x ϕ est
fermée sat., alors il existe Isur Det u∈Dtels que [[ϕ]]I
{x7→u}=v.
Soit J=I[a7→ u], on a [[ϕ]]J
{x7→u}=v (on n’a changé que la valeur de a
qui n’apparaît pas dans ϕ), donc [[ϕ]]J
{x7→aJ}=v, donc
[[ϕ{x7→ a}]]J=v, donc ϕ{x7→ a}est sat.
Réciproque : ϕ{x7→ a} |=∃x ϕ
Conclusion : ∃x ϕ est sat. ssi ϕ{x7→ a}est sat.
Ensimag 2A Logique du premier ordre Année 2016-2017 4 / 12
Notes
Notes
Skolemisation
Théorème
Si f∈ΣF
nn’apparaît pas dans ϕ, alors ∀x1· · · ∀xn∃y ϕ est sat. ssi
∀x1· · · ∀xnϕ{y7→ f(x1, . . . , xn)}est sat.
Démonstration.
(pour n= 1)
⇐∀x ϕ {y7→ f(x)} |=∀x∃y ϕ
⇒Soit Isur Dun modèle de ∀x∃y ϕ, on a donc pour tout u∈Dun
v∈Dtel que [[ϕ]]I
{x7→u,y7→v}=v, donc il existe une fonction
s:D→Dtelle que pour tout u∈D,[[ϕ]]I
{x7→u,y7→s(u)}=v.
Soit J=I[f7→ s], pour tout u∈Don a [[ϕ]]J
{x7→u,y7→s(u)}=v (seule
la valeur de fa changé) et [[f(x)]]J
{x7→u}=s(u)
donc [[ϕ{y7→ f(x)}]]J
{x7→u}=v
donc J |=∀x ϕ {y7→ f(x)}qui est donc sat.
Ensimag 2A Logique du premier ordre Année 2016-2017 5 / 12
Skolemisation (suite)
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
nn’apparaît pas dans ψ
5. ψ0est la formule obtenue en remplaçant dans ψla sous formule ∃y ϕ
par ϕ{y7→ f(x1, . . . , xn)}
alors ψest sat. ssi ψ0est sat. (et ψ0est sous f.n.n. normalisée)
Démonstration.
Si I |=ψ,[[∃y ϕ]]I
{x17→u1,...,xn7→un}=f et J=I[f7→ s]alors J |=ψ0
(même si [[ϕ{y7→ f(x1, . . . , xn)}]]I
{x17→u1,...,xn7→un}=v)
Ensimag 2A Logique du premier ordre Année 2016-2017 6 / 12
Notes
Notes
Skolemisation (fin)
Donc, si ψsous f.n.n. normalisée contient mquantificateurs ∃, on peut les
éliminer successivement en utilisant msymboles de fonctions inutilisés
On suppose que pour tout n∈N, on peut rajouter autant d’éléments
qu’on veut à ΣF
n
On a donc ψf1
−→ ψ1
f2
−→ · · · fm
−→ ψmoù il n’y a plus de ∃
avec ψsat. ssi ψ1sat. ssi · · · ssi ψmsat.
Exemple
∀x(p(x)∧ ∃y∃z q(x, y, z))
f1
−→ ∀x(p(x)∧ ∃z q(x, f1(x), z)) f2
−→ ∀x(p(x)∧q(x, f1(x), f2(x)))
dans l’autre sens :
f1
−→ ∀x(p(x)∧∃y q(x, y, f1(x, y))) f2
−→ ∀x(p(x)∧q(x, f2(x), f1(x, f2(x))))
Remarque : si fi∈ΣF
0on utilisera plutôt ai
Exemple
∀x(p(x)∧ ∃y∃z q(y, z)) a1
−→∀x(p(x)∧ ∃z q(a1, z)) a2
−→∀x(p(x)∧q(a1, a2))
Ensimag 2A Logique du premier ordre Année 2016-2017 7 / 12
Forme prénexe
Il faut “remonter” les quantificateurs universels
Théorème
Si x6∈ VL(ϕ2)alors (∀x ϕ1)>ϕ2≡ ∀x(ϕ1>ϕ2)pour >=∧,∨
Démonstration.
Si I |= (∀x ϕ1)∨ϕ2alors I |=∀x ϕ1ou I |=ϕ2. Pour tout u∈Don 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 |=ϕ2et dans ce cas I |= (∀x ϕ1)∨ϕ2, soit
I 6|=ϕ2et alors, pour tout u∈Don 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
Notes
Notes
Forme prénexe (suite)
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 x6∈ 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é
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 ψ0qui est sat. ssi ψest sat.
Si on part d’un ensemble de formules fermées Ψ = {ψ1, . . . , ψn}:
on transforme ψ1en ψ0
1, puis ψ2en ψ0
2etc. mais on skolemise ψiavec des
fjqui n’apparaissent pas dans les formules ψ0
1, . . . , ψ0
i−1(ni dans ψi) ;
alors Ψ0={ψ0
1, . . . , ψ0
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
Notes
Notes
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!