Complétude déductive de la logique

publicité
Complétude déductive de la logique propositionnelle
Tero Tulenheimo
2016
Définition 1 Un système de preuve pour la logique propositionnelle est correct si toute formule de la logique propositionnelle ayant une preuve en termes de ce système—c-à-d pouvant
être derivée à partir de l’ensemble vide des prémisses en utilisant les règles de ce système—est
tautologique ; la méthode de preuve est (déductivement) complète si inversement toute formule
tautologique de la logique propositionnelle a une preuve en termes de ce système.
Une branche est finale si elle est close (clôturée), ou bien toutes les formules signées non
atomiques sur la branche ont été traitées et la règle de clôture n’est pas applicable à la branche.
Une branche est maximale dans un arbre donné si elle n’a pas d’extension dans l’arbre. 1 Un
arbre est final si toutes ses branches maximales sont finales. Un arbre final est clos si toutes ses
branches finales sont closes, et un arbre final est ouvert si au moins une de ses branches finales
est ouverte.
On procède à démontrer que les arbres sémantiques (tableaux) induisent un système de
preuve correct et complète pour la logique propositionnelle. On rappelle que dans le contexte
des arbres sémantiques, une preuve d’une formule A est un arbre final clos pour la formule
signée F A. Pour simplifier la présentation, on adopte la définition suivante.
Définition 2 Soient A1 , . . . , An des formules de la logique propositionnelle et soit Si ∈ {V, F }
pour tout 1 ≤ i ≤ n. Si β = (S1 A1 , . . . , Sn An ) est une branche dans un arbre sémantique et
∆ est une valuation (sur les atomes qui apparaissent dans des formules A1 , . . . , An ), alors la
valuation ∆ satisfait (ou réalise) la branche β, en symboles ∆ |≡ β, si les formules A1 , . . . , An
remplissent la condition suivante : pour tout 1 ≤ i ≤ n,

