η-konwersja vs rozciągliwość w rozszerzeniach rachunku lambda


14

Często myli mnie związek między konwersją η a ekstensywnością.

Edytuj: Według komentarzy wydaje mi się, że jestem również zdezorientowany co do związku między równoważnością ekstensywną a równoważnością obserwacyjną. Ale przynajmniej w Agdzie z ekstensywną równością funkcji (jako postulat) i dla prostego rachunku lambda (który ma w pełni abstrakcyjną semantykę, jeśli się nie mylę), równoważność denotacyjna jest taka sama jak równoważność obserwacyjna. Popraw mnie w komentarzach lub odpowiedziach; Nigdy nie uzyskałem systematycznej edukacji w tych sprawach.

W niepisanym rachunku lambda reguła eta daje ten sam system dowodu co zasada ekstensywności, co udowodnił Barendregt (cytowany w odpowiedzi na to pytanie ). Rozumiem, że oznacza to, że system dowodowy z regułą eta jest kompletny dla równoważności obserwacyjnej (z innych odpowiedzi, które mogą wymagać reguły reguły ξ, to znaczy redukcji w segregatorach IIUC; nie mam też problemu z dodaniem tej reguły) .

Co się jednak stanie, jeśli przejdziemy na rachunek maszynowy i dodamy ten rachunek rozszerzający o dodatkowe typy bazowe i odpowiadające im formularze wprowadzenia i eliminacji? Czy nadal możemy napisać kompletny system dowodu równoważności obserwacyjnej? Opowiem o systemach dowodowych w postaci semantyki aksjomatycznej, zgodnie z Mitchell's Foundations of Programming Languages ​​(FPL); system dowodowy / semantyka aksjomatyczna określa równoważność programu.

Pytanie 1 : czy twierdzenie Barendregta rozciąga się na STLC? Czy równoważność η jest równoważna ekstensywności w tym kontekście?

Ja przeglądając dyskusję FPL z PCF (ale nie dokończył jeszcze sekcję) i wydaje się, że po dodaniu par, ekstensjonalności wymaga dodatkowego regułę, mianowicie suriekcją parowanie: pair (Proj1 P, Proj2 P) = P. Co ciekawe, reguła ta dotyczy wprowadzania i eliminacji par dokładnie tak, jak reguła η dotyczy wprowadzania i eliminacji funkcji.

Pytanie 2 : Czy wystarczy dodać aksjomat parowania z przypuszczeniem, aby udowodnić ekstensywność prostego rachunku λ z parami? edytuj : Pytanie 2b : czy parowanie przez przymiotniki prawa η, jak wspomniane w tym artykule prawa η , z powodu podobieństwa strukturalnego, o którym wspomniałem?

Przejdźmy teraz do PCF. Opisy równości ekstensywnej, które widziałem, dowodzą, że ekstensywność implikuje regułę dowodową przez indukcję, ale nie mówią, czy to wystarczy. Ponieważ PCF jest kompletny w Turinga, równość ekstensywna jest nierozstrzygalna . Ale to nie oznacza, że ​​nie ma pełnego systemu dowodów, ponieważ długość dowodów jest nieograniczona. Co ważniejsze, taki system dowodu może być sprzeczny z twierdzeniami Gödela o niekompletności. I ten argument może dotyczyć nawet PCF bez fix, a także System T. Gödla.

Pytanie 3 : Czy istnieje kompletny system dowodu równoważności obserwacyjnej w PCF? A co bez PCF fix?

Aktualizacja: pełna abstrakcja

Odpowiadam tutaj na komentarz dotyczący pełnej abstrakcji. Wydaje mi się, że PCF ma dwa różne rodzaje problemów: ma brak terminacji (via fix), co powoduje utratę pełnej abstrakcji, ale ma także liczby naturalne. Oba problemy sprawiają, że obserwowalną równoważność trudno jest leczyć, ale wierzę, że niezależnie od siebie.

Z jednej strony PCF traci pełną abstrakcję, ponieważ równolegle lub żyje w domenie semantycznej (Plotkin 1977), i wydaje się, że ma to związek z nieterminacją. Ralph Loader (2000, „Finitary PCF nie podlega rozstrzygnięciu”) pokazuje, że finational PCF (bez naturals, ale z nieterminacją) jest już niezdecydowany; stąd (jeśli poprawnie podsumuję) w pełni abstrakcyjny semantyczny nie może ograniczać się do domen z operacjami obliczalnymi.

