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 - bedeutet, dass erforderlich ist, wie in Kripke-Frames. ist für jede erreichbare Welt erforderlich. [ ist 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 .
lo.logic
type-theory
linear-logic
Maciej Piechotka
quelle
quelle
Antworten:
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 .
In dieser Lesart ist der Prozess, der mit kommuniziert .A⊥⅋B⊥ A⊗B
Das Äquivalent der Disjunktion der linearen Logik kann ähnlich prozess-theoretisch gelesen werden. Die Formel
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 istA B A&B A&B A B if/then/else (A&B)⊥ A&B
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&B A B if true then P else Q P if false then P else Q Q A B
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.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).A⊢A A⊥ A
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 .
quelle