Notes de cours E. Lozes semestre 2 2016-2017 1 1.1 Déduction naturelle : les systèmes N J0 et N K0 Règles de la déduction naturelle Les jugements de la déduction naturelle sont de la forme Γ ` ϕ où Γ est un ensemble de formules de F0 (P) et ϕ ∈ F0 (P). Un jugement est prouvable si il est dérivable à partir des règles de la figure 1. On appelle déduction naturelle intuitioniste, aka N J0 , le système de règles correspondant à N K0 dans lequel on remplace (Abs) par la règle (⊥E) suivante : Γ ` ⊥ (⊥E) Γ`ψ qui est dérivable en N K0 à partir de Abs et Af f . La déduction naturelle est une formalisation de la notion de preuve mathématique qui se veut proche des preuves “humaines”. Il faut comprendre ce “proche” au sens de “plus proche que” d’autres systèmes, notamment les systèmes de déduction à la Hilbert. Un système de déduction à la Hilbert repose uniquement sur des axiomes et le modus ponens ; ces systèmes ne permettent pas de représenter une preuve textuelle comme Montrons A → B. Supposons A [...] donc B. On a donc montré A → B” 1.2 Correction et complétude Pour une interprétation I ⊆ P, on note I |= Γ si I |= ϕ pour tout ϕ ∈ Γ, et I |= Γ ` ψ si I |= Γ implique I |= ψ. Le jugement Γ ` ψ est valide si I |= Γ ` ψ pour toute interprétation I. Théorème 1.1 (Correction de N K0 ). Si Γ ` ϕ est prouvable dans N K0 (resp. N J0 ), alors Γ ` ϕ. Démonstration. Par récurrence sur la longueur de la preuve de Γ ` ϕ. Vu en cours avec Hubert Comon. 1 Figure 1 – Règles d’inférence de la déduction naturelle propositionnelle classique, aka N K0 On s’intéresse à la réciproque. Notons tout d’abord que cette réciproque n’est pas vraie pour N J0 : on montrera plus loin que le jugement ` A ∨ ¬A (tiers exclu) n’est pas prouvable en N J0 , et pourtant il est valide. En revanche, le tiers exclu est bien prouvable en N K0 , comme tous les jugements valides. C’est le théorème de complétude. On en donne une preuve légèrement différente de celle des notes de cours de Hubert Comon : on commence par montrer la complétude pour des jugements d’une certaine forme, puis on étend ce résultat à tous les jugements valides en utilisant le fait que le tiers exclu est prouvable. Lemme 1.2. Soit Γ ` ϕ un jugement valide tel que pour toute variable propositionnelle A de ce jugement, {A, ¬A} ∩ Γ 6= ∅. Alors Γ ` ϕ est prouvable dans N J0 (et donc aussi dans N K0 ). Démonstration. Par récurrence sur le couple (n, m) où n désigne le nombre de formules dans Γ et m la taille de ϕ, pour l’ordre lexicographique. 1 — si ϕ = >, on applique la règle pour > — si ϕ = ⊥, on distingue deux cas : — il y a une variable propositionnelle A telle que {A, ¬A} ⊆ Γ : alors on prouve Γ ` ⊥ par (¬E) sur A et deux fois (Ax). — il existe une interprétation I qui satisfait Γ∩Lit(P), où Lit(P) = {A, ¬A | A ∈ P}. Comme I 6|= Γ, il existe ϕ ∈ Γ \ Lit(P) telle que I 6|= ϕ. Soit Γ0 = Γ \ {ϕ}. Alors Γ0 ` ¬ϕ est valide, et comme Γ0 contient une formule 1. autrement dit, on fait une récurrence sur le nombre de formules dans Γ, et une sous-récurrence sur la taille de ϕ. 2 de moins que Γ, on déduit par récurrence que Γ0 ` ¬ϕ est prouvable. On en déduit Γ0 ` ¬ϕ (Ax) (Af f ) Γ0 , ϕ ` ϕ Γ0 , ϕ ` ¬ϕ (¬E) (Γ =)Γ0 , ϕ ` ⊥ — si ϕ = ¬> : on applique (¬I) puis (Af f ) pour se ramener à Γ ` ⊥, et on conclut par récurrence. — si ϕ = ¬⊥ : on applique (¬I) puis (Ax). — si ϕ = ` avec ` ∈ Lit(P) : si ` ∈ Γ, on peut appliquer (Ax). Sinon, par hypothèse `¯ ∈ Γ. 2 Supposons par l’absurde qu’on ait I |= Γ pour une interprétation ¯ donc I 6|= `, ce qui contredit la validité du juI. Alors en particulier I |= `, gement Γ ` `. On en déduit que I 6|= Γ pour tout I, autrement dit Γ ` ⊥ est valide. Par récurrence, ce jugement est prouvable, et donc par (⊥E) le jugement Γ ` ` est prouvable. — si ϕ = ϕ1 ∧ ϕ2 : alors Γ ` ϕ1 et Γ ` ϕ2 sont valides, donc par hypothèse de récurrence prouvables, donc Γ ` ϕ1 ∧ ϕ2 est prouvable en appliquant (∧I). — si ϕ = ¬(ϕ1 ∧ ϕ2 ) : par hypothèse, il existe au plus une interprétation I telle que I |= Γ, donc au moins un des deux jugements parmi Γ ` ¬ϕ1 et Γ ` ¬ϕ2 est valide. Par symmétrie, supposons que Γ ` ¬ϕ1 est valide. Par récurrence, ce jugement est prouvable. On en déduit (Ax) Γ, ϕ1 ∧ ϕ2 ` ϕ1 ∧ ϕ2 Γ ` ¬ϕ1 (Af f ) (∧E1 ) Γ, ϕ1 ∧ ϕ2 ` ¬ϕ1 Γ, ϕ1 ∧ ϕ2 ` ϕ1 (¬E) Γ, ϕ1 ∧ ϕ2 ` ⊥ (¬I) Γ ` ¬(ϕ1 ∧ ϕ2 ) — si ϕ = ϕ1 ∨ ϕ2 par hypothèse, il existe au plus une interprétation I telle que I |= Γ, donc au moins un des deux jugements parmi Γ ` ϕ1 et Γ ` ϕ2 est valide. Par symmétrie, supposons que Γ ` ϕ1 est valide. Alors Γ ` ϕ1 ∨ ϕ2 est prouvable par (∨I1 ). — si ϕ = ¬(ϕ1 ∨ ϕ2 ) : toujours par le même argument, Γ ` ¬ϕ1 et Γ ` ¬ϕ2 sont valides, donc par récurrence prouvables. On en déduit que Γ, ϕ1 ` ⊥ est prouvable puisque Γ, ϕ1 ` ϕ1 Γ ` ¬ϕ1 (Af f ) Γ, ϕ1 ` ¬ϕ1 (¬E) Γ, ϕ1 ` ⊥ (Ax) et de même pour Γ, ϕ2 ` ⊥. On a alors Γ, ϕ1 ∨ ϕ2 ` ϕ1 ∨ ϕ2 (Ax) Γ, ϕ1 ` ⊥ (Af f ) Γ, ϕ1 ∨ ϕ2 , ϕ1 ` ⊥ Γ, ϕ1 ∨ ϕ2 ` ⊥ (¬I) Γ ` ¬(ϕ1 ∨ ϕ2 ) 2. où l’on pose Ā = ¬A et ¬A = A. 3 Γ, ϕ2 ` ⊥ (Af f ) Γ, ϕ1 ∨ ϕ2 , ϕ2 ` ⊥ (∨E) — si ϕ = ϕ1 → ϕ2 : à nouveau, Γ ` ¬ϕ1 est valide, ou sinon c’est Γ ` ϕ2 . — supposons Γ ` ¬ϕ1 valide, et donc par récurrence prouvable ; comme vu dans le cas précédent,Γ, ϕ ` ⊥ est donc prouvable. On en déduit que Γ, ϕ1 ` ⊥ (⊥E) Γ, ϕ1 ` ϕ2 (→ I) Γ ` ϕ1 → ϕ2 — supposons Γ ` ϕ2 valide, et donc par récurrence prouvable. Alors Γ ` ϕ2 (Af f ) Γ, ϕ1 ` ϕ2 (→ I) Γ ` ϕ1 → ϕ2 — si ϕ = ¬(ϕ1 → ϕ2 ) : alors Γ ` ϕ1 et Γ ` ¬ϕ2 sont valides, et donc par récurrence prouvables. On en déduit Γ ` ϕ1 (Af f ) (Ax) Γ, ϕ1 → ϕ2 ` ϕ1 Γ, ϕ1 → ϕ2 ` ϕ1 → ϕ2 Γ ` ¬ϕ2 (→ E) (Af f ) Γ, ϕ1 → ϕ2 ` ϕ2 Γ, ϕ1 → ϕ2 ` ¬ϕ2 (¬E) Γ, ϕ1 → ϕ2 ` ⊥ (¬I) Γ ` ¬(ϕ1 → ϕ2 ) On s’arrête un instant sur la règle suivante : Γ`ϕ (¬L) Γ, ¬ϕ ` ⊥ Lemme 1.3. Tout jugement prouvable dans N J0 + (¬L) est prouvable dans N J0 Démonstration. On remplace une application de (¬L) par Γ`ϕ (Af f ) Γ, ¬ϕ ` ¬ϕ Γ, ¬ϕ ` ϕ (¬E) Γ, ¬ϕ ` ⊥ (Ax) On s’intéresse maintenant aux trois règles suivantes : Γ, ¬ϕ ` ⊥ Γ ` ¬¬ϕ (Abs) (DN ) (T E) Γ`ϕ Γ`ϕ Γ ` ϕ ∨ ¬ϕ Lemme 1.4. Les systèmes N J0 + (Abs) (i.e. N K0 ), N J0 + (DN ), et N J0 + (T E) prouvent les mêmes jugements. 4 Démonstration. On déduit (DN ) de (Abs) par Γ ` ¬¬ϕ (Af f ) Γ, ¬ϕ ` ¬ϕ Γ, ¬ϕ ` ¬¬ϕ (¬E) Γ, ¬ϕ ` ⊥ (Abs) Γ`ϕ (Ax) On déduit (T E) de (DN ) dans N J0 + (¬L) par (Ax) (Ax) Γ, ϕ ` ϕ Γ, ¬ϕ ` ¬ϕ (∨I1 ) (∨2 ) Γ, ϕ ` ϕ ∨ ¬ϕ Γ, ¬ϕ ` ϕ ∨ ¬ϕ (¬L) (¬L) Γ, ¬(ϕ ∨ ¬ϕ), ϕ ` ⊥ Γ, ¬(ϕ ∨ ¬ϕ), ¬ϕ ` ⊥ (¬I) (¬I) Γ, ¬(ϕ ∨ ¬ϕ) ` ¬ϕ Γ, ¬(ϕ ∨ ¬ϕ) ` ¬¬ϕ (¬E) Γ, ¬(ϕ ∨ ¬ϕ) ` ⊥ (¬I) Γ ` ¬¬(ϕ ∨ ¬ϕ) (DN ) Γ ` ϕ ∨ ¬ϕ Enfin, on déduit (Abs) de (T E) par Γ ` ϕ ∨ ¬ϕ (T E) Γ, ϕ ` ϕ Γ`ϕ (Ax) Γ, ¬ϕ ` ⊥ (⊥E) Γ, ¬ϕ ` ϕ (∨E) Théorème 1.5 (Complétude de N K0 ). Si Γ ` ϕ est valide, alors Γ ` ϕ est prouvable dans N K0 . Démonstration. Par récurrence sur le nombre de variables propositionnelles A du jugement telles que {A, ¬A}∩Γ = ∅. Si il n’y aucune variable de la sorte, on applique le lemme 1.2. Sinon, soit A une telle variable. Alors Γ, A ` ϕ et Γ, ¬A ` ϕ sont valides, et par récurrence prouvables. On conclut par le tiers exclu : Γ ` A ∨ ¬A (T E) Γ, A ` ϕ Γ`ϕ 2 Γ, ¬A ` ϕ (∨E) Calcul des séquents : les systèmes LK0 et LJ0 On s’intéresse maintenant au calcul des séquents LK0 et sa version intuitioniste LJ0 . Par rapport à la déduction naturelle, les règles du calcul des séquents permettent de passer d’un jugement contenant une formule ϕ 6∈ P en un ou plusieurs jugements faisant intervernir des sous-formules de ϕ, sauf dans le cas de la règle de coupure. Cette propriété prend son intérêt dans le programme de Hilbert : elle permet d’établir 5 qu’il n’existe pas de preuve de faux, et ce à l’aide d’arguments “finitaires”, sans exhiber une sémantique des formules logiques. 3 Un séquent est une expression de la forme Γ ` ∆ où Γ, ∆ sont des multi-ensembles de formules 4 , autrement dit des listes non ordonnées, et la virgule dans Γ, ϕ ou Γ, ∆ signifie la somme/concaténation de multi-ensembles. Un séquent est prouvable dans le calcul des séquents (classique) LK0 si il admet une dérivation à partir des règles de la figure 2. I |= Γ ` ∆ si ou bien il existe ϕ ∈ Γ telle que I 6|= ϕ, ou bien il existe ψ ∈ ∆ telle que I |= ψ. Le séquent Γ ` ∆ est valide si I |= Γ ` ∆ pour tout I. Γ, ϕ ` ϕ, ∆ Γ, ⊥ ` ∆ (⊥L) (Ax) Γ ` >, ∆ (>R) Γ, ϕ1 , ϕ2 ` ∆ (∧L) Γ, ϕ1 ∧ ϕ2 ` ∆ Γ ` ϕ1 , ∆ Γ ` ϕ2 , ∆ (∧R) Γ ` ϕ1 ∧ ϕ2 , ∆ Γ, ϕ1 ` ∆ Γ, ϕ2 ` ∆ (∨L) Γ, ϕ1 ∨ ϕ2 ` ∆ Γ ` ϕ1 , ϕ2 , ∆ (∨R) Γ ` ϕ1 ∨ ϕ2 , ∆ Γ ` ϕ1 , ∆ Γ, ϕ2 ` ∆ (⇒ L) Γ, ϕ1 ⇒ ϕ2 ` ∆ Γ, ϕ1 ` ϕ2 , ∆ (⇒ R) Γ ` ϕ1 ⇒ ϕ2 , ∆ Γ ` ϕ, ∆ (¬L) Γ, ¬ϕ ` ∆ Γ, ϕ ` ∆ (¬R) Γ ` ¬ϕ, ∆ Figure 2 – Le calcul des séquents classique LK0 (sans la règle de coupure). Théorème 2.1 (Correction et complétude de LK0 ). Un séquent est prouvable dans LK0 si et seulement si il est valide. Démonstration. Pour chaque règle, on peut vérifier que le séquent conclusion est valide si et seulement si le ou les séquents de la prémisse sont tous valides. On en déduit que tout séquent prouvable est valide (correction) par récurrence sur la taille de l’arbre de preuve. Pour montrer la complétude, on raisonne par récurrence sur la taille du séquent, définie comme la somme des tailles des formules qu’il contient (avec leur multiplicité). Soit Γ ` ∆ un séquent valide. — Si ⊥ ∈ Γ ou si > ∈ ∆, on applique la règle adéquate. 3. Pour bien comprendre l’intérêt de la chose, il faut avoir en tête que le programme de Hilbert englobe des logiques plus expressives que la logique propositionnelle, pour lesquelles une approche sémantique présupposant des objets mathématiques “non finitaires” est discutable. 4. contrairement à la déduction naturelle, dont les jugements faisaient intervenir des ensembles de formules. 6 — Si toutes les formules sont des variables propositionnelles, on suppose par l’absurde que Γ ∩ ∆ = ∅. Dans ce cas, on considère l’interprétation I = {A | A ∈ Γ}. Alors I 6|= Γ ` ∆, ce qui contredit la validité du séquent. On a donc Γ ∩ ∆ 6= ∅ et on peut appliquer la règle (Ax). — Sinon c’est que Γ ou ∆ contient une formule ϕ 6∈ P. On peut appliquer une règle qui “réduit” ϕ et admet en prémisse 0, 1 ou 2 séquents de taille plus petite (puisque Γ, ∆ sont des multi-ensembles). De plus, chacun de ces séquents est valide du fait que Γ ` ∆ est valide. Par récurrence, chacun est donc prouvable, et finalement Γ ` ∆ est prouvable. Théorème 2.2 (Propriété de la sous-formule pour LK0 ). Si Γ ` ∆ est prouvable dans LK0 , alors il admet une preuve dont toutes les étapes contiennent des séquents ayant pour formules des sous-formules de formules de Γ ∪ ∆. On voit assez mal comment il pourrait en être autrement : pour chacune des règles de LK0 , les prémisses sont des séquents qui contiennent des sous-formules du séquent conclusion. C’est cependant une propriété remarquable, qui n’est pas vraie pour la déduction naturelle. La propriété de la sous-formule n’est plus vraie non plus si on étend LK0 avec la règle de coupure suivante Γ, ϕ ` ∆ Γ ` ϕ, ∆ (Cut) Γ`∆ Théorème 2.3 (Elimination des coupures en LK0 ). Tout séquent prouvable dans LK0 + (Cut) est prouvable dans LK0 . Démonstration. Soit Γ ` ∆ un séquent prouvable dans LK0 + (Cut). Ce séquent est valide : c’est le même argument que pour la preuve de correction du théorème 2.1, mais il faut aussi prendre en considération la règle de coupure. Comme il est valide, par complétude (théorème 2.1), il est prouvable dans LK0 . La preuve est triviale parce qu’elle utilise un argument sémantique. Si l’on s’interdisait un tel argument, on pourrait le démontrer par transformation de preuve, en repoussant l’application de la règle de coupure vers les feuilles de l’arbre de dérivation, mais c’est une démonstration nettement plus technique... Félicitons-nous plutôt de cette preuve sémantique simple, dans d’autres cours vous ne couperez pas toujours aussi facilement à une preuve syntaxique. Considérons maintenant le pendant intutioniste du calcul des séquents : le calcul des séquents intuitioniste LJ0 est défini aux figures 3 et 4. A nouveau, on appelle LJ0 le système sans la règle de coupure (Cut). Théorème 2.4 (Elimination des coupures en LJ0 ). LJ0 admet l’élimination des coupures : tout séquent prouvable dans LJ0 + (Cut) est prouvable dans LJ0 . La preuve de se théorème est au-delà du programme. On donne une idée d’une approche possible de cette preuve en réutilisant des résultats vus en λ calcul que la normalisation faible du λ-calcul simplement typé implique que toute preuve en N J0 7 Γ, ϕ ` ϕ Γ, ⊥ ` ϕ (Ax) (⊥L) Γ`> (>R) Γ, ϕ1 , ϕ2 ` ψ (∧L) Γ, ϕ1 ∧ ϕ2 ` ψ Γ ` ϕ1 Γ ` ϕ2 (∧R) Γ ` ϕ1 ∧ ϕ2 Γ, ϕ1 ` ψ Γ, ϕ2 ` ψ (∨L) Γ, ϕ1 ∨ ϕ2 ` ψ Γ ` ϕi (∨Ri ) Γ ` ϕ1 ∨ ϕ2 Γ ` ϕ1 Γ, ϕ2 ` ψ (⇒ L) Γ, ϕ1 ⇒ ϕ2 ` ψ Γ, ϕ1 ` ϕ2 (⇒ R) Γ ` ϕ1 ⇒ ϕ2 Γ`ϕ (¬L) Γ, ¬ϕ ` ⊥ Γ, ϕ ` ⊥ (¬R) Γ ` ¬ϕ où i ∈ {1, 2} Figure 3 – Le calcul des séquents intuitioniste LJ0 sans les règles structurelles Γ`ψ (W L) Γ, ϕ ` ψ Γ ` ⊥ (W R) Γ`ϕ Γ, ϕ, ϕ ` ψ Γ ` ϕ Γ, ϕ ` ψ (CL) (Cut) Γ, ϕ ` ψ Γ`ψ Figure 4 – Règles structurelles de LJ0 8 peut se faire “sans détour” (pour une notion de détour à définir), et qu’une preuve sans détour en N J0 peut se traduire en une preuve sans coupure en LJ0 . Théorème 2.5 (Propriété de la sous-formule en LJ0 ). Soit π une preuve de ` ϕ en LJ0 (sans coupure) : alors pour tout séquent Γ ` ψ apparaissant dans la preuve, les formules de Γ et la formule ψ sont des sous-formules de ϕ La preuve se fait par récurrence en généralisant la propriété à un séquent quelconque et est laissée en exercice. 9 3 Sémantique de Kripke Un modèle de Kripke est un tuple K = (W, ≤K , αK ) où — W est un ensemble de mondes — ≤K est une relation d’ordre (partiel) sur W — αK : W → 2P est une fonction monotone qui associe à chaque monde w une interprétation αK (w). Remarque : la monotonie de αK signifie que w ≤K w0 implique αK (w) ⊆ αK (w0 ). Soit un modèle de Kripke K = (W, ≤K , αK ) donné. On définit la relation K, w ϕ, pour tout w ∈ W, par récurrence sur la taille de ϕ : — K, w p si p ∈ αK (w) — K, w ⊥ jamais — K, w ϕ ∨ ψ si K, w ϕ ou K, w ψ — K, w ϕ ∧ ψ si K, w ϕ et K, w ψ — K, w ϕ → ψ si pour tout w0 ≥K w, K, w0 ϕ entraine K, w0 ψ — K, w ¬ϕ si pour tout w0 ≥K w, K, w0 6 ϕ. Lemme 3.1 (Monotonicité de ). Pour toute formule ϕ, pour tout modèle de Kripke K et pour tout w, w0 ∈ W, — si K, w ϕ et w ≤K w0 — alors K, w0 ϕ Démonstration. Par récurrence sur la taille de ϕ (exercice). Exemple 3.2. Soit le modèle de Kripke K = ({w0 , w1 }, ≤, α) avec w0 ≤ w1 , α(w0 ) = ∅ et α(w1 ) = {p}. Alors — K, w0 6|= p — K, w0 6|= ¬p (puisque K, w1 |= p — K, w0 6|= p ∨ ¬p On note K, w Γ si pour toute formule ψ ∈ Γ, K, w ψ, et K, w Γ ` ϕ si K, w Γ implique K, w ϕ. Le séquent Γ ` ϕ est valide (au sens de la sémantique de Kripke) si pour tout modèle de Kripke K, pour tout monde w ∈ W, K, w Γ ` ψ. Théorème 3.3 (Correction de LJ0 ). Si Γ ` ϕ est prouvable en LJ0 + (Cut), alors Γ ` ϕ est valide. Démonstration. Par récurrence sur la taille de la preuve de Γ ` ϕ. On considère donc chaque règle, et on montre que si les prémisses sont des séquents valides, alors le séquent conclusion est valide. On traite seulement quelques exemples Règle (Ax) Pour tout modèle de Kripke K et w ∈ W, si K, w Γ et ϕ ∈ Γ,K |= Γ ` ϕ, alors en particulier K, w ϕ. Règle (⇒ R) Supposons Γ, ϕ1 ` ϕ2 valide. Soit K un modèle de Kripke, et w ∈ W. Supposons que K, w Γ, et montrons que K, w ϕ1 → ϕ2 . Soit w0 ≥K w tel que K, w0 ϕ1 . Par monotonicité de , K, w0 Γ. Par validité de Γ, ϕ1 ` ϕ2 , K, w0 ϕ2 . Comme c’est vrai pour tout w0 ≥K w, w ϕ1 → ϕ2 . 10 Règle (⇒ L) Supposons Γ ` ϕ1 et Γ, ϕ2 ` ψ valides, et montrons que Γ, ϕ1 → ϕ2 ` ψ est valide. Soient K, w tels que K, w Γ et K, w ϕ1 → ϕ2 , montrons que K, w ψ. Comme Γ ` ϕ1 est valide, K, wϕ1 . Commme w ≥K w, K, w ϕ2 . Comme Γ, ϕ2 ` ψ est valide, K, w ψ Autres cas exercice. Corollaire 3.4. ` p ∨ ¬p n’est pas prouvable en LJ0 + (Cut). Démonstration. Soit K le modèle de Kripke de l’exemple 3.2. Si ` p ∨ ¬p était prouvable, alors par correction on aurait K, w0 |= p ∨ ¬p ; c’est impossible. Théorème 3.5 (Complètude de LJ0 ). Si Γ ` ϕ est valide, alors Γ ` ϕ est prouvable en LJ0 + (Cut). Remarque : par le théorème d’élimination des coupures pour LJ0 , le résultat est vrai si on se restreint à LJ0 . Démonstration. On fait la preuve dans le cas restreint où toutes les formules considèrées sont implicatives, autrement dit ne contiennent pas de constante >, ⊥, et ont ⇒ pour seul connecteur logique. 5 Soit S un ensemble de formules. On note S ∗ l’ensemble des formules ϕ pour lesquelles il existe Γ ⊆ S, Γ fini, tel que Γ ` ϕ est prouvable en LJ0 + (Cut). D’aprés la règle (Ax), S ⊆ S ∗ . De plus, d’après la règle (Cut), (S ∗ )∗ = S ∗ . En effet, soit ϕ ∈ (S ∗ )∗ , et montrons que ϕ ∈ S ∗ . Par définition, il existe Γ = {ϕ1 , . . . , ϕn } ⊆ S ∗ , Γ1 , . . . Γn S avec Γ ⊆ S tels que Γ ` ϕ et Γi ` ϕi sont prouvables dans LJ0 + (Cut). n Soit Γ0 = i=1 Γi . Alors par (W L) Γ0 ` ϕi et Γ0 , Γ ` ϕ sont prouvables, et donc par (Cut) Γ0 ` ϕ est prouvable. S est dit saturé si S ∗ = S. Soit KU = ({S | S est saturé}, ⊆, α où α(S) = S ∩ P. On vérifie aisément que α est monotone et qu’on a bien défini une structure de Kripke. Montrons la propriété Ku , S ϕ ssi ϕ∈S (P) par récurrence sur la taille de ϕ : — si ϕ ∈ P, on a KU , S ϕ ssi ϕ ∈ α(S) par def. de ssi ϕ ∈ S ∩ P par def. de α ssi ϕ ∈ S — si ϕ = ϕ1 → ϕ2 , on montre chaque implication séparément. — KU , S ϕ implique ϕ ∈ S. Supposons KU , S ϕ. Soit S 0 = (S ∪ {ϕ1 })∗ . Alors S 0 ⊇ S, donc par le lemme de monotonie, KU , S 0 ϕ1 → ϕ2 . Par définition de S 0 , ϕ1 ∈ S 0 , et par hypothèse de récurrence KU , S 0 ϕ1 . Par définition de , KU , S 0 ϕ2 , et par hypothèse de récurrence, ϕ2 ∈ S 0 = 5. La preuve dans le cas général peut se faire en suivant la même approche, à condition de rajouter des conditions supplémentaires à la notion d’ensemble saturé. 11 (S ∪ ϕ1 )∗ . Il existe donc Γ ⊆ S ∪ ϕ1 tel que Γ ` ϕ2 est prouvable. Deux cas sont possibles : — Γ = Γ1 , ϕ1 avec Γ1 ⊆ S. Alors Γ1 ` ϕ1 → ϕ2 est prouvable par (⇒ R). — Γ ⊆ S. Alors Γ ` ϕ1 → ϕ2 est prouvable par (⇒ R) suivi de (W L). Dans les deux cas, on a donc ϕ1 → ϕ2 ∈ S ∗ = S. — ϕ ∈ S implique KU , S ϕ. Supposons ϕ ∈ S et montrons KU , S ϕ. Par définition de , il faut montrer que pour tout S 0 ⊇ S, si KU , S 0 ϕ1 , alors KU , S 0 ϕ2 . Soit S 0 ⊇ S tel que KU , S 0 ϕ1 . Par hypothèse de récurrence, ϕ1 ∈ S 0 . De plus ϕ1 → ϕ2 ∈ S ⊆ S 0 . Enfin, par (⇒ L) et (Ax), ϕ1 , ϕ1 → ϕ2 ` ϕ2 est prouvable. Donc ϕ2 ∈ S 0∗ = S 0 . Enfin, par hypothèse de récurrence, KU , S 0 ϕ2 . On a donc montré (P ). Revenons à la preuve du théorème. Soit Γ ` ϕ valide ; montrons que Γ ` ϕ est prouvable. Pour tout ψ ∈ Γ, ψ ∈ Γ∗ , et Γ∗ est saturé, donc par (P ), KU , Γ∗ ψ. C’est vrai pour tout ψ ∈ Γ, donc KU , Γ∗ Γ. Par hypothèse, KU , Γ∗ (Γ ` ϕ), donc KU , Γ∗ ϕ. Par (P ), ϕ ∈ Γ∗ . Par définition de Γ∗ , il existe Γ0 ⊆ Γ tel que Γ0 ` ϕ est prouvable. Enfin, par (W L), Γ ` ϕ est prouvable. 12 4 Calcul des prédicats Dans leurs recherches sur la formalisation des mathématiques, les logiciens du XXe siècle se sont intéressés au calcul des prédicats, peut-être le système la plus simple extension du calcul propositionnel. C’est un langage très expressif qui au XXIe siècle est beaucoup utilisé en informatique, grâce à deux nombreuses avancées sur l’automatisation de certains fragments ce le langage. La définition du calcul des prédicats se fait en deux temps : la syntaxe, relativement sans surprise, et la sémantique, qui fait intervenir la notion de modèle. Cette notion de modèle rejoint par sa finalité celles vues en logique classique. Grâce aux modèles, on peut établir qu’un énoncé n’est pas conséquence logique d’autres axiomes (par exemple, l’axiome de choix n’est pas conséquence de la théorie des ensembles ZF), ce qu’on illustrera sur une tentative d’axiomatisation de l’arithmétique élémentaire. 4.1 4.1.1 Syntaxe Les termes On se donne un ensemble F dont les éléments seront appelés symboles de fonction. Chaque symbole f ∈ F est muni d’une arité a(f ) ∈ N qui fixe le nombre d’arguments. On se donne de plus un ensemble infini X de symboles de variables, disjoint de F. Définition 4.1. L’ensemble des termes sur l’alphabet F et les variables X , noté T (F, X ) est le plus petit ensemble tel que : — X ⊆ T (F, X ) ; — si f ∈ F, a(f ) = n et t1 , . . . , tn ∈ T (F, X ), alors f (t1 , . . . , tn ) ∈ T (F, X ). Un terme peut être vu comme un arbre fini étiqueté par F et X . Exemple 4.2. Si l’on suppose que F est composé des symboles +, s, zero d’arités respectives 2, 1, 0, et x ∈ X , alors zero, s(zero),et +(s(zero), x) sont des termes de T (F, X ) que l’on peut voir comme les arbres ci-dessous. zero s zero + s x x On utilise parfois l’écriture en notation infixée pour certains symboles usuels. Par exemple, +(0, s(0)) s’écrira aussi 0 + s(0). Dans les exemples, F est donné en listant ses éléments avec, entre parenthèses, l’arité du symbole correspondant. Exemple 4.3. Si F = {nil(0), cons(2), (2)} et x, y, z ∈ X , (cons(x, y), z) ∈ T (F, X ). Exemple 4.4. Si F = {0(0), s(1), +(2), ×(2)} et x, y ∈ X , ×(s(x), y) ∈ T (F, X ). On écrit aussi ×(s(x), y) en notation infixe : s(x) × y. 13 4.1.2 Formules atomiques On se donne un ensemble P dont les éléments seront appelés symboles de prédicat. Chacun de ces symboles est à nouveau muni d’une arité. On suppose P disjoint de F et de X . Les termes P (t1 , . . . , tn ) où t1 , . . . , tn ∈ T (F, X ) et P ∈ P est d’arité n sont appelés formules atomiques. 4.1.3 Formules du premier ordre Définition 4.5. L’ensemble CP1 (F, P) des formules du premier ordre sur les symboles de prédicat P, les symboles de fonction F et les variables X est le plus petit ensemble tel que : — ⊥, > ∈ CP1 (F, P) ; — les formules atomiques sont dans CP1 (F, P) ; — Si φ, ψ ∈ CP1 (F, P) et x ∈ X alors les formules suivantes sont dans CP1 (F, P) : φ ∧ ψ, φ ∨ ψ, ¬φ, φ ⇒ ψ, ∀x.φ, ∃x.φ. Remarquons que, lorsque tous les symboles de P sont d’arité 0, les formules sans quantificateur de CP1 (F, P) sont aussi des formules de CP0 (calcul propositionnel). Dans la suite, nous ne préciserons pas toujours X , qui est presque toujours évident dans le contexte d’utilisation. Par défaut les symboles de X sont ceux qui commencent par x, y, z. Exemple 4.6. Si P = {= (2)} et en reprenant les symboles de fonction de l’exemple 4.3, ∀x, y. = ((cons(x, y), z), cons(x, (y, z))) est une formule de CP1 (F, P). On écrit souvent u = v au lieu de = (u, v). Exemple 4.7. La formule suivante n’est pas une formule du premier ordre : ∀P.(P (0) ∧ ∀x.P (x) → P (s(x))) → ∀x.P (x) 14 4.2 4.2.1 Sémantique F-algèbres Etant donné un alphabet F une F-algèbre A est constituée d’un domaine (ensemble) DA non vide et, pour chaque symbole de fonction f ∈ F d’arité n, d’une n fonction fA de DA dans DA . Exemple 4.8. Soit F = {0(0), s(1), +(2)}. Alors (N, succN , +N ) est une F-algèbre et (Q+ , 1, ÷2, ÷) est aussi une F-algèbre. (Q+ est l’ ensemble des rationnels strictement positifs). Exemple 4.9. T (F) et T (F, X ) sont des F-algèbres, avec fT (F ) (t1 , t2 ) = f (t1 , t2 ) et de même pour fT (F ,X ) . Exemple 4.10. Soit F = {0(0), succ(1), +(2), ×(2)}. Soit Σ un alphabet fini et a ∈ Σ une lettre. On définit NC la F-algèbre de domaine Σ∗ où 0NC = (le mot vide), w1 +NC w2 est la concaténation de w1 et w2 , succNC (w) = a +NC w, et w1 ×NC w2 est le mot obtenu en remplaçant chaque occurrence de a dans w1 par w2 (par exemple, aba ×NC aa = aabaa). Si A et B sont deux F-algèbres, un homomorphisme (ou simplement morphisme) h de A dans B est une application de DA dans DB telle que, pour tout symbole f ∈ F, pour tous éléments a1 , . . . , an ∈ DA , h(fA (a1 , . . . , an )) = fB (h(a1 ), . . . , h(an )). Exemple 4.11. Soit F = {0(0), s(1), +(2)}. On considère la F-algèbre N et la Falgèbre Z2 , toutes deux équipées des opérations naturelles. L’application de N dans Z2 qui a tout entier associe son reste modulo 2 est un homomorphisme de F-algèbres. Théorème 4.12. (Birkhoff : propriété universelle de T (F, X )) Soit A une F-algèbre. Soit i l’injection (canonique) de X dans T (F, X ). Pour toute application h de X dans A, il existe un unique homomorphisme ĥ de T (F, X ) dans A tel que ∀x ∈ X, ĥ ◦ i(x) = h(x) Démonstration. La construction de ĥ est effectuée par récurrence structurelle sur les termes (ou, si l’on préfère, par récurrence sur la profondeur des termes) de façon évidente : ĥ(x) ĥ(f (t1 , . . . , tn )) = h(x) = f (ĥ(t1 ), . . . , ĥ(tn )) pour tout f ∈ F, a(f ) = n On vérifie aisément que cette définition convient. On prouve enfin facilement, par induction sur t, que h0 (t) = ĥ(t) pour tout autre homomorphisme h0 satisfaisant h0 (i(x)) = h(x). Définition 4.13 (Affectation). Si A est une F-algèbre, une A-affectation est une application σ de X dans A. 15 Si a1 , . . . , an ∈ A, et X = {x1 , . . . , xn }, on note {x1 7→ a1 , . . . , xn 7→ an } l’affectation σ telle que σ(xi ) = ai pour tout i. Cette notation suppose que x1 , . . . , xn sont des variables distinctes. D’après le théorème 4.12, on peut confondre σ et le morphisme correspondant σ̂ de T (F, X ) dans A. Supposons que A = T (F, X ), et que σ est une A-affectation. Alors σ̂ est un endomorphisme de la F-algèbre T (F, X ). On appelle domaine de σ l’ensemble {x ∈ X | σ(x) 6= x} noté Dom(σ). Si t1 , . . . , tn ∈ T (F, X ), on note {x1 7→ t1 , . . . , xn 7→ tn } la substitution σ telle que σ(xi ) = ti pour tout i, et σ(y) = y pour tout y ∈ X \ {x1 , . . . , xn }. Si t est un terme t ∈ T (F, {x1 , . . . , xn }) et si σ est l’affectation {x1 7→ a1 , . . . , xn 7→ an } dans la F-algèbre A, on écrira JtKσ,A ou tσ à la place de σ̂(t) . Exemple 4.14. On a Jx + xKx7→1,N = 2 et Jx + xKx7→s(z),T (F ,X ) = s(z) + s(z). Définition 4.15 (Substitution). Les endomorphismes σ de T (F, X ) de domaine fini sont appelés substitutions. Les homomorphismes de T (F, X ) dans T (F ) de domaine fini sont appelés substitutions closes. Un renommage est un automorphisme de T (F, X ), i.e. une substitution bijective dont l’inverse est aussi une substitution. Notons que si σ est un renommage, xσ est nécessairement une variable ; si ce n’était pas le cas, on aurait xσ = f (t1 . . . , t2 ), et donc x = f (t1 , . . . , tn ) σ −1 = f (t1 σ −1 , . . . , tn σ −1 ), ce qui est impossible (x 6≡ f entraine que x et f (t1 σ −1 , . . . , tn σ −1 ) sont deux termes/arbres étiquettés distincts). 4.2.2 F, P-structures Définition 4.16. Une F, P-structure S est une F-algèbre A = (DA , {fA | f ∈ F}) n et, pour chaque symbole de prédicat P ∈ P d’arité n une relation PA ⊆ DA . On confondra parfois (abusivement) une structure et la F-algèbre sous-jacente. Définition 4.17. Un morphisme h de la F, P-structure S dans la F, P-structure S 0 est un morphisme de la F-algèbre A sous-jacente à S dans la F-algèbre A0 sousjacente à S 0 tel que, pour tout symbole de prédicat P ∈ P (d’arité n), et pour tout n (a1 , . . . , an ) ∈ DA : (a1 , . . . , an ) ∈ PS entraine 16 (h(a1 ), . . . , h(an )) ∈ PS 0 . 4.2.3 Variables libres et variables liées Les quantificateurs lient les variables. On définit ainsi les variables libres (fv(φ)) d’une formule φ (resp. d’un terme t), par récurrence sur le terme t, puis la formule : fv(x) fv(f (t1 , . . . , tn )) fv(P (t1 , . . . , tn )) fv(⊥) = fv(>) fv(φ ∧ ψ) = fv(φ ∨ ψ) fv(φ → ψ) fv(¬φ) fv(∃x.φ) = fv(∀x.φ) = = = = = = = = {x} si x ∈ X fv(t1 ) ∪ . . . ∪ fv(tn ) pour tout f ∈ F d’arité n fv(t1 ) ∪ . . . ∪ fv(tn ) pour tout P ∈ P d’arité n ∅ fv(φ) ∪ fv(ψ) fv(φ) ∪ fv(ψ) fv(φ) fv(φ) \ {x} Quand fv(φ) = ∅, on dit que φ est une formule close. Exemple 4.18. Si φ est la formule P (x) ∧ ∃x.Q(f (x)) ∧ ∃x.∃z.Q(g(x, y, z)) alors fv(φ) = {x, y}. 4.2.4 Satisfaction, modèles d’une formule Soit φ une formule, fv(φ) = {x1 , . . . , xn }, S une F, P-structure (d’algèbre sousjacente A) et σ une A-affectation σ : {x1 , . . . , xn } → A. On définit la relation de satisfaction S, σ |= φ par récurrence sur φ : — S, σ |= P (t1 , . . . , tn ) si et seulement si (Jt1 Kσ,A , . . . , Jtn Kσ,A ) ∈ PS ; — S, σ |= φ ∗ ψ où ∗ est l’un des connecteurs logiques binaires est défini, comme en calcul propositionnel, à partir des modèles de φ et des modèles de ψ, par exemple S, σ |= φ ∨ ψ si et seulement si (S, σ |= φ ou S, σ |= ψ) ; — S, σ |= ¬φ si et seulement si S, σ 6|= φ ; — S, σ |= ∃x.φ si et seulement si il existe a ∈ DA tel que S, σ ] {x 7→ a} |= φ ; — S, σ |= ∀x.φ si et seulement si pour tout a ∈ DA on a S, σ ] {x 7→ a} |= φ. Ici σ ] {x 7→ a} désigne l’affectation σ 0 dont le domaine est Dom(σ 0 ) = Dom(σ) ∪ {x}, qui coïncide avec σ sur Dom(σ) \ {x} et telle que σ 0 (x) = a. Si φ est une formule close, on écrit simplement S |= φ pour S, σ |= φ où σ est l’affectation de domaine vide. Une structure S est un modèle d’une formule close φ si S |= φ. Un modèle d’un ensemble de formules closes est une structure qui satisfait toutes les formules de l’ensemble. 4.2.5 Conséquence et équivalence logiques On étend au calcul des prédicats les notions de conséquence logique, d’équivalence logique définies pour le calcul propositionnel : 17 Définition 4.19. Si E est un ensemble de formules sans variable libre et φ est une formule sans variable libre, alors φ est une conséquence logique de E, ce que l’on note E |= φ, si, pour toute structure S, S |= E entraine S |= φ Deux ensembles de formules sans variable libre E1 et E2 sont logiquement équivalents si toute formule de E2 est conséquence logique de E1 et, réciproquement, toute formule de E1 est conséquence logique de E2 . 4.2.6 Substitutions et renommages On note ϕ[x0 /x] la formule ϕ dans laquelle toute occurrence libre de x est remplacée par x0 . Par exemple, si ϕ = P (x, y) ∧ ∃x.∀z.P (x, z), alors ϕ[x0 /x] est la formule P (x0 , y) ∧ ∃x.∀z.P (x, z). Formellement, ϕ[x0 /x] est définie par induction sur ϕ : P (u1 , . . . , un )[x0 /x] = P (u1 {x 7→ x0 }, . . . , un {x 7→ x0 }) (¬ϕ)[x0 /x] = ¬(ϕ[x0 /x]) (ϕ ∗ ψ)[x0 /x] = ϕ[x0 /x] ∗ ψ[x0 /x] (Qy.ϕ)[x0 /x] = Qy.(ϕ[x0 /x]) (Qx.ϕ)[x0 /x] = Qx.ϕ (∗ ∈ {∨, ∧, ⇒}) (y 6= x) On note ≡α la plus petite congruence telle que Qx.ϕ ≡α Qx0 .(ϕ[x0 /x]) pour tout Q ∈ {∀, ∃} et pour tous x, x0 , ϕ tels que x0 6∈ VL(ϕ). Intuitivement, deux formules ϕ, ψ sont ≡α -équivalentes si on peut passer de l’une à l’autre en renommant des variables liées. On notera que si ϕ ≡α ψ, alors ϕ et ψ sont logiquement équivalentes. On note {x1 7→ t1 , . . . , xn 7→ tn } la substitution qui remplace x1 par t1 , x2 par t2 ,. . . , et xn par tn . C’est une fonction σ : X → T (F, X ), et on note dom(σ) l’ensemble {x1 , . . . , xn }, de sorte que si y 6∈ dom(σ), σ(y) = y. Par le théorème de Birkhoff, σ se prolonge en une fonction σ̂ : T (F, X ) → T (F, X ). On note par convention tσ le terme σ̂(t), que l’on peut aussi définir par induction sur t comme suit. xi σ = ti yσ = y f (u1 , . . . , u1 )σ = f (u1 σ, . . . , un σ) On étend la notion de substitution aux formules : si σ = {x1 7→ t1 , . . . , xn 7→ tn }, la formule ϕσ est définie par induction sur la formule ϕ (à ≡α -equivalence près). P (u1 , . . . , un )σ ≡α (¬ϕ)σ ≡α (ϕ ∗ ψ)σ ≡α (Qx.ϕ)σ ≡α P (u1 σ, . . . , un σ) ¬(ϕσ) ϕσ ∗ ψσ Qx0 .(ϕ[x0 /x]σ) (∗ ∈ {∨, ∧, ⇒}) Q ∈ {∀, ∃}, x0 6∈ dom(σ) ∪ vars(ϕ, t1 , . . . , tn ) Par exemple, si σ = {x 7→ s(y), y 7→ c}, P (x, y)σ ≡α P (s(y), c) ∃x.P (x, y) σ ≡α ∃x0 .P (x0 , c) ∃y.P (x, y) σ ≡α ∃y 0 .P (s(y), y 0 ) 18 Lemme 4.20 (Lemme de substitution). Soit ϕ une (F, P)-formule, S une (F, P)structure, et {x 7→ t} une substitution de domaine x. Soit σ : VL(ϕ{x → t}) → dom(S) une affectation des variables de VL(ϕ) ∪ vars(t) dans S. Alors S, σ |= ϕ{x 7→ t} S, σ ] {x 7→ JtKσ,S } |= ϕ ssi où JtKσ,S est l’image de t par le prolongement de σ à T (F, X ). Démonstration. Par induction sur ϕ — ϕ = P (u1 , . . . , un ). On note σ 0 = σ ] {x 7→ JtKσ,S }. On montre par induction sur le terme u que Ju{x 7→ t}Kσ,S = JuKσ0 ,S . On en déduit ssi ssi ssi ssi S, σ |= P (u1 , . . . , un ){x 7→ t} S, σ |= P (u1 {x 7→ t}, . . . , un {x 7→ t}) Ju1 {x 7→ t}Kσ,S , . . . , Ju n {x 7→ t}Kσ,S ∈ PS Ju1 Kσ0 ,S , . . . , Jun Kσ0 ,S ∈ PS S, σ 0 |= P (u1 , . . . , un ) — Les cas ϕ = ¬ϕ0 et ϕ = ϕ1 ∗ ϕ2 sont laissés en exercice. — ϕ = Qy.ψ. Supposons ϕ = ∃y.ψ (l’autre cas est très similaire). Soit y 0 une variable “fraiche”, autrement dit telle que y 0 6∈ vars(ψ, t) ∪ {x, y}. Alors en particulier JtKσ]{y0 7→a},S = JtKσ,S , et σ ] {y 0 7→ a} ] {x 7→ JtKσ]{y0 7→a},S } = σ ] {x 7→ JtKσ,S } ] {y 0 7→ a}. On en déduit : S, σ |= (∃y.ψ){x 7→ t} ssi S, σ |= ∃y 0 .(ψ[y 0 /y]{x 7→ t}) ssi il existe a ∈ dom(S) tel que S, σ ] {y 0 7→ a} |= ψ[y 0 /y]{x 7→ t} ssi il existe a ∈ dom(S) tel que S, σ ] {y 0 7→ a} ] {x 7→ JtKσ]{y0 7→a},S } |= ψ[y 0 /y] (par hypothèse d’induction) ssi il existe a ∈ dom(S) tel que S, σ ] {x 7→ JtKσ,S } ] {y 0 7→ a} |= ψ[y 0 /y] ssi S, σ ] {x 7→ JtKσ,S } |= ∃y 0 .(ψ[y 0 /y]) ssi S, σ ] {x 7→ JtKσ,S } |= ∃y.ψ 4.2.7 Exemple : arithmétique élémentaire et indépendance de l’axiome de commutativité de l’addition L’ensemble des formules données dans la figure 5 sera appellé axiomatique de l’égalité. C’est un ensemble fini de formules si F et P sont finis. On note, comme nous en avons l’habitude, u = v au lieu de = (u, v). Toute structure S dans laquelle = est interprété par l’égalité sur DS est un modèle de Aeq . Réciproquement, si un ensemble de formules contient Aeq et admet un modèle, alors il admet un modèle dans lequel = est interprété par l’égalité. 19 ∀x. ∀x, y. ∀x, y, z. x=x x=y⇔y=x (x = y ∧ y = z) ⇒ x = z Pour tout n ∈ N et tout symbole f ∈ F d’arité n : ∀x1 , . . . , xn , y1 , . . . , yn . ( ^ xi = yi ) ⇒ f (x1 , . . . , xn ) = f (y1 , . . . , yn ) 1≤i≤n Pour tout n ∈ N et tout symbole P ∈ P d’arité n : ∀x1 , . . . , xn , y1 , . . . , yn . ( ^ xi = yi ) ⇒ P (x1 , . . . , xn ) ⇒ P (y1 , . . . , yn ) 1≤i≤n Figure 5 – Axiomes de l’égalité : Aeq On considère maintenant F = {0(0), s(1), +(2), ×(2)} et P = {= (2)}. Comme nous en avons l’habitude, nous notons u 6= v au lieu de ¬(u = v), u + v au lieu de +(u, v), u × v au lieu de ×(u, v). On appellera axiomatique de l’arithmétique élémentaire. l’ensemble des 7 formules de la figure 6, auquel on ajoute l’axiomatique de l’égalité. Il s’agit de la plus simple des tentatives pour axiomatiser les entiers naturels. 6 La structure construite sur les entiers naturels, dans laquelle tous ces symboles ont leur interprétation usuelle, est un modèle de l’arithmétique élémentaire. Cette structure satisfait l’axiome de commutativité de l’adddition COM défini comme ∀x, y.x + y = y + x. COM est indépendant de Ael : il n’est ni conséquence logique Ael , ni incompatible avec Ael , i.e. Ael 6|= Axcom et Ael 6|= ¬COM. Pour le montrer, il suffit d’exhiber un modèle de Ael qui satisfait Ael mais pas COM. La F-algèbre NC (vue comme une F, P structure en interprétant = comme l’égalité) définie à l’exemple 4.10 conviendrait presque : elle manque seulement de satisfaire la dernière formule ∀x∃y.x 6= 0 ⇒ x = s(y). Voici une autre structure. Soit S la structure de domaine N ∪ {ω1 , ω2 } définie en posant, pour tout i ∈ {1, 2}, n, m ∈ N, x ∈ N ∪ {ω1 , ω2 } : zéro 0S = 0N successeur sS (ωi ) = ωi , sS (n) = n + 1 somme ωi +S x = ωi , n + ωi = ωi , et n +S m = n +N m produit 0 ×S x = 0, et si x 6= 0, x ×S ωi = ωi , et si n 6= 0, ωi ×S n = ωi , et enfin n ×S m = n ×N m. égalité =S est l’égalité Alors S satisfait Ael mais pas COM. 6. sans principe de récurrence 20 ∀x. 0+x=x ∀x, y. s(x) + y = s(x + y) ∀x. 0×x=0 ∀x, y. s(x) × y = y + (x × y) ∀x. s(x) 6= 0 ∀x, y. s(x) = s(y) ⇒ x = y ∀x.∃y. x 6= 0 ⇒ x = s(y) Figure 6 – Arithmétique élémentaire : Ael Une particularité de ce modèle est qu’il fait appel à des éléments “non-atteignables” : les éléments ω1 et ω2 ne sont pas des interprétations de termes clos. On pourra revenir sur ce point plus tard... 21 5 Mise en forme clausale On étend la notion de clause déjà vue pour le calcul propositionnel au calcul des prédicats. Définition 5.1 (Clause). Un littéral est une formule de la forme P (t1 , . . . tn ) ou sa négation. Une clause est une formule close (sans variables libres) en forme prénexe, universellement quantifiée, contenant une disjonction de littéraux, i.e. une formule de la forme ∀x1 , . . . , xk . P1 (~t1 ) ∨ · · · ∨ Pl (~tl ) ∨ ¬P10 (~u1 ) ∨ · · · ∨ ¬Pm (~um ) (k, l, m ≥ 0). On pourra omettre d’écrire les quantificateurs universels quand il est clair que l’on fait référence à une clause. On veut établir le résultat suivant. Théorème 5.2. Soit E un ensemble de formules closes. Il existe un ensemble E de clauses, fini et calculable lorsque E est fini et explicite, tel que E et E sont équisatisfaisables : E est satisfaisable ssi E l’est. Exemple 5.3. Considérons l’ensemble de formules ∃e.∀x. x ∗ e = x ∧ e ∗ x = x, ∀x, y, z. (x ∗ z) ∗ t = x ∗ (z ∗ t), E= ∀x.∃y.∀z. (x ∗ y) ∗ z = z, ∃x.∀y.∃z. z ∗ (x ∗ y) 6= z Alors E est satisfaisable ssi l’ensemble de clauses ∀x. x ∗ = x, ∗ x = x, ∀x. ∀x, y, z. (x ∗ z) ∗ t = x ∗ (z ∗ t), E= ∀x.∀z. (x ∗ I(x)) ∗ z = z, ∀y. f (y) ∗ (c ∗ y) 6= f (y) . est satisfaisable. Dans l’exemple 5.3 ci-dessus, pour éliminer les quantificateurs existentiels, on a introduit de nouveaux symboles de fonction , I, c, et f qui représentent les “fonctions de choix” associées aux quantificateurs qui ont été éliminés. Ces fonctions de choix dépendent des variables quantifiées universellement qui précèdent le quantificateur existentiel éliminé. Ce procédé de transformation de formule est appellé skolémisation en l’honneur du mathématicien norvégien Thoralf Skolem. Le théorème 5.2 a de nombreuses conséquences, en particulier le théorème de Lowenheim-Skolem descendant. 7 Afin de démontrer le théorème 5.2, on commence par démontrer de petits bouts “faciles”, puis on se concentre sur la partie la plus techniquement compliquée, à savoir la gestion des symboles de Skolem. 7. Ce théorème s’énonce ainsi : tout ensemble de F , P-formules satisfaisables, pour F , P dénombrables, admet un modèle dénombrable. 22 5.1 Forme normale négative, forme prénexe Une formule ϕ est dite en forme normale négative si 1. les seules sous-formules de la forme ¬ψ sont des littéraux, i.e. ψ est atomique 2. les seuls connecteurs logique binaires sont ∨ et ∧ (pas de ⇒) Lemme 5.4. Pour tout formule ϕ, il existe une formule nnf(ϕ) en forme normale négative telle que |= ϕ ⇔ nnf(ϕ). Démonstration. On remplace ϕ ⇒ ψ par ¬ϕ ∨ ψ,puis on réécrit la formule en repoussant les négations vers les feuilles selon les règles de De Morgan. Une formule est dite en forme prénexe si elle est de la forme Q1 x1 . . . Qn xn . ϕ où Qi ∈ {∀, ∃} pour tout i = 1, . . . , n et ϕ est sans quantificateurs. On considère les règles de transformation suivantes. (Qx. ϕ) ∗ ψ ψ ∗ (Qx. ϕ) ¬∃x. ϕ ¬∀x. ϕ (∀x. ϕ) ⇒ ψ (∃x. ϕ) ⇒ ψ Qx. (ϕ ∗ ψ) Qx. (ψ ∗ ϕ) ∀x. ¬ϕ ∃x. ¬ϕ ∃x. (ψ ⇒ ϕ) ∀x. (ψ ⇒ ϕ) si x 6∈ fv(ψ), et ∗ ∈ {∧, ∨} si x 6∈ fv(ψ), et ∗ ∈ {∧, ∨, ⇒} si x 6∈ fv(ψ) si x 6∈ fv(ψ) Exemple 5.5. On peut appliquer ces transformations de deux façons différentes à la formule ci-dessous. ∀x. B(x) → ∀x. B(x) ≡α ∀x. B(x) → ∀y. B(y) ∃x. B(x) → ∀y. B(y) ∀y. ∃x.∀y. B(x) → B(y) ∀x. B(x) → B(y) ∀y.∃x. B(x) → B(y) Lemme 5.6 (Correction des règles). Si ϕ ψ, alors |= ϕ ⇔ ψ. Démonstration. Il suffit de prouver ce lemme lorsque la réécriture a lieu à la racine de la formule. On raisonne par analyse de cas. Considérons la règle (∃x. ϕ1 ) ∨ ϕ2 | {z } ∃x. (ϕ1 ∨ ϕ2 ) . | {z } =φ =ψ On veut montrer que pour tout S, σ, on a S, σ |= φ ssi S, σ |= ψ. Soit S, σ fixés. 23 — Supposons que S, σ |= ϕ. Alors S, σ |= ∃x. ϕ1 ou S, σ |= ϕ2 . Si S, σ |= ∃x. ϕ1 alors il existe a ∈ DS tel que S, σ[x 7→ a] |= ϕ1 donc il existe a ∈ DS tel que S, σ[x 7→ a] |= ϕ1 ∨ ϕ2 donc S, σ |= ∃x. (ϕ1 ∨ ϕ2 ) Si S, σ |= ϕ2 alors il existe a ∈ DS .S, σ[x 7→ a] |= ϕ2 donc il existe a ∈ DS tel que S, σ[x 7→ a] |= ϕ1 ∨ ϕ2 donc S, σ |= ∃x. (ϕ1 ∨ ϕ2 ) (premier cas) (par def. de |=) (par def. de |=) (par def. de |=) (deuxième cas) (DS 6= ∅) (par def. de |=) (par def. de |=) Dans les deux cas, S, σ |= ψ. — Supposons maintenant que S, σ |= ψ. Alors il existe a ∈ DS tel que S, σ[x 7→ a] |= ϕ1 ∨ ϕ2 (par def de |=). Si alors donc Si alors donc S, σ[x 7→ a] |= ϕ1 S, σ |= ∃x. ϕ1 S, σ |= (∃x. ϕ1 ) ∨ ϕ2 S, σ[x 7→ a] |= ϕ2 S, σ |= ϕ2 S, σ |= (∃x. ϕ1 ) ∨ ϕ2 (premier cas) (par def. de |=) (par def. de |=) (deuxième cas) (x 6∈ fv(ϕ2 )) (par def. de |=) Dans les deux cas, S, σ |= ϕ. Les autres règles se traitent de façon similaire, voire parfois plus simplement puisque sans utiliser l’hypothèse que DS 6= ∅. Soit la relation binaire ≡α que ϕ ≡α ϕ0 et ϕ0 ψ. , autrement dit définie par ϕ ψ si il existe ϕ0 tel Lemme 5.7. est bien fondée. Démonstration. Si ϕ = C[ψ], on définit qdepth(C) comme le nombre de connecteurs logiques au-dessus de ψ dans l’arbre syntaxique de ϕ qui ne sont pas des quantificateurs, autrement dit qdepth([.]) = 0, qdepth(Qx.C) = qdepth(C), et enfin qdepth(¬C) = qdepth(C ∗ ϕ0 ) = qdepth(ϕ0 ∗ C) = qdepth(C) + 1. On pose P pour finir N (ϕ) = ϕ=C[Qx.ψ] qdepth(C). On vérifie aisément que si ϕ ϕ0 , alors N (ϕ) > N (ϕ0 ). Si ϕ est minimale pour , on vérifie aisément que ϕ est en forme prénexe. De ces observations et du Lemme 5.6, on conclut le résultat suivant. Proposition 5.8. Pour toute formule ϕ, on peut calculer une formule prenex(ϕ) en forme prénexe telle que |= ϕ ⇔ prenex(ϕ). 5.2 Skolémisation On se donne un ensemble de symboles de fonctions F et un ensemble de symboles de prédicats P. Pour chaque F, P-formule ϕ et pour chaque variable x, on se donne 24 un nouveau symbole de fonction fϕ,x d’arité |fv(ϕ) \ {x}|. On note F l’ensemble de symboles de fonction F augmenté de ces nouveaux symboles de fonction, autrement dit F = F ] {fϕ,x | ϕ est une F, P-formule, x ∈ X}. Enfin, pour tout ϕ, x, on se fixe une énumération ~yϕ,x = (y1 , . . . , yn ) de fv(ϕ) \ {x}. Définition 5.9 (skolémisation). Soit ϕ une F, P-formule. La forme skolémisée de ϕ, notée Sk(ϕ), est la F, P-formule définie par récurrence sur la taille de ϕ comme suit. Sk(P (t1 , . . . , tn )) Sk(¬ϕ) Sk(ϕ ∗ ψ) Sk(∀x.ϕ) Sk(∃x.ϕ) = P (t1 , . . . , tn ) = ¬Sk(ϕ) = Sk(ϕ) ∗ Sk(ψ) = ∀x.Sk(ϕ) = Sk(ϕ){x 7→ fϕ,x (~yϕ,x )} (∗ ∈ {∨, ∧, →}) Notons que fv(Sk(ϕ)) = fv(ϕ) ; en particulier, si ϕ est une formule close, Sk(ϕ) est aussi une formule close. Enfin, si ϕ est une F, P-formule, alors Sk(ϕ) est bien une F, P-formule. 8 Exemple 5.10. Soit ϕ la formule ∃x∀y∃z. z ∗ (x ∗ y) 6= z vue à l’exemple 5.3. Alors Sk(ϕ) = ∀y. f (c, y) ∗ (c ∗ y) 6= f (c, y). 9 Revenons à la preuve du théorème 5.2. Pour prouver le théorème, il nous faut définir et étudier les deux foncteurs de structures suivants. ajout des fonctions de Skolem S 0 S|F S restriction F, P-structures S0 F, P-structures Commençons par le plus gros morceau, l’ajout des fonctions de Skolem, et gardons les petites subtilités de l’autre foncteur pour la fin. Soit S une F, P-structure. On veut construire à partir de S une F, P-structure S. Pour être tout à fait constructif, on a besoin de se donner pour tout sous-ensemble non vide U de DS un élément aU de U – ce que l’on fera en invoquant “l’axiome du choix”. De plus, comme DS 6= ∅, on peut se donner un élément de DS que l’on notera a∅ . On commence par prendre pour domaine de S celui de S, i.e. DS = DS ; de même, on interprète dans S tout symbole de fonction de F de la même façon que dans S, 8. Ce ne serait pas le cas si on posait par exemple Sk(∃x.ϕ) = Sk(ϕ{x 7→ fϕ,x (~ yϕ,x )}). 9. Ce n’est pas tout à fait la formule donnée dans l’exemple 5.3, mais on peut s’y ramener si on le souhaite en “propageant les constantes”. 25 i.e fS = fS pour tout f ∈ F. Pour finir de définir S, il nous reste à construire une interprétation du symbole de fonction fϕ,x pour toute F, P-formule ϕ et pour toute variables x. Fixons ϕ, x, et soit n = |~yϕ,x | l’arité du symbole de Skolem fϕ,x . Pour tout ~a ∈ DSn , soit U (~a) = {b ∈ DS | S, {x 7→ b, ~yϕ,x 7→ ~a} |= ϕ}. On définit l’interprétation fS du symbole f = fϕ,x comme suit : aU (a1 ,...,an ) si U (a1 , . . . , an ) 6= ∅ fS (a1 , . . . , an ) = a∅ sinon. Lemme 5.11. Soit S une F, P-structure. Pour toute F, P-formule ϕ et pour toute affectation σ telle que dom(σ) ⊇ fv(ϕ), S, σ |= ϕ S, σ |= Sk(ϕ). ssi Démonstration. On raisonne par induction sur ϕ. Si ϕ est une formule atomique, c’est trivial. Si ϕ commence par un connecteur ¬, ∨, ∧, →, c’est aussi trivial (pour la négation, noter que l’on montre une équivalence). Reste le cas des quantificateurs : le cas du ∀ est aussi trivial, mais ne fera pas de mal d’être détaillé pour s’en persuader, et le cas du ∃ utilise tout ce que l’on vient de définir. — Supposons ϕ = ∀x.ϕ0 . Alors S, σ |= ϕ ssi pour tout a dans DS , S, σ[x 7→ a] |= ϕ0 ssi pour tout a dans DS , S, σ[x 7→ a] |= Sk(ϕ0 ) ssi S, σ |= ∀x.Sk(ϕ0 ) ssi S, σ |= Sk(ϕ) par def. de |= par induction par def. de |= par def. de Sk(.) — Supposons ϕ = ∃x.ϕ0 . ssi ssi ssi ssi ssi ssi ssi S, σ |= ϕ il existe b dans DS t.q. S, σ[x 7→ b] |= ϕ0 U (a1 , . . . , an ) 6= ∅ fS (a1 , . . . , ak ) ∈ U (a1 , . . . , ak ) S, σ[x 7→ fS (a1 , . . . , ak )] |= ϕ0 S, σ[x 7→ fS (a1, . . . , ak )] |= Sk(ϕ0 ) S, σ |= Sk(ϕ0 ) {x 7→ f (y1 , . . . , yn )} S, σ |= Sk(ϕ) par def. de |= par def. de U (.) par def. de fS (.) par def. de U (.) par induction par le lemme 4.20 par def de Sk(.) On s’intéresse maintenant au foncteur de restriction. Si S 0 est une F, P-structure, 0 on définit sans surprise S|F comme la F, P-structure de domaine DS 0 dans laquelle on interprète les symboles de fonction de F de la même façon que dans S 0 . Autrement 0 dit, S 00 = S|F est telle que fS 00 = fS 0 . 26 Lemme 5.12. Soit S 0 une F, P-structure. Pour toute F, P-formule ϕ en forme normale de négation, et pour toute affectation σ telle que dom(σ) ⊇ fv(ϕ), si S 0 , σ |= ϕ alors 0 , σ |= Sk(ϕ). S|F Démonstration. On raisonne par induction sur ϕ. A nouveau le seul cas intéressant est celui du ∃, mais on détaillera aussi celui du ∀ pour s’en convaincre. Soit ϕ fixée, et supposons S 0 , σ |= ϕ. — Si ϕ = ∀x.ϕ0 , alors S 0 , σ |= ∀x.Sk(ϕ0 ) donc pour tout a ∈ DS 0 , S 0 , σ[x 7→ a] |= Sk(ϕ0 ) 0 donc pour tout a ∈ DS 0 , S|F , σ[x 7→ a] |= ϕ0 0 0 donc S|F , σ |= ∀x.ϕ par def. de Sk(.) par def. de |= par hyp. de réc. par def de |= — Si ϕ = ∃x.ϕ0 , et si f = fϕ0 ,x,~y , alors donc donc donc S 0 , σ |= Sk(ϕ0 ){x 7→ f (~yϕ,x )} S 0 , σ[x 7→ fS 0 (~yϕ,x σ)] |= Sk(ϕ0 ) 0 S|F , σ[x 7→ fS 0 (~yϕ,x σ)] |= ϕ0 0 S|F , σ |= ∃x.ϕ0 par def. de Sk(.) par le lemme 4.20 par hyp. de réc. par def de |= Proposition 5.13. Soit S ⊆ CP1 (F, P) un ensemble de formules closes en forme normale de négation. Alors S est satisfaisable ssi SK(S) est satisfaisable. Démonstration. Si S |= S, alors S |= Sk(S). Réciproquement, si T |= Sk(S), alors T|F |= S. Attention, on notera bien que S et Sk(S) ne sont pas logiquement équivalents, mais équisatisfaisables. 5.3 Preuve du théorème 5.2 Lemme 5.14. Soit ϕ une formule closes en forme prénexe universellement quantifiées. Alors il existe un ensemble fini de clauses Cϕ tels que ϕ |= Cϕ et Cϕ |= ϕ. Démonstration. ϕ = ∀x1 . . . ∀xn ψ où ψ est sans quantificateur. En appliquant les règles de mise en forme clausale du calcul propositionnel, on construit ψ 0 équivalente à ψ et de la forme ^ _ `i,j i∈I j∈Ji où les `i,j sont des littéraux. Alors Cϕ = {∀x1 . . . ∀xn . W j∈Ji `i,j | i ∈ I} convient. On peut maintenant prouver le théorème 5.2. Démonstration. Soit S un ensemble de formules closes. On pose S = {Cϕ | ϕ = prenex(Sk(nnf(ψ))), ψ ∈ E}. Alors E est E sont équisatisfaisables. 27 6 Conséquences de la Skolémisation 6.1 Théorème de Herbrand On suppose dans ce qui a trait au théorème de Herbrand un ensemble de symboles de fonction F qui contient au moins un symbole de constante, Un modèle de Herbrand est une F,P-structure dont la F algèbre sous-jacente est T (F), i.e. la F-algèbre des termes clos. Il y a autant de structures de Herbrand qu’il y a d’interprétations possibles des symboles de relation P ∈ P. On peut donc identifier une structure de Herbrand H à une partie H ⊆ AtomesClos(F, P), en posant RH = {(t1 , . . . , tn ) ∈ T (F) | R(t1 , . . . , tn ) ∈ H}. On appelera parfois AtomesClos(F, P) la base de Herbrand. Exemple 6.1. Soit F = {z : 0, s : 1} et P = {E : 2}. Alors T (F) = {sn (z)} est isomorphe aux entiers. Un modèle de Herbrand est donc (à un isomorphisme près) une relation binaire sur les entiers. Soit H le modèle de Herbrand défini par H = {E(sn (z), sn (z) | n ≥ 0}. Alors H est une structure isomorphe aux entiers avec l’égalité. On dira qu’une formule est universellement quantifiée si elle ne contient que des quantificateurs universels et si elle est en forme normale négative 10 . Théorème 6.2 (Herbrand). Soit S un ensemble de formules closes universellement quantifiées. Alors S est satisfaisable ssi S a un modèle de Herbrand Exemple 6.3. Le théorème n’est pas vrai si les formules contiennent des quantificateurs existentiels. Par exemple, prenons F = {c : 0} et P = {E : 2}. Il y a deux modèles de Herbrand seulement : H1 = ∅ et H2 = {E(c, c)}. Alors H1 6|= E(c, c), et par ailleurs H2 6|= ∃x.¬E(x, c) puisque dom(H2 ) = {c}. Donc S = {E(c, c), ∃x.¬E(x, c)} n’a pas de modèle de Herbrand. Pourtant, S est satisfaisable. Démonstration. Si S a un modèle de Herbrand H, S est satisfaisable puisque H |= S. Réciproquement, supposons que S est satisfaisable, et construisons un modèle de Herbrand H à partir d’une F,P-structure M telle que M |= S. On pose H = {P (t1 , . . . , tn ) ∈ AtomesClos(F, P) | M |= P (t1 , . . . , tn )}. Montrons que pour toute formule universellement quantifiée en forme normale négative ϕ, pour toute H-affectation σ : X → T (F), si M |= ϕσ H, σ |= ϕ alors (P ) On procède par récurrence sur ϕ. — ϕ = P (t1 , . . . , tn ) ou ϕ = ¬P (t1 , . . . , tn ) avec t1 , . . . , tn ∈ T (F, X ). On a ssi ssi M |= P (t1 σ, . . . , tn σ) (t1 σ, . . . , tn σ) ∈ PH par def. de PH H, σ |= P (t1 , . . . , tn ) par def. de |= 10. on pourrait aussi définir cette notion pour une formule en forme prénexe à la place d’une formule en forme normale négative 28 — connecteurs logiques ∨, ∧ : immédiat par hypothèse de récurrence. — ϕ = ∀x.ψ, avec x 6∈ dom(σ) ∪ im(σ) M |= (∀x.ψ)σ = ∀x.(ψσ) ssi pour tout a ∈ dom(M), M, {x 7→ a} |= ψσ entraine pour tout t ∈ T (F), M{x 7→ JtKM } |= ψσ ssi pour tout t ∈ T (F).M, |= (ψσ){x 7→ t} entraine pour tout t ∈ T (F), H, {x 7→ t} |= ψσ ssi H |= ∀x.(ψσ) = (∀x.ψ)σ par le lemme 4.20 par rec. par def de |= Montrons maintenant que H |= S. Soit ϕ ∈ S. Alors M |= ϕ puisque M |= S, donc H |= ϕ par la propriété (P ) que l’on vient de montrer. Comme c’est vrai pour tout ϕ ∈ S, H |= S. 6.2 Théorème de Löwenheim-Skolem descendant On rappelle qu’un ensemble est dénombrable si il est fini ou en bijection avec N. Théorème 6.4. Soient F, P des ensembles dénombrables de symboles de fonctions et relations, et soit S un ensemble de F,P formules closes. Alors S est satisfaisable ssi S admet un modèle dénombrable. Démonstration. C’est essentiellement une conséquence du théorème de Herbrand et de la Skolémisation. On peut supposer sans perte de généralité que S ne contient que des formules en forme normale négative. Alors Sk(S) ne contient que des formules universellement quantifiées, et est satisfaisable puisque S est satisfaisable. Il admet donc un modèle de Herbrand H. Par le lemme 5.12, H|F est un modèle de S. Le domaine de H et HF est l’ensemble T (F) des termes clos construits à partir des symboles de fonctions originaux et des symboles de Skolem. Comme F et P sont dénombrables, l’ensemble des F, P formules est dénombrable, donc F est dénombrable, donc H|F est dénombrable. 6.3 Théorème de compacité Soit S un ensemble de F, P-formules prénexes universellement quantifiées. On note H(S) = {ϕ{x1 7→ t1 , . . . , xn 7→ tn } | ∀x1 , . . . , xn .ϕ ∈ S, ϕ sans quant., t1 , . . . , tn ∈ T (F)} l’ensemble des instances de Herbrand de S. Posons P 0 = AtomesClos(F, P)). Alors H(S) ⊆ F0 (P 0 ), est un ensemble de formules du calcul propositionnel où l’on prend pour “variables propositionnelles” les atomes clos de la logique du premier ordre. Une interprétation I ⊆ P 0 de ces “variables propositionnelles” correspond à un modèle de Herbrand HI , et réciproquement tout modèle de Herbrand H peut être vu comme une interprétation IH de ces variables propositionnelles. Enfin, pour tout modèle de Herbrand H, H |= S ssi IH |= H(S). En particulier, par le théorème de Herbrand, S ⊆ CP1 (F, P) est satisfaisable ssi H(S) ⊆ F0 (P 0 ) est satisfaisable. 29 Théorème 6.5 (Compacité). Un ensemble de formules du premier ordre est satisfaisable ssi chacun de ses sous-ensembles finis est satisfaisable. Démonstration. Soit S est un ensemble de formules non satisfaisables, et montrons qu’il existe un sous-ensemble fini S 0 ⊆ S non satisfaisable. On peut supposer sans perte de généralité que S ne contient que des formules en forme normale négative et prénexe. — Par le lemme 5.12, Sk(S) n’est pas satisfaisable, donc H(Sk(S)) n’est pas satisfaisable. — Par le théorème de compacité du calcul propositionnel, il existe F ⊆ H(Sk(S)) fini et non satisfaisable. — Soit F 0 ⊆ Sk(S) défini comme F 0 = {∀x1 . . . xn ϕ | ϕσ ∈ F }. Alors H(F 0 ) ⊇ F et F 0 est fini. Comme F ⊆ H(F 0 ) et F est insatisfaisable, H(F 0 ) est insatisfaisable, donc F 0 est insatisfaisable. — Enfin, comme F 0 ⊆ Sk(S), il existe un ensemble fini S 0 ⊆ S tel que F 0 = Sk(S 0 ). Par le lemme 5.11, S 0 n’est pas satisfaisable. 7 Entscheidungsproblem Théorème 7.1. L’ensemble des F, P formules valides n’est pas récursif. Autrement dit, il n’existe pas de fonction calculable totale qui renvoie vrai si la formule passée en argument est valide, et faux sinon. Démonstration. On réduit , . . . , un , vn ∈ n le problème de Post. Soit n ≥ 1 et u1 , v1o ∗ {a, b} . On note R̂ = (ui1 · · · ui` , vi1 · · · vi` ) | i1 , . . . , i` ∈ {1, . . . n} Une solution du problème est un w ∈ {a, b}+ tel que (w, w) ∈ R̂. On pose — F = { : 0, a : 1, b : 1} — P = {R : 2} — ϕ= R(, ) n R(a(x), a(x)) ^ ⇒ ∃x. . ∧ ∀x, y.R(x, y) ⇒ R(ui (x), vi (y)) ∨ R(b(x), b(x)) i=1 où l’on note w(x) le terme a1 (. . . an (x) . . . ) si w = a1 . . . an ∈ {a, b}∗ . Montrons que ϕ est valide ssi le problème a une solution. (⇒) Supposons ϕ valide. On pose S de domaine {a, b}∗ avec S = V , aS (w) = n aw, bS (w) = bw, et RS = R̂. Alors S |= R(, )∧∀x, y.R(x, y) ⇒ i=1 R(ui (x), vi (y)), et comme ϕ est valide, S |= ∃x.R(a(x), a(x)) ∨ R(b(x), b(x)). Un mot témoin pour x est une solution de Post. (⇐) Suppsons qu’il existe une solution (w, w) ∈ R̂. Soit S une structure. MonVn trons que S |= ϕ. Supposons que S |= R(, )∧∀x, y.R(x, y) ⇒ i=1 R(ui (x), vi (y)). Alors RS ⊇ R̂. Donc (w, w) ∈ RS , donc S |= ∃x.R(a(x), a(x))∨R(b(x), b(x)). 30