si S = V , alors ∆ |= A
i
i
si Si = F , alors ∆ 6|= Ai .
(Ici la relation |≡ entre des valuations et des suites de formules signées est définie en termes de
la relation sémantique de base |=, cette dernière étant une relation entre des valuations et des
formules de la logique propositionnelle. Dans un cas spécial la suite β pourrait consister d’une
1. Cela ne signifie pas automatiquement que la branche ne pourrait pas être étendue. Prenons par ex. l’arbre
T = {hF (p ∧ q)i} dont la seule branche est la branche dont le seul membre est la racine F (p ∧ q). Dans l’arbre
T la branche hF (p ∧ q)i est maximale : n’a pas d’extension. D’autre part les règles des arbres sémantiques
permettent d’étendre T en un arbre T 0 = T ∪ {hF (p ∧ q), F pi, hF (p ∧ q), F qi} qui contient deux extensions
de la branche hF (p ∧ q)i, à savoir les branches hF (p ∧ q), F pi et hF (p ∧ q), F qi—ces dernières étant à leur tour
maximales dans le nouvel arbre T 0 .
2
seule formule signée, V A ou F A. On peut noter que ∆ |≡ (VA) ssi ∆ |= A, et ∆ |≡ (FA) ssi
∆ 6|= A. Généralement la condition ∆ |≡ β concerne cependant plusieurs formules—autant de
formules qu’il y a des formules signées dans la suite β.)
Remarque 3 Si une valuation ∆ satisfait une branche d’un arbre sémantique, il n’existe pas
de formule A telle que la branche contient à la fois la formule signée F A et la formule signée
V A. Car dans ce cas—par Définition 2—on aurait ∆ 6|= A et ∆ |= A, ce qui est impossible.
1
L’existence d’un système de preuve correct
Théorème 4 (Correction) Si A a une preuve, alors A est une tautologie.
Preuve. Supposons que A a une preuve, c-à-d qu’il existe un arbre T pour F A dont toutes
les branches maximales sont finales et clôturées. (L’arbre T est donc final et clos.) Il faut
démontrer que A est vrai selon toute valuation. Supposons pour l’absurde que A n’est pas une
tautologie—qu’il existe une valuation ∆ telle que ∆ 6|= A. On montre que cette hypothèse mène
à une contradiction : l’hypothèse nous permet à construire une branche (S0 A0 , . . . , Sn An ) finale
et ouverte de l’arbre T —et cependant l’arbre T est clos, donc toutes ses branches finales sont
clôturées.
Soit maintenant ∆0 une valuation telle que ∆0 6|= A ; une telle valuation existe par l’hypothèse. On utilise ∆0 pour construire une suite finie (S0 A0 , . . . , Sn An ) des formules signées selon
la procédure suivante.
1. Soit S0 := F et A0 := A. On observe que la suite (S0 A0 ) avec un seul membre est une
branche de T (contenant rien d’autre que sa racine), et qu’on a ∆0 |≡ (S0 A0 ) dû au fait
que ∆0 6|= A. Si la branche (S0 A0 ) est finale (c-à-d si la formule A0 est atomique), la
construction se termine : dans ce cas la suite construite est une branche finale ouverte
de T , ce qui est impossible. Sinon, on procède à l’étape (2).
2. Supposons qu’on a déjà produit une suite (S0 A0 , . . . , Si Ai ) qui est une branche nonfinale de T telle que ∆0 |≡ (S0 A0 , . . . , Si Ai ). Comme il s’agit d’une branche non-finale
et donc ouverte de T , et comme T est un arbre final, il existe au moins une extension
de cette branche dans T . On peut noter d’abord que la branche (S0 A0 , . . . , Si Ai ) ne
peut pas avoir une extension résultante d’une application de la règle de clôture : étant
donné que ∆0 |≡ (S0 A0 , . . . , Si Ai ), par Rémarque 3 il n’y a pas de formule B telle que
la branche contient les formules signées F B et V B. Les extensions de (S0 A0 , . . . , Si Ai )
dans T consistent donc d’une application d’une règle de tableau à une seule formule
signée Sj Aj apparaissant sur la branche (avec 1 ≤ j ≤ i), la règle correspondant à l’un
des connecteurs de la logique propositionnelle et à l’un des signes V et F .
NB : parce que la valuation ∆0 satisfait la branche (S0 A0 , . . . , Si Ai ) et que Sj Aj apparaı̂t
sur cette branche, on sait que ∆0 |≡ (Sj Aj ). Plus spécifiquement, on a ∆0 |= Aj si Sj = V ,
et ∆0 6|= Aj si Sj = F . On étend la suite (S0 A0 , . . . , Si Ai ) de façon suivante en fonction
3
de la forme de la formule signée Sj Aj en question, tout en prenant soin que la valuation
∆0 satisfasse l’extension choisie. (On est en train de construire une extension satisfaite
par ∆0 .)
2.1. Si Sj Aj est de la forme V ¬B ou F ¬B ou V (B ∨ C) ou F (B ∧ C) ou V (B → C),
on procède comme suit :
• Si Sj Aj = V ¬B, soit Si+1 Ai+1 = F B. Ici ∆0 |≡ (Sj Aj ) implique que ∆0 |= ¬B,
donc ∆0 6|= B — ce qui signifie que ∆0 |≡ (F B) et donc ∆0 |≡ (Si+1 Ai+1 ).
• Si Sj Aj = F ¬B, soit Si+1 Ai+1 = V B. Ici ∆0 |≡ (Sj Aj ) implique que ∆0 6|= ¬B,
donc ∆0 |= B — ce qui signifie que ∆0 |≡ (V B) et donc ∆0 |≡ (Si+1 Ai+1 ).
• Si Sj Aj = V (B ∨ C), étant donné que ∆0 |≡ (Sj Aj ) et donc ∆0 |= B ∨ C,
il existe D ∈ {B, C} tel que ∆0 |= D ; soit Si+1 Ai+1 = V D. Par conséquent
∆0 |≡ (Si+1 Ai+1 ).
• Si Sj Aj = F (B ∧ C), étant donné que ∆0 |≡ (Sj Aj ) et donc que ∆0 6|= B ∧ C,
il existe D ∈ {B, C} tel que ∆0 6|= D ; soit Si+1 Ai+1 = F D. Par conséquent
∆0 |≡ (Si+1 Ai+1 ).
• Si Sj Aj = V (B → C), étant donné que ∆0 |≡ (Sj Aj ) et donc que ∆0 |= B → C,
on a soit ∆0 6|= B, soit ∆0 |= C. Dans le premier cas, soit Si+1 Ai+1 = F B,
autrement soit Si+1 Ai+1 = V C. Dans tous les deux cas on finit par avoir ∆0 |≡
(Si+1 Ai+1 ).
La suite (S0 A0 , . . . , Si Ai , Si+1 Ai+1 ) ainsi construite est une branche de l’arbre T
et on peut constater que par la construction de la suite, on a ∆0 |≡ (S0 A0 , . . . ,
Si Ai , Si+1 Ai+1 ). Si la branche (S0 A0 , . . . , Si Ai , Si+1 Ai+1 ) est finale, la construction se
termine et on a trouvé une branche finale ouverte de T , ce qui est impossible. Sinon,
la branche a une extension dans T et on répète la procédure en revenant à (2).
2.2. Dans les cas restants—si Sj Aj est de la forme F (B∨C) ou V (B∧C) ou F (B → C)—
voilà comment on procède :
• Si Sj Aj = F (B ∨ C), soient Si+1 Ai+1 = F B et Si+2 Ai+2 = F C. Ici ∆0 |≡ (Sj Aj )
implique que ∆0 6|= B et ∆0 6|= C — ce qui signifie que ∆0 |≡ (F B, F C) et donc
∆0 |≡ (Si+1 Ai+1 , Si+2 Ai+2 ).
• Si Sj Aj = V (B ∧ C), soient Si+1 Ai+1 = V B et Si+2 Ai+2 = V C. Ici ∆0 |≡ (Sj Aj )
implique que ∆0 |= B et ∆0 |= C — ce qui signifie que ∆0 |≡ (V B, V C) et donc
∆0 |≡ (Si+1 Ai+1 , Si+2 Ai+2 ).
• Si Sj Aj = F (B → C), soient Si+1 Ai+1 = V B et Si+2 Ai+2 = F C. Ici ∆0 |≡ (Sj Aj )
implique que ∆0 |= B et ∆0 6|= C — ce qui signifie que ∆0 |≡ (V B, F C) et donc
∆0 |≡ (Si+1 Ai+1 , Si+2 Ai+2 ).
Ici la suite (S0 A0 , . . . , Si Ai , Si+1 Ai+1 , Si+2 Ai+2 ) est une branche de l’arbre T et on
peut constater que par la construction la valuation ∆0 , on a : ∆0 |≡ (S0 A0 , . . . ,
4
Si Ai , Si+1 Ai+1 , Si+2 Ai+2 ). Si la branche (S0 A0 , . . . , Si Ai , Si+1 Ai+1 , Si+2 Ai+2 ) est
finale, la construction se termine et on a trouvé une branche finale ouverte de T
ce qui est impossible. Sinon, la branche a une extension dans T et on répète la
procédure en revenant à (2).
En appliquant la procédure décrite, on obtient dans un nombre fini des pas une suite
(S0 A0 , . . . , Sn An ) qui est une branche de l’arbre T , qui ne peut plus être étendue, 2 et qui
est satisfaite par ∆0 et donc ouverte et cependant finale. Cela est impossible, étant donné que
l’arbre T est clos. On peut conclure que l’hypothèse selon laquelle il existe une valuation ∆0
telle que ∆0 6|= A est fausse et effectivement A est une tautologie.
2
L’existence d’un système de preuve complet
On commence par un résultat auxiliaire.
Lemme 5 Si un arbre sémantique pour la formule signée V A contient une branche finale
ouverte, il existe une valuation ∆ telle que ∆ |= A.
Preuve. Soit T un arbre et (S0 B0 , . . . , Sn Bn ) une branche finale ouverte de T , avec S0 := V
et B0 := A. Soit Y l’ensemble des atomes propositionnels qui apparaissent dans la formule A,
et soit Z le sous-ensemble de Y qui consiste des atomes propositionnels p tels que soit V p soit
F p est un membre de la suite (S0 B0 , . . . , Sn Bn ). 3 On définit une valuation ∆0 sur Y comme
suit. D’abord, si p ∈ Z, alors

