선형 논리의 직관은 무엇입니까?


11

선형 유형 시스템을 더 잘 이해하기 위해 선형 논리를 이해하려고합니다. 내가 규칙을 읽을 때, 내가 모달 로직에서 수행 한 것처럼 뒤에 직관을 얻기 위해 실패 - 의미 A가 필요 크립 키가 프레임과 같이 A는 모든 도달 가능한 세계를 위해 필요합니다 [ A는A가 가능한 변경을 mutandis]. 하지만 대응에 (있는 경우) 결합 / 분리 쌍의 직관적 인 이중성에 대한 설명과 어떤을 찾을 수 없습니다 .AAAAA


지라드의 원본 논문은 그 직관을 이해하고 싶다면 살펴 봐야 할 곳입니다. 질문은 너무 일반적인 imo이며 그 답은 Wikipedia 페이지에서 선형 논리를 보는 것입니다.
Kaveh

5
나는 이것이 너무 빵과 연구 수준이 아니라는 것에 동의합니다. 아마도 CS 스택 교환에 대한 질문을해야합니다. 그러나 지라드의 원본 논문을 선형 논리의 진입 점으로 사용하지 않는 것이 좋습니다. 어쩌면 Wikipedia가 시작하기에 더 좋은 곳일 것입니다.
Damiano Mazza

이것은 매우 광범위합니다. 아마도 제안은 공식의 진술 대신 공식을 "통화"로 간주하기 시작할 수 있습니다. 그러면 결합은 b 가 될 수 있습니다 ab 즉 우리는 a 동전과 b 동전 을 모두 사용할 수 있습니다 . 함께 또 다른 종류의 수 & B 우리가 지출 중에서 선택할 수 있습니다 의미 지출 B를 (하지만 둘 다!). Damiano가 제안한 것처럼 Wikipedia에서 몇 가지 예를 찾을 수 있습니다. a&bab
chi

@chi "리소스 해석"이 LL의 이중성을 이해하는 최선의 방법인지 잘 모르겠습니다. 프로세스 해석은 훨씬 이해하기 쉽습니다.
Martin Berger

답변:


11

이 질문이 CSTheory에 이상적이라고 확신하지는 않지만 이미 투표를 수집하고 있다고 가정 하면 cs.stackexchange 에 질문을 게시했을 때 누군가가 준 답변이 있습니다 .

()A

                    방법

ABABAB (a,b)aAbB

                   여기에 이미지 설명을 입력하십시오

(.)AB

(AB)=AB

이 읽기에서 은 와 통신하는 프로세스입니다 .ABAB

선형 논리의 등가에 유사한 프로세스 이론적 판독 값을 제공 할 수 있습니다. 공식

A & B

또한 두 개의 프로세스 와 가 병렬로 표시되어야하지만 적극적으로 메시지를 보내는 것이 아니라 환경에서 실행할 프로세스 를 결정할 때까지 기다립니다. 따라서 는 를 또는 로 실행 할지 결정하는 약간의 정보를 채널에서 기다리고 있습니다. 순차 프로그래밍 언어에서 의 '병렬'버전입니다 . 듀얼 의 이고ABA&BA&BABif/then/else(A&B)A&B

(A&B)=AB

는 1 비트의 정보를 보내는 프로세스로 볼 수 있습니다 . 즉, " 계속 "또는 " 계속 " 이 유사하다에서 로 평가 하면서 로 평가 사이의 선택 점을 제외 와 이제 환경에 의해 이루어집니다.A&BABif true then P else QPif false then P else QQAB

! 연산자는 프로세스 이론적 해석을 갖습니다. 가 프로세스로 읽 히면 는 무한히 많은 프로세스 를 병렬 로 실행하는 것으로 읽을 수 있습니다 .A!AA

이 독서 공리 선형 논리가 단순한 '와이어'의 과정에서 메시지 전달 프로세스 . 공리에 대한 이러한 해석은 이미 지라드의 증거 망에있다 (3).AAAA

이 프로세스 이론적 해석은 영향력이 있으며 세션 유형에 대한 (2)와 같은 많은 후속 작업이 발생했습니다. 그럼에도 불구하고 약간 어색한 경우가 있으며, 내가 아는 한 2017 년에도 완전한 선형 논리에 완벽하게 작동하지는 않았습니다 .


1. S. Abramsky, 선형 논리의 계산 해석 .
2. P. Wadler, 세션으로서의 제안 .
3. Wikipedia, 증명 넷 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.