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