vrai si il existe 0 ≤ j ≤ n tel que S B = V p
j j
∆0 (p) =
faux si il existe 1 ≤ j ≤ n tel que Sj Bj = F p.
Ensuite, on peut choisir les valeurs ∆0 (p) avec p ∈ Y \ Z de façon arbitraire (il n’est pas
important comment on choisit ces valeurs). Étant donné que la branche (S0 B0 , . . . , Sn Bn ) est
ouverte, la valuation ∆0 est bien définie : il ne peut pas arriver que V p et F p apparaissent tous
les deux sur cette branche. On procède à démontrer que ∆0 |= A. On fera cela en démontrant
plus généralement que ∆0 |≡ (S0 B0 , . . . , Sn Bn ). Cette dernière affirmation peut à son tour être
démontrée par induction qui procède de la formule signée Sn Bn vers la formule signée S0 B0 .
2. La procédure ne peut pas continuer à l’infini. Si le nombre d’occurrences des connecteurs de A est n,
alors sur une seule branche d’un arbre pour SA on peut avoir appliqué au plus n fois des règles de tableau
correspondant aux connecteurs (moins de n fois si des applications des règles ont crée des branchements portant
certains sous-formules complexes sur des branches distinctes). Donc on a besoin d’un maximum de n applications
des règles de connecteurs pour arriver à une branche dont toutes les formules signées non traitées sont atomiques.
3. Il est possible que Z 6= Y , c-à-d aussi d’autres atomes propositionnels peuvent apparaı̂tre sur la branche
(S0 B0 , . . . , Sn Bn ). Par ex. la suite hF (p ∧ q), F pi est une branche finale ouverte de l’arbre T 0 mentionné dans la
note en bas de page 1. L’atome q apparait sur cette branche, mais la branche ne contient pas F q ou V q comme
membre.
5
1. On note d’abord que Sn Bn ∈ {V p, F p} pour quelque p ∈ Z. Par la définition de ∆0 , on a
∆0 (p) = vrai si Sn = V , et ∆0 (p) = faux si Sn = F . Par conséquent on a ∆0 |≡ (Sn Bn ).
2. Supposons ensuite qu’on a ∆0 |≡ (Sj+1 Bj+1 , . . . , Sn Bn ), où 0 ≤ j < n. On considère des
différents cas en fonction de la forme de la formule signée Sj Bj .
2.1. S’il existe p ∈ Z tel que Sj Bj ∈ {V p, F p}, alors ∆0 |≡ (Sj Bj ) par la définition de ∆0 .
2.2. Si Sj Bj = V ¬C, alors il existe i tel que j < i ≤ n et Si Bi = F C. Par hypothèse
∆0 |≡ (F C) et du coup ∆0 |≡ (V ¬C).
2.3. Si Sj Bj = F ¬C, alors il existe i tel que j < i ≤ n et Si Bi = V C. Par hypothèse
∆0 |≡ (V C) et par conséquent ∆0 |≡ (F ¬C).
2.4. Si Sj Bj = V (C ∧ D), alors il existe i et k tels que j < i, k ≤ n et Si Bi = V C et
Sk Bk = V D. Par hypothèse ∆0 |≡ (V C, V D). Il s’ensuit que ∆0 |≡ (V (C ∧ D)).
2.5. Si Sj Bj = F (C ∨ D), alors il existe i et k tels que j < i, k ≤ n et Si Bi = F C et
Sk Bk = F D. Par hypothèse ∆0 |≡ (F C, F D). Il s’ensuit que ∆0 |≡ (F (C ∨ D)).
2.6. Si Sj Bj = F (C → D), alors il existe i et k tels que j < i, k ≤ n et Si Bi = V C et
Sk Bk = F D. Par hypothèse ∆0 |≡ (V C, F D). Il s’ensuit que ∆0 |≡ (F (C → D)).
2.7. Si Sj Bj = F (C ∧ D), alors il existe un nombre i et une formule E tels que j < i ≤ n
et E ∈ {C, D} et Si Bi = F E. Par hypothèse ∆0 |≡ (F E). Donc ∆0 |≡ (F (C ∧ D)).
2.8. Si Sj Bj = V (C ∨ D), alors il existe un nombre i et une formule E tels que j < i ≤ n
et E ∈ {C, D} et Si Bi = V E. Par hypothèse ∆0 |≡ (V E). Donc ∆0 |≡ (V (C ∨ D)).
2.9. Si Sj Bj = V (C → D), alors il existe un nombre i avec j < i ≤ n tel que ou bien
Si Bi = F C, ou bien Si Bi = V D. Dans le premier cas, par hypothèse, ∆0 |≡ (F C)
et donc ∆0 |≡ (V (C → D)). Dans le second cas, par hypothèse, ∆0 |≡ (V D) et donc
même dans ce cas ∆0 |≡ (V (C → D)).
Par cette raisonnement on sait que ∆0 |≡ (S1 B1 , . . . , Sn Bn ). En particulier donc ∆0 |≡ (S0 B0 ),
c-à-d ∆0 |≡ (V A). Or cela signifie que ∆0 |= A.
Théorème 6 (Complétude) Si A est une tautologie, alors A a une preuve.
Preuve. Supposons que A est une tautologie. Soit T un arbre sémantique pour la formule
signée F A tel que toutes les branches maximales de cet arbre sont finales. (Pour toute formule signée il existe au moins un tel arbre.) Si l’arbre T n’était pas clos, il aurait au moins
une branche finale ouverte, disons (F A, S1 B1 , . . . , Sn Bn ). Par conséquent il existerait un arbre
sémantique pour la formule signée V ¬A avec une branche finale ouverte, à savoir la branche
(V ¬A, F A, S1 B1 , . . . , Sn Bn ), 4 ce qui impliquerait par Lemme 5 qu’il existe une valuation ∆
4. Pourquoi la branche (V ¬A, F A, S1 B1 , . . . , Sn Bn ) serait-elle finale et ouverte ? D’une part, toutes les
formules complexes apparaissant sur cette branche seraient traitées, parce que par hypothèse toutes les formules complexes apparaissant sur (F A, S1 B1 , . . . , Sn Bn ) sont traitées, et F A est obtenu par le fait d’avoir
traité V ¬A. D’autre part, toujours par hypothèse, la règle de clôture n’est pas appliquable à la branche
6
telle que ∆ |= ¬A. Or cela est impossible, étant donné que A est une tautologie. On peut
conclure que l’arbre T est clos et donc A a une preuve.
On peut déduire à partir des résultats démontrés jusqu’ici que l’ordre d’application des
règles des arbres sémantiques ne peut pas influer à la question si l’arbre final résultant est clos :
si un arbre final pour F A est clos, tous les arbres finals pour F A sont clos.
Corollaire 7 Les conditions suivantes sont équivalentes :
(a) Il existe un arbre clos pour F A
(b) Tout arbre final pour F A est clos.
Preuve. Implication (a) ⇒ (b) : Supposons qu’il existe un arbre clos pour F A (c-à-d que
A a une preuve). Par Théorème 4 (correction), on peut inférer que A est une tautologie. Par
la preuve de Théorème 6 (complétude), n’importe quel arbre final de F A est clos. (La preuve
de ce théorème démontre quelque chose de plus que l’affirmation exprimée par le théorème, à
savoir que si A est une tautologie, toute arbre final pour F A est clos.)
Implication (b) ⇒ (a) : Supposons que tout arbre final pour F A est clos. Parce que pour
toute formule signée F A il existe au moins un arbre final, il s’ensuit qu’il existe un arbre clos
pour F A.
(F A, S1 B1 , . . . , Sn Bn ). Cette règle pourrait être appliquable à la branche (V ¬A, F A, S1 B1 , . . . , Sn Bn ) seulement si la formule signée F ¬A appraissait sur (F A, S1 B1 , . . . , Sn Bn ). Or dans ce cas aussi la formule signée
VA apparaı̂trait sur (F A, S1 B1 , . . . , Sn Bn ) (cette branche est finale), et du coup la règle de clôture serait appliquable à (F A, S1 B1 , . . . , Sn Bn ) ou aurait déjà été appliquée sur cette branche, ce qui est impossible vu que
cette branche et finale et ouverte.
Téléchargement