• Aucun résultat trouvé

Réduction de taille en déduction modulo

Dans le document Bonnes démonstrations en déduction modulo (Page 162-167)

5.2.1 Exemple simple

En déduction modulo, une partie de l’aspect calculatoire des démonstrations peut

être passée dans les conditions des règles d’inférence. Si on considère que la taille d’une

démonstration est son nombre d’applications de règles d’inférence, alors on voit que le

fait de travailler en déduction modulo doit pouvoir réduire la taille des démonstrations.

Néanmoins, comme indiqué ci-dessus, si on veut rester dans le cadre formel définit par

Stephen Cook et Robert Reckhow (1979), il faut pouvoir vérifier les démonstrations

en temps polynomial. Si on autorisait n’importe quel système de réécriture, et comme

la réécriture a la puissance des machines de Turing, il va de soi qu’on pourrait faire

diminuer la taille des démonstrations, en utilisant par exemple un système de réécriture

qui réécrit toutes les tautologies en⊤. Dans ce cas, les démonstrations ne seraient par

contre pas vérifiables en temps polynomial, puisqu’il faudrait calculer pour chaque règle

d’inférence si les conditions sont respectées, ce qui peut même être indécidable. Nous

allons montrer que l’on peut obtenir des réductions de la taille des démonstrations y

compris dans les cas où on est capable de vérifier les démonstrations en temps polynomial.

Pour cela, il suffit de considérer un système de réécriture encodant l’addition par un

prédicat ternaire :

Add

déf

=