Z drugiej strony weź System T Gödela, który nie ma nieterminacji. (Nie jestem pewien, czy ma w pełni abstrakcyjną semantykę, ale zgaduję, że tak, ponieważ problem jest wspomniany tylko w przypadku PCF; domena musi zawierać pierwotne funkcje rekurencyjne wyższego rzędu). Praktyczne podstawy Harpera dla języków programowania omawiają równoważność obserwacyjną dla tego języka; Sec. 47.4 zatytułowany jest „Niektóre prawa równości” i pokazuje pewne dopuszczalne reguły dowodowe dotyczące równoważności obserwacyjnej. Nigdzie nie jest powiedziane, czy system dowodowy jest kompletny, więc chyba nie jest, ale nigdzie też nie dyskutuje się, czy można go ukończyć. Moje najlepsze przypuszczenia wiążą się z twierdzeniem Gödela o niekompletności.


1
Myślę, że mógłbym odpowiedzieć na niektóre z tych pytań, ale nie wiem, o co pytasz. Pytanie, o którym mówisz, nie dotyczy równoważności programu. Masz na myśli równoważność obserwacyjną? Dla jakiej semantyki operacyjnej? Zasadniczo, jeśli dokładnie wyjaśnisz, do czego odnosi się „dowód” w pytaniu 1, myślę, że mogę zgadnąć, co się dzieje. Moje najlepsze przypuszczenie: chciałbyś teorii teorii równań, która jest kompletna dla równoważności obserwacyjnej, i pytasz nas, czy reguły są wystarczające. Czy to to? η
Andrej Bauer

@AndrejBauer: twoje przypuszczenia są prawidłowe, zacznę aktualizować pytanie.
Blaisorblade,

Nie jestem pewien co do semantyki operacyjnej - czy to wpływa na oryginalne twierdzenia?
Blaisorblade,

Próbowałem uściślić pytanie. Ale nadal uważam, że twoje najlepsze przypuszczenia są prawidłowe.
Blaisorblade,

Jest tu mały problem: naprawdę nie jest jasne, czym jest dla liczb naturalnych! Jeśli masz tylko typ funkcji i produktu, to jasne: terminy są równoważne obserwacyjnie, jeśli są równe β η . Mówiąc bardziej ogólnie, myślę, że jest to związane z problemem pełnej abstrakcji . ηβη
cody

Odpowiedzi:


7

Nie jestem pewien, czy potrafię w pełni odpowiedzieć na twoje pytanie, ale dam mu szansę i zadam kilka własnych pytań, które mogą zachęcić do dalszej dyskusji na ten temat.

Mój pierwszy punkt brzmi: dwa terminy w bez typu Î -calculus Mówi się zauważalnie równa wtw dla każdego terminu M : M t  kończy M t '  kończy  Gdzie kończy oznacza „ma p formularz -Normal”t,t λM.

M. t kończy się M. t kończy się 
β

Uważam za bardziej naturalne rozważanie terminów z „dziurami” lub kontekstami zamiast po prostu terminów M i pisania E [ t ] zamiast M t . Oba widoki są z pewnością równoważne (jeśli zmienne nie są powiązane kontekstem), ponieważ abstrakcja pozwala zamienić kontekst E [ _ ] na termin λ x . E [ x ] .mi[_]M.mi[t]M. tmi[_]λx.mi[x]

Teraz faktem jest, że równość obserwacyjna w rachunku różnym bez typu nie jest ujmowana przez -equality! Rzeczywiście istnieje cała klasa terminów, które oba nie kończą się i nie mają normalnych form głowy, a zatem wszystkie są zauważalnie równe. Są one czasami nazywane warunkami wieczystymi lub nierozwiązywalnymi , a oto dwa takie terminy: ( λ x . X x ) ( λ x . X x ) i ( λ x . X x x ) ( λ x .βη

(λx.x x)(λx.x x)
Łatwo jest wykazać, że te terminy nie są β η -equal.
(λx.x x x)(λx.x x x)
βη

Jeśli zostaną zidentyfikowane wszystkie warunki wieczyste, wówczas równość obserwacyjna zostanie całkowicie uchwycona przez klasyczny wynik (patrz twierdzenie Barendregta 16.2.7).


Teraz dla wpisanych rachunków. Rozważmy najpierw prosty rachunek bez liczb naturalnych. Powyższa definicja równości obserwacyjnej staje się banalna, ponieważ każdy termin normalizuje się! Potrzebujemy dokładniejszego rozróżnienia. Użyjemy równości wartości t 1t 2 do zamkniętych warunkach, określonych przez indukcję od typu t 1 i t 2 . Dodajmy najpierw dla każdego typu A nieskończoną liczbę stałych c A , c A , c A , . Wybierzemy stałą c xλt1t2)t1t2)ZAdoZA,doZA,doZA,doxodpowiedniego typu, który odpowiada każdej zmiennej .x

  1. Przy typie podstawowym , t 1t 2 iff β- głowica normalna forma t 1 to c u 1u n, a dla jest i oraz w odpowiednich typach.bt1t2)βt1do u1unt2)re v1vndo=reu1v1,,unvn

  2. Przy typie strzałki strzałka w dół obydwu terminach β- redukuje do λ -abstrakcji.t1t2)βλ

