• Aucun résultat trouvé

Implémentation de la complétion

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

4.4 Implémentation

4.4.3 Implémentation de la complétion

On va chercher maintenant à développer le mécanisme de complétion. Pour cela, il nous

faut trouver toutes les conséquences des démonstrations potentiellement critiques, de la

forme de la proposition 4.14. On voit que dans ce cas(P, Q)forme une paire critique. On

va donc calculer tout d’abord toutes les paires critiques du système de réécriture initial,

ce qui revient à prendre toutes les paires de règles de réécritures et à tenter de réécrire le

membre gauche de l’une par l’autre. On peut se restreindre à une règle propositionnelle

pour l’une des deux d’après la proposition 4.14.

Étant donnée une paire critique P←−

r

1

A−→

r

2

Q, on va chercher à démontrer les

ta-bleaux ¬A,¬P|A, Q et ¬A,¬Q|A, P et à compléter les branches restées ouvertes si ce

n’est pas le cas. On applique donc la méthode des tableaux sur le tableau

(b((a(not(A), ((),(),(r1))), a(not(P), ((),(),()))), True()),

b((a(A, ((),(),(r2))), a(Q, ((),(),()))), True()))

et le tableau dual, pour une limite lim donné. Comme dit ci-dessus, plus la limite est

haute, plus les démonstrations potentiellement critiques obtenues seront effectivement

critique, mais cela nécessitera plus de temps. Si on arrive à démontrer le tableau, cela veut

dire que le système de réécriture initial n’était pas cohérent. Sinon, on obtient un tableau

dans lequel toutes les formules sont atomiques sauf les formules quantifiées appliquées

plus souvent quelim. On va chercher à fermer les branches de ce tableau. Pour cela, on

cherche d’abord à fermer un maximum de branches sans avoir à rajouter des formules.

Si on a un tableau ànbranches, on en considère d’abord tous les sous-tableaux àn−1

branches. Si on peut fermer un tel tableau, on rajoute son complémentaire (c’est-à-dire

dans ce cas le tableau constitué de l’unique branche que l’on avait mis de côté) dans la

liste des tableaux dans lesquels il faudra fermer les branches en rajoutant des formules.

Sinon, on recommence avec ses sous-tableaux àn−2branches et ainsi de suite. On obtient

donc une liste de tableaux auxquels il faut rajouter des formules aux branches pour les

fermer. Pour chacun de ces tableaux, on choisit une proposition atomique différente de

Adans chaque branche et on met sa négation dans une nouvelle branche. Cette branche

correspond à la conséquence de la démonstration potentiellement critique. Si il n’est pas

possible de choisir une proposition atomique différente deA, cela veut dire qu’il n’y a pas

de démonstration critique pour cette paire critique. On considère tous les choix potentiels

de proposition atomiques différentes de A, ce qui donne les conséquences de plusieurs

démonstrations potentiellement critiques. On rajoute alors au système de réécriture une

règle pour chacune de ces conséquences, qu’il est facile d’obtenir puisqu’on n’a que des

propositions atomiques dans la branche. On réitère ce processus jusqu’à atteindre un

point fixe pour le système de réécriture.

Taille des démonstrations en déduction

modulo

Ce qui manque aux orateurs en

profondeur, ils vous le donnent en

longueur.

Montesquieu,Mes pensées

Sigrâce à l’analycité du calcul des séquences sans coupure, elles peuvent être plusles démonstrations sans coupure sont faciles à produire de manière automatique,

longues que celles avec coupures, car ces dernières permettent de faire des raccourcis

dans les démonstrations. Nous allons donc maintenant chercher à savoir comment la

déduction modulo permet d’obtenir des démonstrations plus courtes.

5.1 Taille de démonstration

La réduction de la taille des démonstrations est bien entendu intéressante d’un point

de vue pratique. En effet, une démonstration courte sera plus facile à trouver à la main,

mais elle sera aussi plus rapide à obtenir par un outil de démonstration automatique.

Elle sera également probablement plus facile à communiquer et à maintenir, si on cherche

à faire de l’ingénierie de la démonstration.

La longueur des démonstrations est également importante d’un point de vue théorique.

