• Aucun résultat trouvé

Variations sur les systèmes de déduction modulo

Dans le document Bonnes démonstrations en déduction modulo (Page 82-89)

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Γ⊢Rsi 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)