Qual è l'intuizione dietro la logica lineare?


11

Sto cercando di capire la logica lineare per capire meglio i sistemi di tipo lineare. Tuttavia, quando leggo le regole, non riesco a ottenere un'intuizione dietro di essa come ho fatto nella logica modale - significa che è richiesto come nei frame Kripke è richiesto per ogni mondo raggiungibile [ is is is possibili mutatis mutandis]. Ma non riesco a trovare alcuna spiegazione intuitiva per la dualità e quale coppia di congiunzione / disgiunzione (se presente) corrisponde a e .A A A AAAAAA


Il documento originale di Girard è dove dovresti cercare se vuoi capire l'intuizione dietro di loro. La domanda così com'è è troppo generale e la risposta sarebbe quella di guardare alla pagina di Wikipedia per la logica lineare.
Kaveh,

5
Sono d'accordo che questo è un po 'troppo pane e sicuramente non livello di ricerca, forse dovresti porre la domanda su CS Stack Exchange. Tuttavia, ti scoraggerei dall'utilizzare il documento originale di Girard come punto di accesso alla logica lineare. Forse Wikipedia è un posto migliore per iniziare.
Damiano Mazza,

Questo è abbastanza ampio. Un suggerimento, forse, potrebbe iniziare a considerare le formule come una "valuta" che può essere spesa, anziché dichiarazioni di verità. Poi, insieme potrebbe essere ab che significa che possiamo trascorrere sia una a moneta e una b moneta. Un altro tipo di congiunzione potrebbe essere a&b , il che significa che possiamo scegliere tra spendere a e spendere b (ma non entrambi!). Puoi trovare alcuni esempi su Wikipedia, come ha suggerito Damiano.
Chi

@chi Non sono sicuro che l '"interpretazione delle risorse" sia il modo migliore per comprendere la dualità in LL. L'interpretazione del processo è molto più comprensibile.
Martin Berger,

Risposte:


11

Non sono sicuro che questa domanda sia ideale per CSTheory, ma dato che sta già raccogliendo voti, ecco una risposta che qualcuno avrebbe potuto dare se la domanda fosse stata pubblicata su cs.stackexchange .

Per comprendere la nozione di dualità della logica lineare , che forza la congiunzione e la disgiunzione molto più lontano di quanto siamo abituati nella logica convenzionale, raccomando di non pensare alla logica lineare in termini di risorse (sebbene questa sia una lettura importante ). Pensa invece alle formule logiche lineari A come processi che comunicano in una porta / nome / canale. Questa interpretazione è stata perfezionata per prima in (1) per quanto ne so, ma è già menzionata nell'opera originale di Girard. Come una foto:()A

                    Processi

(Non sono sicuro di come centrare correttamente le immagini qui.) La congiunzione lineare viene interpretata come processi in esecuzione A e B in parallelo . Il processo A B comunica coppie ( a , b ) alla sua porta, dove a viene da A e b è la comunicazione di B.ABABAB (a,b)aAbB

                   inserisci qui la descrizione dell'immagine

La dualizzazione (che è la negazione della logica lineare) commuta l'ingresso e l'uscita. Quindi il doppio di A B è(.)AB

(AB)=AB

In questa lettura è il processo che comunica con . A BABAB

L'equivalente della disgiunzione della logica lineare può ricevere una lettura teorica di processo simile. La formula

A & B

dovrebbero anche essere visti come due processi e in parallelo, ma anziché inviare attivamente messaggi, attendono che l'ambiente decida quale eseguire. Quindi, sta lì, in attesa sul suo canale per un po 'di informazioni che decide se dovrebbe essere eseguito come o . Questa è una versione "parallela" di in linguaggi di programmazione sequenziale. Il doppio di èB A & B A & B A B i f / t h e n / e l s e ( A & B ) A & BABA&BA&BABif/then/else(A&B)A&B

(A&B)=AB

può essere visto come un processo che invia 1 bit di informazioni ad , vale a dire: "continue as " o "continue as ". Questo è simile a valutando mentre valutando , tranne per il fatto che la scelta tra e è ora fatta dall'ambiente.A B i f t r u e t h e n P e l s e Q P i f f a l 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

L'operatore! Ha anche un'interpretazione teorica del processo: se viene letto come un processo, allora può essere letto come l'esecuzione di infiniti processi in parallelo.! A AA!AA

In questa lettura gli assiomi delle logiche diventare semplici 'fili' lineari che inoltrare messaggi provenienti da processi di ai processi . Questa interpretazione degli assiomi è già presente nelle reti di prova di Girard (3).A AAAAA

Questa interpretazione teorica del processo è stata influente e ha dato origine a molti lavori di follow-up come ad esempio (2) per i tipi di sessione. Tuttavia, ci sono alcuni casi limite che lo rendono un po 'imbarazzante e, per quanto ne sappia, non è stato fatto funzionare perfettamente per una logica completamente lineare anche nel 2017.


1. S. Abramsky, interpretazioni computazionali della logica lineare .
2. P. Wadler, Proposte come sessioni .
3. Wikipedia, rete di prova .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.