En effet, le problème P=NP ? en théorie de la complexité peut être vu comme un

pro-blème de réduction de taille de démonstration, comme le souligne RohitParikhdans le

paragraphe préfaçant un article de Kurt Gödel (1936) sur la taille des démonstrations

dans la collection traduite en anglais de ses travaux (1986). Pour comprendre cela, il

faut étudier les systèmes de déduction pour la logique propositionnelle du premier ordre

et, comme nous allons le détailler par la suite, il faut trouver ou infirmer l’existence d’un

système de déduction possédant des démonstrations de taille polynomiale pour toutes

les tautologies. Afin que ces systèmes aient un sens du point de vue de la complexité, on

doit néanmoins faire une hypothèse supplémentaire par rapport à la définition 2.14. En

effet, on pourrait sinon imaginer un système de déduction avec pour chaque tautologie

P de la logique propositionnelle une démonstration pP de taille un. Dans leur travaux

fondateurs, StephenCooket RobertReckhow(1974, 1979) imposent donc que la

fonc-tion [·]Cl soit calculable polynomialement. Plus exactement, ils définissent un système

de déduction comme une fonction (totale) surjective calculable en temps polynomial qui

va d’un langage quelconque vers les tautologies, ce qui revient avec nos définitions à

prendre comme langage de départPf(∅).

Dans la pratique, cette condition revient à dire que la vérification des démonstrations

peut se faire en temps polynomial. En effet, si le système de déduction qu’on utilise est

un système d’inférence, alors le calcul de[·]Cl ne peut se contenter de renvoyer

unique-ment la conséquence des dérivations, il faut aussi vérifier que ces dérivations sont bien

correctes. En général, dans ce cas, on définit le langage de départ comme celui de toutes

les dérivations, y compris celles qui ne sont pas correctes, et la fonction surjective qui

va vers les tautologies prend en entrée une dérivation, la vérifie, et renvoie sa conclusion

si elle est correcte ou une tautologie quelconque sinon. Si on ne se place pas dans ce

cadre et qu’on ne cherche pas à démontrer des résultats de théorie de la complexité, on

pourrait bien entendu imaginer des systèmes de déduction dont la vérification des

dé-monstrations, si elle reste décidable, n’est plus exponentielle. Par exemple, en déduction

modulo, on peut utiliser un système de réécriture dont la congruence n’est pas

calcu-lable en temps polynomial, et si on considère qu’une démonstration ne comporte que les

étapes de déduction et que c’est au cours de la vérification que les étapes de réécriture

sont validées, alors on ne rentre pas dans le cadre de Stephen Cook et Robert

Reck-how(1979). On peut alors se demander si on a affaire à des démonstrations, ou à des

esquisses de démonstrations retraçant uniquement les grandes étapes. Il est à noter que

pour vraiment être dans le cadre Stephen Cook et Robert Reckhow (1979), il faut

également faire attention à ce qu’on appelle la taille de la démonstration. Telle qu’ils

l’utilisent, il s’agit de la taille des mots du langage utilisé en entrée de la fonction qui leur

sert de système de déduction. Cela implique que si on considère un système d’inférence,

la taille d’une démonstration est la somme de la taille de toutes les formules apparaissant

dans la dérivation. Toutefois, dans la suite de ce chapitre, on considérera souvent pour

des questions de simplicité que la taille des démonstrations est le nombre d’étapes,

c’est-à-dire le nombre d’applications de règles d’inférence, ce qui est une mesure différente. Le

théorème 7 de SamuelBuss(1994) (qui reprend les travaux de RohitParikh(1973) et

JanKrajíček(1989)) établit toutefois un lien entre les deux, puisqu’il énonce que dans

les systèmes schématiques, la profondeur des formules présentes dans une démonstration

peut être bornée par la profondeur de la conclusion plus un facteur linéaire du nombre

d’étapes dans la démonstration.

Précisons les liens entre longueur des démonstration et théorie de la complexité.

Ste-phen Cook et Robert Reckhow (1979) ont démontré que la fermeture de NP par

complément est équivalente à l’existence d’un système de déduction pour la logique

