J'ai posté ceci sur MathUnderflow mais je n'ai reçu aucune réponse, alors j'ai pensé l'essayer ici,
Je lis l'ancien article de Rabin et Fischer [publiera un lien si possible] où, entre autres, la complexité doublement exponentielle de l'arithmétique Presburger est prouvée.
La preuve repose sur l'existence d'une formule affirmant de manière informelle " x < 2 2 k x + 1 " avec | I n | ∈ O ( n . Bien que la construction de cette formule ne soit pas donnée dans le document, ce qui m'a surpris étant donné qu'elle est probablement très peu triviale, étant donné cette limite et le fait que nous n'avons que des ajouts à notre disposition! ¹
J'ai appris plus tard que la construction de cette formule repose sur une "astuce", découverte précédemment par Fischer, et indépendante par Volker Strassen, mais je n'ai pas réussi à retrouver un papier décrivant cette astuce en détail!
Donc, si quelqu'un connaît le document dont je parle et peut me diriger dans sa direction ou même me décrire l'astuce ...
Cet article du blog de Lipton contient un lien vers le document ainsi que des mentions [et fournit un croquis approximatif, malheureusement insuffisant pour moi] de cette astuce, BTW.
¹ Je sais que c'est une description vague. Cependant, une description suffisamment détaillée serait beaucoup trop longue pour un article SX, donc j'espère juste que quelqu'un qui connaît déjà le document en question - et peut donc se contenter de ce bref croquis - se heurte à cela et est en mesure de m'aider .
Réponses:
Le commentaire de Martin (et le suivi de Yuval) donne la référence qui explique la construction en détail.
Je vais développer un peu parce que je pense que c'est une preuve magnifique: en gros, c'est la preuve "habituelle" de l'indécidabilité de l'AP (arithmétique avec addition et multiplication), mais relativisée à22c ⋅ n ! Autrement dit, il existe une formule (courte) qui exprime la multiplication jusqu'à ce nombre, c'est-à-dire une formule telle que
M n ( x , y , z ) ⇔ x × y = z ∧ x < 2Mn( x , y, z)
Maintenant, vous construisez par induction sur n , avec une astuce cruciale qui rappelle l' algorithme de Karatsuba pour multiplier les nombres binaires ou certaines astuces pour la multiplication matricielle:Mn n
Dans la définition de vous vous retrouvez avec une conjonction de la forme M n ( x 1 , y 1 , z 1 ) ∧ M n ( x 2 , y 2 , z 2 ) ∧ M n ( x 3 , y 3 , z 3 )Mn + 1( x , y, z)
Mais vous pouvez le remplacer par
Cette astuce permet une augmentation linéaire de la taille au lieu d'une exponentielle (en fonction den
Il y a quelques autres astuces impliquées, mais c'est la principale. Les internes de la récursivité sont importants, bien sûr, mais la similitude avec le tour de Karatsuba est vraiment assez frappante.
la source