Sztuczka zastosowana w dowodzie podwójnie wykładniczej złożoności arytmetyki Presburger'a

9

Wysłałem to na MathUnderflow, ale nie otrzymałem odpowiedzi, więc pomyślałem, że spróbuję tutaj,

Czytam stary artykuł Rabina i Fischera [opublikuje link, jeśli to możliwe], gdzie między innymi udowodniono podwójnie wykładniczą złożoność arytmetyki Presburger'a.

Dowód opiera się na istnieniu formuły In(x) nieformalne stwierdzenie „x<22kx+1" z |In|O(n). Chociaż konstrukcja tej formuły nie została podana w artykule, co było dla mnie zaskoczeniem, biorąc pod uwagę, że jest ona prawdopodobnie wysoce nietrudna, biorąc pod uwagę tę granicę i fakt, że mamy do dyspozycji tylko dodatek! ¹

Później dowiedziałem się, że konstrukcja tej formuły opiera się na „sztuczce” odkrytej wcześniej przez Fischera i niezależnie przez Volkera Strassena, ale nie udało mi się wyśledzić artykułu szczegółowo opisującego tę sztuczkę!

Więc jeśli ktoś wie o artykule, o którym mówię i może albo skierować mnie w jego stronę, albo nawet opisać mi sztuczkę ...

Ten post z blogu Liptona zawiera link do artykułu, a także wspomina [i zawiera przybliżony, niestety niewystarczający dla mnie szkic] wspomnianej sztuczki BTW.

¹ Wiem, że jest to niejasny opis. Chociaż wystarczająco szczegółowy opis byłby o wiele za długi dla postu SX, mam tylko nadzieję, że ktoś, kto już wie o danym papierze - a zatem może zrobić to z krótkim szkicem - wpadnie na to i może mi pomóc .

mokry
źródło
Jaka jest relacja między n i k? A może tak powinno być22nx+1?
Shaull,
3
Możesz pobrać artykuł Fisher & Rabin tutaj .
Martin Berger,
3
Konstrukcja jest podana w pracy: Twierdzenie 8 na stronach 14-15 (faktyczne stwierdzenie to Wniosek 9 na stronie 16).
Yuval Filmus

Odpowiedzi:

7

Komentarz Martina (i kontynuacja Yuvala) zawiera odniesienie, które wyjaśnia konstrukcję bardziej szczegółowo.

Opracuję trochę, ponieważ uważam, że jest to wspaniały dowód: w zasadzie wykonuje on „zwykły” dowód nierozstrzygalności PA (arytmetyka z dodawaniem i mnożeniem), ale relatywizowany do22cn! Oznacza to, że istnieje (krótka) formuła, która wyraża mnożenie do tej liczby, tj. FormułaMn(x,y,z) takie, że

Mn(x,y,z)x×y=z x<22n

Teraz budujesz Mn przez włączenie indukcyjne n, z kluczową sztuczką, która przypomina algorytm Karatsuba do mnożenia liczb binarnych lub niektóre sztuczki do mnożenia macierzy:

W definicji dla Mn+1(x,y,z) kończy się to koniunkcją formularza

Mn(x1,y1,z1)Mn(x2,y2,z2)Mn(x3,y3,z3)

Ale możesz to zastąpić

uvw,(u=x1v=y1w=z1)(u=x2v=y2w=z2)(u=x3v=y3w=z3)Mn(u,v,w)

Ta sztuczka pozwala na liniowy wzrost wielkości zamiast wykładniczej (w zależności od n).

W grę wchodzi kilka innych sztuczek, ale to jest główna. Wewnętrzne elementy rekurencji są oczywiście ważne, ale podobieństwo do sztuczki Karatsuba jest naprawdę dość uderzające.

cody
źródło
1
Niektórzy mogą rozpoznać sztuczkę kwantyfikatora na podstawie dowodu PSPACE=NPSPACE.
Ariel,