propositionnelle dans lequel il est possible de trouver une démonstration de taille

po-lynomiale de chaque tautologie. Autrement dit, si on veut démontrer que NP=coNP, il

faut trouver un système de déduction correct et complet pour la logique

proposition-nelle du premier ordre et un polynôme f tels que pour toute démonstrationp∈Pf(∅),

on ait |p| ≤ f(|[p]Cl|) (en définissant correctement la taille | · | des démonstrations et

des formules). On dit alors qu’un tel système de déduction est borné polynomialement.

StephenCooket RobertReckhow(1979) conjecture l’inexistence d’un tel système, ce

qui aurait pour conséquence la différence entre P et NP. Il existe certains systèmes dont

on peut démontrer qu’ils ne sont pas bornés polynomialement, mais il existe avant tout

des résultats de simulation polynomiale :

Définition 5.1. Un système de déduction (A,P1,[·]Pm

1 ,[·]Cl1) simule polynomialement

un système de déduction (A,P2,[·]Pm

2 ,[·]Cl2) si il existe un fonction de traduction g de

P2 versP1 calculable polynomialement telle que pour tout p∈P2 on a [p]Cl2 = [g(p)]Cl1.

Ceci permet de définir des classes de système de déduction se simulant

polynomia-lement les uns les autres, avec comme propriété que si un de ces systèmes est (resp.

n’est pas) borné polynomialement, alors toute la classe l’est (resp., et de façon plus

intéressante, ne l’est pas), d’où l’utilité de l’étude de ces classes. Stephen Cooket

Ro-bert Reckhow (1979) montrent ainsi que tous les systèmes schématiques corrects et

complets pour la logique propositionnelle du premier ordre, ainsi que la déduction

natu-relle et le calcul des séquences restreints à cette logique se simulent tous polynomialement

les uns les autres. Au contraire, le calcul des séquences sans coupure ne simule pas

po-lynomialement ces systèmes, car il existe une famille de formules exhibée par Richard

Statman (1978) qui ont une démonstration de taille au moins exponentielle sans

cou-pure, mais qui ont des démonstrations de taille polynomiale avec coupures. On parle

alors de réduction de taille exponentielle entre le calcul des séquences sans coupure et

avec.

Définition 5.2 (Réduction de taille). Pour une fonction h sur les entiers, un système

de déduction (A,P1,[·]Pm

1 ,[·]Cl1) réduit par h la taille des démonstrations d’un système

de déduction (A,P2,[·]Pm

2 ,[·]Cl2) s’il existe une famille infinie (ai)iN de tautologies du

second système (donc de formules de [Pf2(∅)]Cl2) telles que pour tout i il existe une

démonstration de ai dans le premier système (donc une démonstration p ∈ Pf1(∅)∩

[ai]Cl11) dont la taille est plus petite que h appliquée à la taille de toute démonstrationq

dans le second système (q∈Pf2(∅)∩[ai]Cl12) : |p| ≤h(|q|).

On dira qu’un système de déduction réduit la taille des démonstrations d’un autre

système arbitrairement s’il la réduit par toute fonction sur les entiers.

La proposition suivante précise une des méthodes souvent utilisée pour montrer qu’un

système de déduction réduit arbitrairement la taille des démonstrations d’un autre :

Proposition 5.1. Un système de déduction (A,P1,[·]Pm

1 ,[·]Cl1) réduit la taille des

dé-monstrations d’un système de déduction(A,P2,[·]Pm

2 ,[·]Cl2)arbitrairement s’il existe une

famille de formules (ai)iN telle que

ai↓

X∨ ¬X

aw↓

X

X∨X

ac↓

X X atomique pourai↓,aw↓etac↓

X∧(Y ∨Z)

s

(X∧Y)∨Z

(X∧Y)∨(Z∧W)

m

(X∨Z)∧(Y ∨W)

Fig. 5.1 : Système d’inférence profonde KS pour la logique classique propositionnelle

– il existe une bornek∈Ntelle que pour toutiil existe une démonstrationp∈Pf1(∅)

telle que [p]Cl1 =ai et |p| ≤k;

– pour tout iil existe une démonstration p∈Pf2(∅) telle que [p]Cl2 =ai;