Zauważ, że używam tylko konwersji w tej definicji.β

Teraz definiuję konteksty jako: z kontekstem głowy, zastosowaniem, abstrakcją i podstawieniem (wyrażeniami zamkniętymi).

[_]E[_] ut E[_]λx. E[_]E[_]θ

Możemy wtedy zdefiniować i t ' , dobrze typowane typu T, aby być obserwacyjnie równoważne, jeśli i tylko wtedy, gdy dla każdego kontekstu E [ _ ] takie, że E [ t ] , E [ t ] są dobrze wpisane i zamknięte . E [ t ] E [ t ] napiszemy t = o b s t w tym przypadkuttTE[_]E[t],E[t]

E[t]E[t]
t=obst

Teraz łatwo zauważyć, że jeśli to t = o b s t . Drugi kierunek jest mniej trywialny, ale także utrzymuje: w rzeczy samej , jeśli t = o b s t , to możemy wykazać, że warunki są dla β η indukcyjne na typ:t=βηtt=obstt=obstβη

  1. W typie podstawowym po prostu weź na [ _ ] θ , z θ podstawieniem, które wysyła x do c x . Mamy E [ t ] = t θ i E [ t ] = t θ . Mamy t θ β c x u 1 θ u n θ i t θ E[_][_]θθxcxE[t]=tθE[t]=tθtθβcx u1θunθ . Mamy wtedy c x = c x ′, a więc x = x . Teraz nie możemy od razu stwierdzić, że u i θ = β η v i θ . Rzeczywiście, jeśli u I i V i X -abstractions, to trywialnie u i θ v ja θ ! Sztuką jest wysłanie xtθβcx v1θvnθcx=cxx=xuiθ=βηviθuiviλuiθvjaθxna i powtarzaj to tyle razy, ile to konieczne. Jestem trochę rozmyślny w szczegółach tutaj, ale idea jest podobna do twierdzenia Böhm ( Barendregt ponownie 10.4.2).

    λy.cx~ (y1c1)(yncn)
  2. Przy typie strzałki weź na [ _ ] c y , tj. Zastosuj do c y z c y i y nie w t lub t . Zgodnie z hipotezą indukcyjną mamy: t c y = β η t c y, a więc t y = β η t y, co daje λ y . t y = βE[_][_] cycycyytt

    t cy =βη t cy
    t y =βη t y
    i wreszcie przezη-equality: t = β η t λy.t y =βη λ.t yη
    t =βη t

To było trudniejsze niż się spodziewałem!


Dobrze niech rozwiązania systemu T. Dodajmy typu z mieszanki konstruktory 0 i S , i recursor r e c T dla każdego typu T , z " β -rules" r e c T U V 0 β U r e c T u v ( S n ) β v n ( r e c T u v n )N0S.rmidoT.T.β

rmidoT. u v 0βu
rmidoT. u v (S. n)βv n (rmidoT. u v n)

Chcemy udowodnić to samo twierdzenie co powyżej. Kuszące jest dodanie „ rules”, aby udowodnić równoważności takie jak: λ x . x = β η r e c N 0 ( λ k m . S m ), gdzie terminem po prawej jest „głupia tożsamość”, która odrywa m następców tylko po to, aby dodać je ponownie.η

λx.x =βη rmidoN. 0 (λk m.S. m)
m

Na przykład dodajmy tę regułę:

fa (S. x) =βη h x (fa x)fa t =βηrmidoT. (fa 0) h t
xηh

M.tM.T.tM. (S. S. 0)n S.1M.n0

M.

tM =λx.0
βηM
0 =βη S 0
TtM=λx.0

Dziękuję za odpowiedź! Moje pierwsze pytanie brzmi: czy zwykle w kontekście stosuje się podstawienia za równoważność obserwacyjną? Przynajmniej praca LCF Plotkina (1997) tego nie robi (chociaż mogę sobie wyobrazić, że coś takiego miałoby sens w rachunku różniczkowym, w którym coś takiego jak podstawienia jest częścią składni). Ale z łatwością widzę dla każdego kontekstu „podstawienia” można zdefiniować bardziej (jak dla mnie) „standardowy” kontekst, który wykorzystuje po prostu abstrakcję lambda i aplikację, powiedzmy (λx. []) C_x; więc myślę, że powyższa równoważność obserwacyjna jest równoważna definicji, do której jestem przyzwyczajony.
Blaisorblade,

t=λx.00=βηS.0M.0=βηS00βηS 0

Mt=λx.0

1
PA01PA0=1T
f 0=g 0f (S 0)=g (S 0)f=g

1
Zgadza się! Chociaż czasem sensowne jest rozważenie takich „nieskończonych” systemów do celów dowodowych (np. Analiza porządkowa).
cody
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.