3.2 Déduction modulo
3.2.1 Variations sur les systèmes de déduction modulo
Il existe plusieurs manières plus ou moins équivalentes de considérer des systèmes de
déduction modulo, suivant qu’on travaille modulo un système de réécriture de façon
implicite comme nous venons de le voir, ou grâce à des règles d’inférence explicites ;
ou bien qu’on oriente l’application des règles de réécriture dans les démonstrations ;
ou encore qu’on ne puisse réécrire que des propositions atomiques ; ou enfin que l’on
différencie les réécritures autorisées à gauche ou à droite d’une séquence.
On peut considérer une règle de conversion explicite, comme dans le cas des systèmes
de type purs. Dans ce cas on garde les règles d’inférence du système originel, et on y
a ajoute une ou plusieurs règles pour faire intervenir le système de réécriture. Dans le
cas où on n’a pas de types dépendants, il n’y a pas besoin de vérifier que la proposition
considérée est typée par une sorte, on obtient donc la règle, en déduction naturelle
modulo R
Γ−A
Conversion A←→R∗ B
Γ−B
Dans le cas du calcul des séquences modulo R, on considère deux règles de conversion,
une à gauche et une à droite.
Γ, A−∆
∗←→ − A←→∗
R B
Γ, B−∆
Γ−A,∆
−←→
∗A←→∗
R B
Γ−B,∆
Bien entendu, la version où on applique les règles d’inférence modulo le système de
réécriture, et la version avec les règles de conversion explicites sont équivalentes.
Si on se place du point de vue de la démonstration automatique, on a également
envie d’orienter l’applications des règles de réécriture dans les démonstrations, pour que
la recherche de démonstrations soit effective. On obtient ainsi par exemple le calcul
des séquences asymétrique modulo de GillesDowek (2003), dans lequel les conversions
sont implicites. On obtient alors par exemple les règles d’identité et les règles pour la
disjonction :
⌢− X−→∗
R
∗
←−
R Y
X−Y − Γ, X−∆ Γ−Y,∆
⌣X←−∗
R
∗
−→
R Y
Γ−∆
Γ, X−∆ Γ, Y −∆
∨ − Z−→∗
R X∨Y
Γ, Z−∆
Γ−X,∆
−∨ il existe unY tel que
Z−→∗
R X∨Y ouZ−→∗
R Y ∨X
Γ−Z,∆
Quand on fait une recherche de démonstration par le bas, on a donc besoin de réécrire les
formules que dans un sens, vers le haut de la démonstration. Sans la règle −
⌣
, ce système
n’est pas tout à fait équivalent au calcul des séquences modulo sans −
⌣
. Par exemple, si
on considère le système R
déf=
(
A→B
A→C alors B −C est démontrable en calcul des
avec dépliage qu’avec −
⌣
(en coupant par A par exemple). Comme on le voit, à partir
du moment où on s’intéresse aux coupures, on n’a l’équivalence que quand le système
de réécriture est confluent.
On peut même se contenter pour les règles de conversions d’un seul pas de réécriture
sur des propositions atomiques. Si on applique ceci à la déduction naturelle, on obtient
la déduction naturelle avec pliage–dépliage (Dag Prawitz, 1965), avec deux nouvelles
règles
Γ−σP
↑ A→P ∈ R
Γ−σA
Γ−σA
↓ A→P ∈ R
Γ−σP
avec une nouvelle réduction de démonstration
π
Γ−σP
↑ A→P ∈ R
Γ−σA
↓ A→P ∈ R
Γ−σP
→ Γ−πσP
Pour que cette règle de réduction fonctionne bien, on considère en général que le système
de réécriture utilisé ne doit pas comprendre de paires critiques, de façon à ce qu’on ait
bien le mêmeP ci-dessus.
Pour étendre l’isomorphisme de Curry-Howard, les termes de démonstration
cor-respondant sont alors étendus par des constructions ↑R t et ↓R t pour toute règle de
réécriture propositionnelleR, et on ajoute la réduction
↓R↑Rt→t .
Gilles Dowek (2001) a démontré que la déduction naturelle avec pliage–dépliage et la
déduction naturelle modulo sont équivalentes, y compris en ce qui concerne la
termi-naison de la réduction des démonstrations (en supposant qu’une proposition atomique
donnée ne puisse être réécrite que d’une seule façon).
On peut appliquer la même idée au calcul des séquences. Si on voit les règles d’inférence
↑ et ↓ comme des règles d’introduction et d’élimination, alors on obtient des règles
droite et gauche y correspondant, en ajoutant une contraction pour donner des règles
inversibles :
Γ, σA, σP −∆
↑ − A→P∈ R
Γ, σA−∆
Γ−σP, σA,∆
−↑ A→P∈ R
Γ−σA.∆
Nous appellerons par la suite le système G4 plus ces deux règles lecalcul des séquences
avec dépliage. On voit que l’application des règles de réécriture est orientée du bas vers
le haut des démonstrations. Le calcul des séquences avec dépliage est en fait équivalent
au calcul des séquences modulo asymétrique quand on tient compte des coupures.
Enfin, on a vu qu’une règle de réécriture propositionnelleA→P peut être, en première
approximation, vue sémantiquement commme l’équivalenceA⇔P. Ceci provient du fait
que l’on peut réécrire les formules à la fois à gauche ou à droite des séquences, ou plus
précisément en position positive ou négative d’une formule. Pour avoir un contrôle plus
fin, GillesDowek(2002) a introduit le calcul des séquences polarisé modulo. Pour cela,
on donne tout d’abord une polarité + ou − aux règles de réécriture propositionnelles.
On notera cette polarité sur la flèche de la règle, par exemple A →+ P ou A →− P.
Un système de réécriture polarisé est un ensemble de règles de réécriture polarisées. On
définit également unpolaritésur les positions d’une formule : la racine est positive, et on
ne change de polarité que sous ¬ et à gauche de ⇒. On peut alors donner une polarité
à la relation de réécriture :
Définition 3.5. On dit queP se réécrit enQpositivement dans le système de réécriture
polarisé R, et on note P−→
R+Q si P se réécrit en Q par une règle positive de R à une
position positive de P, ou par une règle négative de R à une position négative de P.
On dit queP se réécrit enQnégativement dans le système de réécriture polariséR, et
on note P−→
R −QsiP se réécrit en Qpar une règle positive deRà une position négative
de P, ou par une règle négative deR à une position positive de P.
On étend ces relations en leur fermeture transitive et réflexive-transitive que l’on
no-tera respectivement −→+
R +, −→∗
R +, −→+
R − et −→∗
R −
Remarque 3.2: Ne pas confondre−→+
R et−→
R+.
Pour plus de simplicité, nous considérerons par la suite que les règles de réécriture
sur les termes sont à la fois positives et négatives, ce qui fait qu’elles peuvent intervenir
indifféremment à une position positive ou négative. On pourrait bien entendu considérer
également des polarités sur ces règles. Le calcul des séquences polarisé modulo consiste
alors à se placer dans le calcul des séquences asymétrique modulo et à ne réécrire les
formules que positivement à droite des séquences, et que négativement à gauche. Les
règles d’inférence sont représentées dans la figure 3.4. Il est à noter que pour retrouver les
règles d’inférence du calcul des séquences asymétrique moduloR, il suffit d’y supprimer
les notions de polarité. Une règle A →+ P est équivalente à l’implication P ⇒ A. En
effet il est possible de démontrer−P ⇒A dans le calcul des séquences polarisé modulo
{A→+P}. Dualement,A→− P correspond àA⇒P.
Si on combine les polarités du calcul des séquences polarisé modulo avec la réécriture
explicite et atomique du calcul des séquences avec dépliage, on obtient ce que nous
appellerons le calcul des séquences avec dépliage polarisé. Les règles d’inférence sont
celles de G4 plus celles de la figure 3.5. On notera que comme X est atomique dans les
règles de dépliage, cela veut dire qu’on utilise une règle négative dans↑ −et positive dans
−↑.
Pour plus de confort, nous introduisons des notations pour le calcul des séquences avec
dépliage polarisé. On considère par la suite que le système de réécriture sur les termes
est fixe. On le noteraRT(Σ,V).
Règles d’identité
⌢− X−→∗
R −
∗
←−
R +Y
X−Y − Γ, X −∆ Γ−Y,∆
⌣X←−∗
R −
∗
−→
R +Y
Γ−∆
Règles structurelles
Γ, X, Y −∆
∵− X←−∗
R −Z−→∗
R −Y
Γ, Z −∆
Γ−X, Y,∆
−∵ X←−∗
R +Z−→∗
R+Y
Γ−Z,∆
Γ−∆
.−
Γ, X−∆
Γ−∆
−.
Γ−X,∆
Règles logiques
Γ−X,∆ Γ, Y −∆
⇒ − Z−→∗
R −X⇒Y
Γ, Z −∆
Γ, X−Y,∆
−⇒ Z−→∗
R+X ⇒Y
Γ−Z,∆
Γ, X−∆
∧ − il existe unY tel que
Z−→∗
R −X∧Y ouZ−→∗
R −Y∧X
Γ, Z−∆
Γ−X,∆ Γ−Y,∆
−∧ Z−→∗
R+X∧Y
Γ−Z,∆
Γ, X−∆ Γ, Y −∆
∨ − Z−→∗
R −X∨Y
Γ, Z−∆
Γ−X,∆
−∨ il existe unY tel que
Z−→∗
R+X∨Y ouZ−→∗
R +Y ∨X
Γ−Z,∆
Γ, X(t)−∆
∀ − Y −→∗
R −∀x, X(x)
Γ, Y −∆
Γ−X(y),∆
−∀
y non libre dans Γ, X(x),∆
etY −→∗
R+∀x, X(x)
Γ−Y,∆
Γ, X(y)−∆
∃ −
y non libre dans Γ, X(x),∆
etY −→∗
R −∃x, X(x)
Γ, Y −∆
Γ−X(t),∆
−∃ Y−→∗
R+∃x, X(x)
Γ− ∃x, X(x),∆
⊥ − X−→∗
R −⊥
X− −⊤ X
∗
−→
R +⊤
−X
Γ−X,∆
¬ − Y−→∗
R −¬X
Γ, Y −∆
Γ, X−∆
−¬ Y −→∗
R+¬X
Γ−Y,∆
Fig.3.4 : Règles du calcul des séquences classique polarisé modulo R
Règles de dépliage
Γ, X, Y −∆
↑ − X−→
R −Y,X atomique
Γ, X−∆
Γ−Y, X,∆
−↑ X−→
R+Y,X atomique
Γ−X,∆
Fig.3.5 : Règles d’inférence du calcul des séquences avec dépliage polarisé
supplémen-taires par rapport à G4
Définition 3.6. On dira qu’une démonstration de Γ − ∆ est dans R, et on notera
Γ ⊢R ∆, si toutes les règles de réécriture utilisées dans les règles de dépliage sont dans
R ∪ RT(Σ,V).
On noteraΓ⊢∗R∆si la démonstration n’utilise pas −
⌣.
On noteraΓ⊢∆ si la démonstration n’utilise pas ↑ −ni −↑.
Remarque 3.3 : Γ ⊢ ∆ et Γ ⊢∅ ∆ ne sont pas équivalents, puisqu’on peut utiliser les
règles de réécriture sur les termes dans le second cas.
Nous montrons maintenant en détail que le calcul des séquences avec dépliage polarisé
est équivalent au calcul des séquences polarisé modulo. On peut tout d’abord étendre les
lemmes 2.3, 2.5 et 2.6 (affaiblissement, inversibilité et contraction). Pour cela, il suffit de
prolonger le RPO défini sur les squelettes de démonstrations de G4 dans la section 2.3.4,
en rajoutant à la précession (
⌢−, P) > (↑ −,Q) et (
⌢−, P) > (−↑,Q) pour toutes formules
P etQ. Les démonstrations des lemmes 2.3 et 2.5 ne changent pas. Pour le lemme 2.6,
il y a un nouveau cas : supposons qu’on ait une démonstration de Γ, A, A − ∆ dont
la dernière règle est ↑ − sur un des A avec A−→
− P. La sous-démonstration directe a
pour conséquence Γ, A, A, P − ∆. Par hypothèse d’induction, on a une démonstration
deΓ, A, P −∆sur laquelle on applique↑ −pour obtenir une démonstration deΓ, A−∆.
Ensuite, il nous faut traduire les conversions implicites sur n’importe quelle formule
en des conversions explicites sur des propositions atomiques.
Lemme 3.7. Si on a Γ, Q⊢R∆ etP −→∗
R∪R
T(Σ,V)−Q, alors Γ, P ⊢R∆.
De façon duale, si on aΓ⊢RQ,∆ et P −→∗
R∪R
T(Σ,V)+Q, alors Γ⊢RP,∆.
Démonstration. On procède d’abord par induction mutuelle sur la longueur de la
réécri-ture P −→∗
R∪R
T(Σ,V)±Q. Si elle est nulle le résultat est trivial, sinon il suffit de montrer le
résultat pour un étape.
On procède alors par induction sur la profondeur de la position à laquelle est appliquée
la réécriture P−→
R Q. Si cette profondeur est nulle, alorsP est atomique. On peut donc
simplement appliquer ↑ −. Sinon, cela veut dire que P n’est pas atomique. Supposons
que P est de la forme P1 ⇒ P2 (les autres cas se traitant de la même façon). Alors
Q=Q1 ⇒Q2 et soitP1 −→
R∪R
T(Σ,V)+Q1 et P2 =Q2, soitP2 −→
R∪R
T(Σ,V)−Q2 et P1 =Q1.
En utilisant le lemme 2.5 étendu, on aΓ, Q2 ⊢R∆etΓ⊢RQ1,∆. On utilise l’hypothèse
d’induction sur l’une ou l’autre de ces démonstrations suivant les cas, et on obtient
Γ, P2 ⊢R∆etΓ⊢RP1,∆. En appliquant⇒ − on obtientΓ, P ⊢R∆.
Nous pouvons maintenant démontrer l’équivalence :
Théorème 3.8.
séquences polarisé modulo R ∪ RT(Σ,V) ssi elle possède une démonstration (resp. sans
coupure) dansR pour le calcul des séquences avec dépliage polarisé.
Démonstration. La direction « si » se démontre en faisant passer les règles de
conver-sions explicite de façon implicite dans la ou les règles d’inférence qui, le cas échéant,
décomposent la formule réécrite.
Réciproquement, on procède par induction sur le squelette de la démonstration en
calcul des séquences polarisé modulo. Si une règle logique ou
⌢− utilise des conversions
implicites, on applique cette règle sans conversion puis on utilise le lemme 3.7 pour
obtenir la conséquence attendue. Par exemple, si on a une démonstration
π
Γ−P,∆
π′
Γ, Q−∆
⇒ − O−→∗
R −P ⇒Q
Γ, O−∆
on applique l’hypothèse d’induction sur π et π′ pour avoir Γ ⊢R P,∆ et Γ, Q ⊢R ∆,
on applique ⇒ − pour obtenir Γ, P ⇒ Q ⊢R ∆ puis grâce au lemme 3.7 on obtient
Γ, O ⊢R ∆. Pour ∧ −, −∨, ∀ − et−∃, on a également besoin du lemme 2.3 pour pouvoir
appliquer la règle logique dans le calcul des séquences avec dépliage polarisé. Pour les
règles de contraction (resp. −
⌣
), on applique d’abord le lemme 3.7 pour se ramener à une
séquence sur laquelle on peut utiliser le lemme 2.6 (resp. appliquer −
⌣
). Par exemple, si
on a une démonstration
π
Γ, P, Q−∆
∵− P←−∗
R −O−→∗
R −Q
Γ, O−∆
on applique l’hypothèse d’induction surπ pour obtenirΓ, P, Q⊢R ∆, puis on applique
deux fois le lemme 3.7 ce qui donne Γ, O, O ⊢R ∆, puis on utilise le lemme 2.6 ce qui
donneΓ, O−∆. Pour les règles d’affaiblissement, on utilise le lemme 2.3.
On a pris soin de ne pas rajouter de coupures dans les démonstrations des lemmes 2.3,
2.6 et 3.7. Si la démonstration de départ ne possède pas de coupures, la démonstration
en calcul des séquences avec dépliage polarisé n’en aura pas non plus.
Corollaire 3.9. Le calcul des séquences asymétrique modulo est équivalent (avec la
même signification) au calcul des séquences avec dépliage (non polarisé).
Démonstration. Tout système de réécriture non polariséR peut être vu comme un
sys-tème polarisé R± en considérant deux règles A →+ P et A →− P pour chaque règle
A → P du système. Le calcul des séquences asymétrique modulo R (resp. le calcul
des séquences avec dépliage dans R) correspond alors au calcul des séquences polarisé
moduloR± (resp. au calcul des séquences avec dépliage polarisé dans R±).
Cette transformation permet également de montrer que les lemmes 2.3, 2.5, 2.6 et 3.7
sont également valides pour le calcul des séquences avec dépliage (non polarisé).
On vient de voir comment passer d’un système de réécriture non polarisé à un système
équivalent polarisé. On s’intéresse maintenant à la réciproque. Nous avons vu qu’une règle
positiveA→+P correspond à un axiomeP ⇒A. Cet axiome est logiquement équivalent
à A ⇔ (A∨P), qui correspond à la règle non polarisée A → A∨P. Nous proposons
donc la traduction suivante d’un système polarisé Ren un système non polariséR∓ :
– une règle positiveA→+P est traduite par une règle A→A∨P;
– une règle négative A→−P est traduite par une règle A→A∧P.
Théorème 3.10.
Le calcul des séquences avec dépliage polarisé dans R est équivalent au calcul des
sé-quences avec dépliage dans R∓.
Démonstration. Par induction sur la structure des démonstrations. Seules les règles de
dépliage sont intéressantes.
Si on a une démonstration avec à la racine une règle de dépliage polarisé, par exemple
π
Γ, A, P −∆
↑ − A −→
B→
−QP
Γ, A−∆
alors en appliquant l’hypothèse d’induction on a une démonstration deΓ, A, P −∆dans
le calcul des séquences avec dépliage non polarisé. En appliquant ∧ − et en utilisant le
lemme 2.3 on a une démonstration deΓ, A, A∧P−∆. CommeA −→
B→B∧QA∧P, on peut
appliquer ↑ −pour obtenir une démonstration deΓ, A−∆.
Réciproquement, si on a une démonstration avec une règle de dépliage non polarisé, il
y a deux cas : soit la règle de réécriture est appliqué du même côté que la règle polarisée
qui l’a engendrée, soit elle est appliquée de l’autre côté. Dans le premier cas, on a par
exemple
π
Γ, A, A∧P −∆
↑ − A −→
B→B∧QA∧P
Γ, A−∆
Si on applique l’hypothèse d’induction surπ on obtient une démonstration de Γ, A, A∧
P − ∆ dans le calcul des séquences avec dépliage polarisé. En appliquant les lemmes
2.5 et 2.6, on obtient une démonstration de Γ, A, P − ∆. Comme A −→
B→
−QP on peut
appliquer↑ −et obtenir une démonstration deΓ, A−∆. Dans le deuxième cas, on a par
exemple
π
Γ, A, A∨P −∆
↑ − A −→
B→B∨QA∨P
Γ, A−∆
Par hypothèse d’induction surπon a une démonstration deΓ, A, A∨P−∆. En utilisant
les lemmes 2.5 et 2.6 on a une démonstration de Γ, A−∆.
Corollaire 3.11. Le calcul des séquences polarisé moduloRest équivalent au calcul des
séquences asymétrique moduloR∓.
Remarque 3.4 :Cette démonstration est également possible en logique intuitionniste, en
se plaçant dans LB étendu avec des règles de dépliage. En effet les lemmes 2.3 et 2.6
(plus précisément 2.8) y sont valides, et les règles ∧ −,−∧,∨ − et−∨ sont inversibles, ce
qui suffit.
Ceci répond plus ou moins à une question posée par Gilles Dowek (2002, fin de la
section 4), qui demandait quels systèmes polarisés peuvent être représentés par des
systèmes non polarisés. Néanmoins, il faut bien remarquer que le système non polarisé
obtenu peut ne pas être confluent, ce qui veut dire qu’on ne sera pas équivalent avec
la version originale du calcul des séquences modulo de GillesDowek et collaborateurs
(2003), en tout cas en ce qui concerne l’admissibilité des coupures.
Dans le document
Bonnes démonstrations en déduction modulo
(Page 82-89)