Jaka intuicja kryje się za logiką liniową?


11

Próbuję zrozumieć logikę liniową, aby lepiej zrozumieć systemy typu liniowego. Jednak kiedy czytam zasady, nie rozumiem za tym intuicji, jak to zrobiłem w logice modalnej - oznacza, że A jest wymagane, ponieważ w ramkach Kripke A jest wymagane dla każdego osiągalnego świata [ ◊ A to A jest możliwe mutatis mutandis]. Ale nie mogę znaleźć żadnego intuicyjnego wyjaśnienia dualizmu i tego, które pary koniunkcji / rozłączności (jeśli występują) odpowiadają ∧ i ∨ .◻AAA◊AA∧∨


Oryginalny papier Girarda jest miejscem, w którym powinieneś spojrzeć, jeśli chcesz zrozumieć intuicję. Pytanie, jakie jest, jest zbyt ogólne, a odpowiedzią byłoby poszukać logiki liniowej na stronie Wikipedii.
— Kaveh

5
Zgadzam się, że to trochę za mało i zdecydowanie nie jest to poziom badań, może powinieneś zadać pytanie na CS Stack Exchange. Odradzałbym jednak korzystanie z oryginalnego papieru Girarda jako punktu wejścia do logiki liniowej. Może Wikipedia jest lepszym miejscem do rozpoczęcia.
— Damiano Mazza

To jest dość szerokie. Być może sugestia może zacząć traktować formuły jako „walutę”, którą można wydać, zamiast stwierdzeń prawdy. Następnie spójnik może być ⊗ b czemu można spędzić zarówno na monetę i b monetę. Innym rodzajem koniunkcji może być a & b , co oznacza, że ​​możemy wybierać między wydatkami a i wydatkami b (ale nie oba!). Możesz znaleźć kilka przykładów na Wikipedii, jak sugerował Damiano. a⊗baba&bab
— chi

@chi Nie jestem pewien, czy „interpretacja zasobów” jest najlepszym sposobem na zrozumienie dualności w LL. Interpretacja procesu jest znacznie bardziej zrozumiała.
— Martin Berger,

Odpowiedzi:


11

Nie jestem pewien, czy to pytanie jest idealne dla CSTheory, ale biorąc pod uwagę, że już zbiera opinie, oto odpowiedź, którą ktoś mógłby udzielić, gdyby pytanie zostało opublikowane na cs.stackexchange .

Aby zrozumieć pojęcie dualności logiki liniowej , która rozdziela koniunkcję i dysjunkcję znacznie dalej niż jesteśmy przyzwyczajeni w konwencjonalnej logice, zalecam nie myśleć o logice liniowej pod względem zasobów (chociaż jest to ważna lektura ). Zamiast tego pomyśl o liniowych formułach logicznych A jako procesach komunikujących się w porcie / nazwie / kanale. Zgodnie z moją najlepszą wiedzą interpretacja ta została rozwinięta w pierwszej części (1), ale nawiązuje do niej już oryginalna praca Girarda. Jako obraz:(⋅)⊥A

                    Proces

A⊗BABA⊗B (a,b)aAbB

                   wprowadź opis zdjęcia tutaj

(.)⊥A⊗B

(A⊗B)⊥=A⊥⅋B⊥

W tym odczytu jest proces, który komunikuje się z .A⊥⅋B⊥A⊗B

Odpowiednik dysocjacji w logice liniowej może otrzymać podobny odczyt teoretyczny. Formuła

A & B

powinny być również postrzegane jako dwa równoległe procesy i , ale zamiast aktywnie wysyłać wiadomości, czekają, aż środowisko zdecyduje, które uruchomić. Więc siedzi tam, czekając na jego kanale na trochę informacji, które decyduje czy powinny działać jako lub . Jest to „równoległa” wersja w sekwencyjnych językach programowania. Podwójny z jestABA&BA&BABif/then/else(A&B)⊥A&B

(A&B)⊥=A⊥⊕B⊥

może być postrzegany jako proces wysyłający 1 bit informacji do , a mianowicie: „kontynuuj jako ” lub „kontynuuj jako ”. Jest to podobne do tego w oceniany na podczas oceniany na , z tym że wybór między i jest teraz dokonywany przez środowisko.B i F T R U e T H E N P e l a e P P I f f danego ł s e t h e n P e l s e Q Q A BA&BABif true then P else QPif false then P else QQAB

Operator! Ma również interpretację teoretyczną: jeśli jest odczytywany jako proces, to można odczytać jako uruchamiający nieskończenie wiele procesów równolegle.! A AA!AA

W tym odczytu axioms liniowych logicznych się proste „przewody”, które przekazywania komunikatów z procesów do procesów . Ta interpretacja aksjomatów znajduje się już w siatkach dowodowych Girarda (3).A ⊥ AA⊢AA⊥A

Ta interpretacja teoretyczna procesu miała wpływ i spowodowała wiele dalszych prac, takich jak np. (2) dla typów sesji. Niemniej jednak istnieją pewne przypadki krawędzi, które sprawiają, że jest to trochę niezręczne, i zgodnie z moją wiedzą nie zostało stworzone, aby działało idealnie dla pełnej logiki liniowej nawet w 2017 roku.


1. S. Abramsky, Interpretacje obliczeniowe logiki liniowej .
2. P. Wadler, Propozycje jako sesje .
3. Wikipedia, siatka próbna .

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.