Was ist die Intuition hinter linearer Logik?

11

Ich versuche, lineare Logik zu verstehen, um lineare Typsysteme besser zu verstehen. Wenn ich jedoch die Regeln lese, bekomme ich keine Intuition dahinter, wie ich es in der Modallogik getan habe - A bedeutet, dass A erforderlich ist, wie in Kripke-Frames. A ist für jede erreichbare Welt erforderlich. [ A ist A ist mutatis möglich mutandis]. Aber ich kann keine intuitive Erklärung für die Dualität finden und welches der Konjunktions- / Disjunktionspaare (falls vorhanden) und .

Maciej Piechotka
quelle
In Girards Originalpapier sollten Sie nachsehen, ob Sie die Intuition dahinter verstehen möchten. Die Frage ist imo zu allgemein und die Antwort wäre, auf der Wikipedia-Seite nach linearer Logik zu suchen.
Kaveh
5
Ich bin damit einverstanden, dass dies ein bisschen zu Brot und definitiv kein Forschungsniveau ist. Vielleicht sollten Sie die Frage zu CS Stack Exchange stellen. Ich möchte Sie jedoch davon abhalten, Girards Originalpapier als Einstiegspunkt in die lineare Logik zu verwenden. Vielleicht ist die Wikipedia ein besserer Ausgangspunkt.
Damiano Mazza
Das ist ziemlich breit. Ein Vorschlag könnte vielleicht darin bestehen, Formeln als eine "Währung" zu betrachten, die anstelle von Wahrheitserklärungen ausgegeben werden kann. Dann könnte die Konjunktion ab was bedeutet, dass wir sowohl eine a Münze als auch eine b Münze ausgeben können . Eine andere Art der Konjunktion könnte a&b , was bedeutet, dass wir zwischen a und wählen können b(aber nicht beides!). Sie können einige Beispiele auf Wikipedia finden, wie Damiano vorgeschlagen hat.
Chi
@chi Ich bin mir nicht sicher, ob die "Ressourceninterpretation" der beste Weg ist, die Dualität in LL zu verstehen. Die Prozessinterpretation ist viel verständlicher.
Martin Berger

Antworten:

11

Ich bin mir nicht sicher, ob diese Frage ideal für CSTheory ist, aber da sie bereits positive Stimmen sammelt, ist hier eine Antwort, die jemand gegeben hätte, wenn die Frage auf cs.stackexchange veröffentlicht worden wäre .

()A

                    Prozess

ABABAB (a,b)aAbB

                   Geben Sie hier die Bildbeschreibung ein

(.)AB

(AB)=AB

In dieser Lesart ist der Prozess, der mit kommuniziert .ABAB

Das Äquivalent der Disjunktion der linearen Logik kann ähnlich prozess-theoretisch gelesen werden. Die Formel

A & B

sollten auch als zwei Prozesse und parallel gesehen werden, aber anstatt aktiv Nachrichten zu senden, warten sie darauf, dass die Umgebung entscheidet, welche ausgeführt werden sollen. Also sitzt dort und wartet auf seinem Kanal auf eine Information, die entscheidet, ob als oder als . Dies ist eine 'parallele' Version des in sequentiellen Programmiersprachen. Das Duale von istABA&BA&BABif/then/else(A&B)A&B

(A&B)=AB

kann als ein Prozess angesehen werden, der 1 Bit an sendet , nämlich: "Weiter als " oder "Weiter als ". Dies ist ähnlich wie bei der Bewertung von nach während Bewertung nach , mit der Ausnahme, dass die Wahl zwischen und jetzt von der Umgebung getroffen wird.A&BABif true then P else QPif false then P else QQAB

Der! -Operator hat auch eine prozess-theoretische Interpretation: Wenn als Prozess gelesen wird, kann so gelesen werden, dass unendlich viele Prozesse parallel ausgeführt werden.A!AA

In dieser Lesart werden die Axiome der linearen Logik zu einfachen 'Drähten', die Nachrichten von den Prozessen an die Prozesse weiterleiten . Diese Interpretation der Axiome findet sich bereits in Girards Beweisnetzen (3).AAAA

Diese prozess-theoretische Interpretation war einflussreich und führte zu vielen Folgearbeiten wie z. B. (2) für Sitzungstypen. Trotzdem gibt es einige Randfälle, die es etwas umständlich machen, und meines Wissens wurde es auch 2017 nicht perfekt für die vollständige lineare Logik gemacht.


1. S. Abramsky, Computerinterpretationen der linearen Logik .
2. P. Wadler, Vorschläge als Sitzungen .
3. Wikipedia, Beweisnetz .

Martin Berger
quelle