Comment pouvons-nous exprimer «

9
  1. Comment exprimer " " comme une formule de premier ordre?P=PSPACE
  2. Quel niveau de la hiérarchie arithmétique contient cette formule (et quel est le niveau minimum actuellement connu de la hiérarchie qui la contient)?

Pour référence, voir cet article de blog de Lipton .

Mars
la source
1
Peut-être, vous pouvez utiliser la même preuve de Lipton en utilisant un problème PSPACE-complet au lieu de SAT dans la définition de et vous obtenez que peut être exprimé comme c'est-à-dire qu'il s'agit d'une phrase . Mais IMO c'est une sorte de "hack" ... :-)P P S P A C E x , cψ(x,c,y)PPSPACEΠ 2x,cyψ(x,c,y)Π2
Marzio De Biasi
3
Je parierais ma vie et tous les biens matériels que vous pouvez représenter comme "faux". Autrement dit, il est exprimable même dans la logique propositionnelle. :)
Shaull
3
@Shaull. Sûr. Et une fois que vous montrez que c'est la bonne représentation, vous pourrez acheter tous les biens dont vous avez besoin. Veuillez ne pas protester que l'espace de commentaires est trop court pour contenir une preuve.
Vijay D
3
@VijayD - Je vais prendre l'appât: j'ai trouvé une preuve vraiment merveilleuse, et l'espace de commentaires est suffisant. Mais je n'aime pas la police ...
Shaull

Réponses:

25

Premièrement, je veux adresser les commentaires à la question, où il a été suggéré que "faux" exprime parce que la déclaration est fausse. Bien que cela puisse être une bonne blague, il est en fait très nocif de penser de cette façon. Lorsque nous demandons comment exprimer une certaine phrase dans un certain système formel, nous ne parlons pas de valeurs de vérité. Si nous l'étions, alors quand quelqu'un a demandé "Comment puis-je écrire le fait qu'il existe une infinité de nombres premiers?" nous pourrions répondre "3 + 3 = 6", mais cela ne fera clairement pas l'affaire. Pour la même raison, "false" n'est pas une réponse valide à "comment écrire ?". Je pense que Frege et Russell ont fait de gros efforts pour nous enseigner cette leçon. Ok, maintenant à la réponse.P = P S P A C EP=PSPACEP=PSPACE

Permettez - moi de montrer comment exprimer , l'autre direction est similaire, et vous pouvez les mettre ensemble dans une conjonction pour obtenir . Dans tous les cas, à vos fins , il peut être suffisant pour exprimer juste , en fonction de ce que vous faites.P S P A C E = P P S P A C E PPSPACEPPSPACE=PPSPACEP

En utilisant des techniques similaires à celles de la construction du prédicatT de Kleene , nous pouvons construire une formule bornée accept_ (qui réside donc dans ) en disant "quand nous exécuter la machine encodée par et lié son utilisation d'espace à , la machine accepte l'entrée . " Iciest la longueur de . Une façon informelle de voir que de telles formules existent est la suivante: étant donné , et nous pouvons calculer une limite récursive primitive sur le temps et l'espace dont nous aurons besoin (c'est-à-dire, tout au plusΣ 0 0 = Π 0 0 k | n | m n | n | n k m n | n | m 2 | n | macceptspace(k,m,n)Σ00=Π00k|n|mn|n|nkmn|n|m espace et au plus temps). Nous recherchons ensuite simplement toutes les traces d'exécution possibles qui se trouvent dans les limites calculées - une telle recherche est plutôt inefficace, mais elle est récursive primitive et nous pouvons donc l'exprimer sous la forme d'une formule bornée.2|n|m

Il existe une formule similaire dans laquelle le temps d'exécution est lié par .| n | maccepttime(k,m,n)|n|m

Considérons maintenant la formule: Il dit que pour chaque machine qui utilise au maximum l'espace il y a une machine qui utilise au plus le temps telle sorte que les deux machines acceptent exactement les mêmes . En d' autres termes, la formule dit . Cette formule est .k | n | m k

k,m.k,m.n.acceptspace(k,m,n)accepttime(k,m,n).
k|n|mk n P S P A C E P Π 0 3|n|mnPSPACEPΠ30

Nous pouvons améliorer cela si nous sommes prêts à exprimer au lieu de la phrase « est polynomial », qui devrait être assez bon pour la plupart des applications, comme TQBF est PSPACE complet et donc qu'il soit en polynomial équivaut à . Soit (le code de) une machine qui reconnaît TQBF dans l'espace . Alors " " peut être exprimé comme Cette formule est juste Σ 0 2 . Si j'étais un théoricien de la complexité, je saurais s'il est possible de faire encore mieux (mais j'en doute).P S P A C E P k 0 | n | m 0 T Q B F P k , m . n . a c c e p t s p a c e ( k 0 , m 0 , n ) a c c e pTQBFPSPACEPk0|n|m0TQBFP

k,m.n.acceptspace(k0,m0,n)accepttime(k,m,n).
Σ20
Andrej Bauer
la source
votre premier paragraphe est presque comme une forme textuelle logique de ceci: xkcd.com/169
Vijay D
21

P=PSPACEΣ20Π20APA=PSPACEAΣ20AΠ20P=NPPSPACEΣ20

EDIT: La preuve topologique donnée dans le commentaire lié est courte, mais elle peut sembler délicate. Voici un argument de forçage direct.

PAPSPACEAΠ20ϕ(A)=xyθ(A,x,y)θΔ00PA=PSPACEAΠ20ψ(A)=xzη(A,x,z)BCPBPSPACEBPC=PSPACEC

ϕ(B)y0θ(B,0,y0)θθ(B,0,y0)b0Bθ(A,0,y0)Ab0

C[b0]b0Cb0PAPSPACEAψ(C[b0])z0c0C[b0]η(A,0,z0)Ac0c0b0

y0,y1,y2,z0,z1,z2,b0c0b1c1b2

  1. θ(A,n,yn)Abn

  2. η(A,n,zn)Acn

Abncnϕ(A)ψ(A)

Emil Jeřábek
la source
3
Triste qu'une si belle réponse soit pour une question qui est maintenant fermée ...
arnab