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.