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
A⊗BABA⊗B (a,b)aAbB
(.)⊥A⊗B
(A⊗B)⊥=A⊥⅋B⊥
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
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)⊥=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&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).A⊢AA⊥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 .