(

Add(O, y, y)→ ⊤

Add(s(x), y, s(z))→Add(x, y, z)

On encode un entier naturel n∈ N de façon standard parn

déf

= s(· · ·s(

| {z }

nfois

O)). Pour ce

système, ←→ est calculable polynomialement. En effet, ce système est confluent, et il

termine en un nombre d’étapes linéaire par rapport à la taille des termes. Pour vérifier

que deux formules sont congruentes, il suffit donc de comparer leur forme normale.

Pourtant, il existe une réduction de taille arbitraire entre le calcul des séquences modulo

Addet le calcul des séquences étendu par toute présentation finie compatible avecAdd.

Proposition 5.3. Il existe une famille de formules (ai)iN telle que pour toute

présen-tation finieΓ compatible avec Add,

– pour tout i, on peut démontrer −ai en calcul des séquences modulo Add avec une

seule règle d’inférence ;

– il n’existe pas de borne au nombre d’applications de règles d’inférence nécessaires

aux démonstrations de Γ−ai en calcul des séquences sans modulo.

Le fait d’utiliser une présentation compatible nous dit que l’on a une démonstration

deΓ−ai pour touti, donc on peut utiliser la proposition 5.1 pour obtenir une réduction

de taille arbitraire comme corollaire de cette proposition.

Démonstration. On prend comme famille de formules (Add(i, i,2i))iN. Comme

Add(i, i,2i)−→ Add(O, i, i)−→ ⊤, on a la démonstration en calcul des séquences

mo-dulo

−⊤ Add(i, i,2i)−→ ⊤

−Add(i, i,2i)

Considérant maintenant une présentation finie Γ compatible avec Add. Les

démons-trations de Γ − Add(i, i,2i) vont devoir détailler les calculs. Γ est constituée

uni-quement de formules vérifiées par l’addition. Par exemple on peut avoir des formules

∀x y, Add(x, x, y) ⇒ Add(sm(x), sm(x), s2m(y)) pour un m fixé qui permet de diviser

le nombre d’étapes de calculs par m. Néanmoins, comme on a un nombre fini de

for-mules dans la présentation, cela ne suffit pas à borner la taille des démonstrations de

Remarque 5.1 :Ce n’est plus vrai si on considère des présentations compatibles infinies.

Il suffit pour s’en convaincre de prendre une présentation compatible contenant toutes

les formules ai.

Remarque 5.2 : Nous aurions pu utiliser l’encodage de l’addition par un symbole de

fonction (infixe) +plutôt qu’un prédicat ternaire comme ci-dessus, avec le système sur

les termes

O+y →y

s(x) +y →s(x+y) .

Dans ce cas il aurait fallu fixer la signature utilisée pour être sûr de pouvoir obtenir une

présentation compatible finie. Une autre solution serait de travailler avec un prédicat

d’égalité vérifiant l’axiome de réflexivité (2.23) et le schéma d’axiome deLeibniz(2.24).

On considère alors des présentations compatibles qui sont finies si on ne compte pas ce

schéma.

5.2.2 Calcul des structures en déduction modulo

On peut être satisfait par le résultat précédant, qui montre que la déduction modulo

peut permettre de réduire la taille des démonstrations de façon non bornée. Toutefois,

si la taille des démonstrations est réduite, le temps qu’il faut pour les construire est le

même, puisqu’il faut alors détailler toutes les étapes du calcul. En utilisant les résultats

de PaolaBruscoliet AlessioGuglielmi(2009) en inférence profonde, nous démontrons

que la déduction modulo permet de réduire la taille des démonstrations y compris si on

y compte le nombre d’étapes de réécriture. Pour cela, on intègre le système KS décrit

dans la figure 5.1 dans un système de déduction modulo.

Les règles d’inférence de KS peuvent être vue comme un système de réécriture

mo-dulo associativité, commutativité et propriétés de ⊤ et ⊥. L’idée est alors de travailler

modulo ce système. Néanmoins, en déduction modulo, on ne réécrit que des propositions

atomiques, ce qui empêche de faire ceci directement. Nous allons d’abord encoder les

formules par des termes, puis appliquer les règles de KS sur ces termes avant de les

dé-coder. Pour cela, on utilise une astuce assez courante en déduction modulo, qui consiste

à mimer la signature des prédicats à l’aide d’une signature pour les termes. Pour chaque

symbole de prédicatAon considère un symbole de fonctionA˙ de même arité. Ici, comme

on se place en logique propositionnelle, on peut se contenter de prédicats nullaires et de

constantes. On encode également les connecteurs logiques par des symboles de fonctions.

Ici, on se contente de ⊤, ⊥, ¬, ∧ et ∨ qui sont les connecteurs utilisé dans KS. On a

donc deux constantes ⊤˙ et∅, un symbole de fonction unaire¬˙ ainsi que deux symboles

de fonction binaires∩et∪. On ajoute ensuite un prédicat unaireǫ. On cherche à ce que

suivant :

ǫ( ˙A)→A (A prédicat nullaire)

ǫ( ˙⊤)→ ⊤

ǫ(∅)→ ⊥

ǫ( ˙¬x)→ ¬ǫ(x)

ǫ(x∩y)→ǫ(x)∧ǫ(y)

ǫ(x∪y)→ǫ(x)∨ǫ(y)

On utilise également un prédicat nullaire spécialC qui permet de lancer la réduction.

C →ǫ( ˙⊤) .

Pour les règles de KS, on va les voir comme des règles de réécriture allant de haut en

bas. Comme ces règles d’inférence correspondent à des implications vue de haut en bas,

et non des équivalences, on utilise des règles polarisées. On considère donc le système de

réécriture sur les termes suivant :

˙

⊤ →A˙∪¬˙A˙ (A prédicat nullaire)

∅ →A˙ ′′

˙

A∪A˙A˙ ′′

x∩(y∪z)→(x∩y)∪z

(x∩y)∪(z∩w)→(x∪z)∩(y∪w)

On noteraKS la réunion de ces deux systèmes. Il est à noté que l’on doit alors appliquer

ce système de réécriture modulo associativité, commutativité de ∧ et ∨, et modulo

propriétés de ⊤ et⊥. Rigoureusement, ce n’est pas possible en déduction modulo telle

que nous l’avons présentée. Néanmoins, la formulation originelle par Gilles Dowek et

collaborateurs (2003) utilise en fait une congruence basée sur un système de réécriture

et une théorie équationnelle qui pourrait comprendre l’associativité, etc.

On peut montrer que travailler modulo ce système de réécriture n’ajoute rien d’un

point de vue logique.

Proposition 5.4. Si on peut démontrer une séquence en logique propositionnelle qui ne

comporte pas deǫen calcul des séquences polarisé moduloKSalors on peut la démontrer

en calcul des séquences sans modulo.

Démonstration. Il suffit de remarquer que puisque les règles de KS sont des implications

valides, siǫ(p) −→

KS −ǫ(q) et queǫ(p)−→

KS P etǫ(p)−→

KS Qpour des formulesP etQsansǫ,

alors on peut démontrerP ⇒Q dans le calcul des séquences non modulo. Il suffit alors

d’utiliser une coupure avec cette démonstration pour passer deP àQ. De même, si on a

C −→

O n2

Sn

ǫ(sn)

KS

O n2

Sn−Sn

C−Sn

−⇒

−C⇒Sn

˙

LK moduloKS

O n2 *

*

Fig. 5.2 : Simulation d’une démonstration dans KS en déduction modulo

On peut alors utiliser la famille de formules de PaolaBruscoliet AlessioGuglielmi

(2009) pour montrer que le calcul des séquences sans −

modulo KS réduit la taille

des démonstrations du calcul des séquences sans −

exponentiellement, y compris si on

compte les pas de réécriture dans la taille de la démonstration. On considère donc les

formules de Statmandéfinies récursivement :

Définition 5.3(Formules deStatman). On considère une signature infinie composée de

prédicats nullaires Ci etDi pour tout i∈N. On définit alors récursivement les formules

suivantes (k < n) :

Pkn

déf

= Ck∧(¬Ck+1∨ ¬Dk+1)∧ · · · ∧(¬Cn∨ ¬Dn);

Qnk

déf

= Dk∧(¬Ck+1∨ ¬Dk+1)∧ · · · ∧(¬Cn∨ ¬Dn);

Sn

déf

= (Cn∧Dn)∨(Pn

n−1∧Qn

n−1)∨ · · · ∨(Pn

0 ∧Qn

0)∨ ¬C0∨ ¬D0.

Proposition 5.5. Le calcul des séquences polarisé moduloKS sans coupure réduit

expo-nentiellement la taille des démonstration du calcul des séquences sans coupure, y compris

en comptant les étapes de conversion dans la taille de la démonstration.

Démonstration. La figure 5.2 illustre cette démonstration. Le nombre de proposition

atomiques de Snest 2n2+ 2. Comme les négations sont toutes au niveau des atomes, le

nombre de symbole y apparaissant est donc au plus de2×(2n2+2)+2n2+1 = 6n2+5. On

peut donc encoderSnau niveau des termes en un termesntel queǫ(sn)−→

6n2+ 5étapes. De plus, Paola Bruscoliet Alessio Guglielmi (2009, Théorème 3.12)

nous disent que⊤˙ −→

KS −sn en O n2

étapes. On a donc C −→

KS −Sn en O n2

étapes. On

peut donc démontrer les formulesC ⇒ Sn sans coupure enO n2

étapes. Ce n’est pas

possible en calcul des séquences sans coupure d’après RichardStatman (1978).

Le principal défaut de KS est son absence de confluence. La réduction du

non-déterminisme du calcul des structures est d’ailleurs un sujet actif de recherche,

prin-cipalement étudié par Ozan Kahramanoğulları (2006). De plus, si on a une

signa-ture infinie, on aura également un système de réécrisigna-ture infini, du fait de la première

règle permettant d’encoder les propositions atomiques. On peut bien entendu limiter la

signature à celle des formules que l’on cherche à démontrer.

5.3 Simulation de l’arithmétique d’ordre supérieure en

Dans le document Bonnes démonstrations en déduction modulo (Page 162-167)