– il n’existe pas de bornektelle que pour toutiil existe une démonstrationp∈Pf2(∅)

telle que [p]Cl2 =ai et |p| ≤k.

Dans ce chapitre, nous allons essentiellement étudier dans quelle mesure la déduction

modulo permet de réduire la taille des démonstrations. Pour cela, on s’appuiera sur deux

approches.

Premièrement, AlessioGuglielmi(2007) a introduit le formalisme de l’inférence

fonde, qui consiste à utiliser des systèmes de déduction qui peuvent s’appliquer en

pro-fondeur sur les formules, de la même façon qu’on réécrit des termes en propro-fondeur. Kai

Brünnler (2003) généralise donc le calcul des séquences pour pouvoir appliquer les

règles d’inférence à tout niveau. Le système KS ainsi obtenu est représenté dans la figure

5.1. Ces règles peuvent s’appliquer à n’importe quelle profondeur dans une formule, et

il faut les appliquer modulo l’associativité et la commutativité de ∨et ∧, et le fait que

⊤ est neutre pour ∧ et idempotent pour ∨, et que dualement ⊥ est neutre pour ∨ et

idempotent pour ∧. Le système KS est analytique, dans le sens où quand on fait une

recherche de démonstration de bas en haut, on n’a pas besoin de deviner des formules

supplémentaires, celles présentes dans le but courant suffisant à définir les instances

des règles d’inférence que l’on peut y appliquer. En particulier, il n’existe pas de règle

équivalente à −

, qui est présente dans d’autres systèmes d’inférence profonde et qui est

alors

X∧ ¬X

ai↑ X atomique

PaolaBruscoliet AlessioGuglielmi(2009) ont montré que KS réduit

exponentiel-lement la taille des démonstrations du calcul des séquences sans −

. Pour obtenir ceci,

ils démontrent que les formules deStatmanqui ne possèdent pas de démonstration de

taille polynomiale en calcul des séquences sans coupures possèdent des démonstrations

de taille polynomiale dans KS.

Il semble donc que le fait d’appliquer des règles d’inférence en profondeur dans les

formules permet de réduire la taille des démonstrations. Dans une certaine mesure, la

déduction modulo permet également d’appliquer des règles en profondeur, puisqu’on

les applique modulo une congruence sur les formules. Nous allons donc voir comment

propager les résultats de Paola Bruscoli et Alessio Guglielmi (2009) à la déduction

modulo.

Le deuxième point qui permet de penser que la déduction modulo permet de réduire

la taille des démonstrations est le fait qu’elle permet de simuler des systèmes de

déduc-tion pour la logique d’ordre supérieur dans des systèmes de premier ordre modulo sans

changer la taille des démonstrations, comme l’on montré Gilles Dowek et

collabora-teurs (2001). Or, un résultat énoncé par Kurt Gödel(1936) et démontré plus tard par

Rohit Parikh(1973) dit que l’arithmétique d’ordre deux réduit arbitrairement la taille

des démonstrations de l’arithmétique d’ordre un. Jan Krajíček(1989) a généralisé ce

résultat à tous les ordres, et Samuel Buss (1994) l’a démontré pour le vrai langage de

l’arithmétique, alors que les précédents résultats le faisait avec des prédicats ternaire

pour définir l’addition et la multiplication. Le théorème prouvé par Samuel Bussest le

suivant :

Théorème 5.2 (SamuelBuss, 1994, théorème 3).

Pour tout système schématique Ai pour l’arithmétique d’ordre i et Ai+1 pour

l’arithmé-tique d’ordre i+ 1, il existe une famille de formules (Pj)jN telle que

– il existe une borne k ∈ N telle que pour tout j il existe une démonstration de Pj

dans Ai+1 en au plus kétapes ;

– pour tout j il existe une démonstration de Pj dans Ai;

– il n’existe pas dek tel que pour toutj il existe une démonstration dePj dansAi en

au plus k étapes.

Nous chercherons donc à voir dans quelle mesure ce théorème est invalidé si on simule

l’arithmétique d’ordre supérieur dans un système du premier ordre modulo.

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