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
1A−→
r
2Q, 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)i∈N 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)i∈N 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)j∈N 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)