어떤 언어에 대해 이미 관측 적 동등성 이론이 있습니까?


11

정확성 증명, 나는 프로그램 등가의 가능한 개념을 찾고 있어요 Barendregt의 순수 타입 시스템 (PTS 값)에 대한; 충분한 특정 유형 시스템의 경우 누락되었습니다. 내 목표는 단순히 개념을 사용하는 것이지, 그 자체로 조사하지 않는 것입니다.

이 개념은 " 확장 적 " 이어야합니다 . 특히 임을 증명하려면 t 1 을 증명하기에 충분해야합니다.t1t2 적절한 유형의모든 값 v .t1vt2vv

등가

Denotational equivalence는 모든 올바른 정리를 쉽게 만족시킬 수 있지만, 임의의 PTS에 대한 denotational semantics는 다소 도전적인 것처럼 보입니다. 이미 System F에서는 어려워 보입니다.

맥락 / 관찰 적 동등성

명백한 대안은 다양한 형태의 문맥 상 등가이다 (두 가지 용어가 문맥을 구별 할 수 없다면 동등하다). 그 정의는 즉시 사용할 수 없다. 다양한 정리는 증명하기 쉽지 않다. 그들은 PTS에 대해 증명 되었습니까? 또는 이론이 "분명한 확장"이거나 이론이 크게 다를 것이라고 믿을만한 이유가 있습니까?

편집 : 나는 위의 어려운 말을하지 않았다.

쉬운 부분 : 정의

동등성을 정의하는 것은 그리 어렵지 않으며, 그 정의는 많은 논문에서 나타나고 있습니다 (최소한이 아니라면 Plotkin 1975의 PCF 연구에서 시작한 것이지만 그 출처는 1968 년 Morris의 PhD 논문 일 수 있습니다). 모든 접지 상황 C , C [ t 1 ] C [ t 2 ] , 즉 C [ t 1 ]C [ t 2 ]에 대해 동일한 결과를 제공하는 경우 우리는 t1t2CC[t1]C[t2]C[t1]C[t2]. 당신은 대안의 많은 여기에 몇 가지 선택이있다 : 당신은 원주민의 땅 유형이있는 경우 예를 들어, 강력하게 정상화 언어로, 당신이 그 지상의 상황이 그들이다 말할 수를 돌려 원주민 다음 B의 의미 와 B는 같은 숫자로 평가합니다. 비 종료의 경우 합리적인 언어의 경우 "X 종료"를 관찰로 사용하면 충분합니다. 종료를 관찰 할 때 두 프로그램이 동일하면 결과를 관찰 할 때도 동일하기 때문입니다.abab

어려운 부분 : 증거

그러나이 논문들은 종종이 정의를 실제로 사용하는 것이 얼마나 어려운지를 설명하지 않습니다. 아래의 모든 참고 문헌은이 문제를 해결하는 방법을 보여 주지만 필요한 이론은 생각보다 어렵습니다. 우리는 어떻게 증명합니까 ? 실제로 상황에 대한 사례 분석 및 유도를 수행합니까? 당신은 그렇게하고 싶지 않습니다.t1t2

Martin Berger가 지적한 바와 같이, 대신 (Pitts가 수행 한 것처럼) bisimulation 또는 논리적 동등성 관계 (Harper는 단순히 "논리적 동등성"이라고 함)를 사용하려고합니다.

마지막으로 위에서 정의한 확장 성을 어떻게 증명합니까?

Harper는 상당한 영리함과 논리적 관계를 통해 System T의 10 페이지에서 이러한 질문을 해결합니다. 피츠가 더 많이 걸립니다. 일부 언어는 아직 더 복잡합니다.

이것을 다루는 방법

나는 실제로 PTS에 대해 추측 된 동등성 이론에 근거하여 내 증거를 조건부로 시험하고 싶지만 실제 이론에는 사소한 논증이 필요하기 때문에 그러한 추측이 얼마나 될지 확신 할 수 없다.

다음 작품에 대해 잘 알고 있습니다.

  • Andrew Pitts (예 : 확장 시스템 F의 경우 ATTAPL 및 58 페이지의 "작동 기반 프로그램 동등성 이론"과 같은 몇 가지 논문).
  • Pitts에서 영감을 얻은 실용적인 프로그래밍 언어 기초 (제 47-48 장) (단순한 증거가 있다고 주장함).
  • 프로그램 동등성에 대한 논리적 연구 . 나는 영어 초록을 찾을 수 없지만 부작용 (참조)을 위해 많은 노력을 기울이는 것 같습니다. 이는 직교 합병증처럼 보입니다.

1
프로그램이 모두 종료되므로 운영상 상황에 맞는 합의를 정의하는 형식 이론의 경우 쉬워야합니다. (예를 들면 종단, 작성된 기본 유형에서 관찰 한 개념을 정의 형 단위로) 후라고 P Q를 모두 잘 입력 개폐 상황에 대한 C [ ] 기본 타입, 우리가 C [ P ] iff C [ Q ] . PTS를 사용하면 종료되지 않을 수 있으므로 조금 더 복잡합니다. PQC[]C[P]C[Q]
Martin Berger

@ MartinBerger : 내가 암시하는 아이디어이지만 모든 C에 대해 증거를 제시해야하기 때문에 직접 증명하는 것은 매우 어렵습니다 (질문에서 더 잘 설명 할 것입니다). 또한 모든 프로그램이 종료되면 제공된 정의에 따라 모든 프로그램이 식별됩니다.
Blaisorblade

PTS에 계산 유형으로 만 기능이 있습니까? 다음, 다음 경우 이 우수 질문 (과 답변) 을 나타 내기 위해 보인다 -equivalence을위한 충분 종료 순수 형 시스템을 - 그리고 멋지게 결석을 종료하기위한 문맥 동등성을 정의하는 방법을 설명합니다. 나는 지상 가치 를 사용하는 것이 맥락 적 동등성을 정의 하는 올바른 방법 이라고 생각 하며, 종결은 모호한 장점의 편리한 지름길 일뿐입니다. βη
gasche

1
C[P]trueC[Q]true및 (2) 취급이 용이함, 예를 들어 약간의 유사성 또는 논리적 관계의 개념. 응용 프로그램에 따라 다릅니다.
Martin Berger

1
@Blaisorblade 아마. 동시성 이론가들은이 과정을 오랫동안 집중적으로 해왔다. 왜냐하면 동시 과정에서는 동등성에 대한 개념이 훨씬 덜 명확하기 때문이다. 이것은 분업으로 이어졌다 : 문맥에 대한 정량화와 함께 축소 기반 시맨틱을 사용하여 동등성의 개념을 정의한 다음 동등성 (또는 그 부재)을 증명하기 위해 레이블이 지정된 전이에 대한이 시뮬레이션 또는 추적을 사용한다. 동시성 이론에 대한 큰 공개 연구 문제는 전자에서 후자로 알고리즘으로 이동하는 방법입니다.
Martin Berger

답변:


4

[[]]

[[t1]]=[[t2]]t1t2.


대답에 감사하지만 -1 : 동의하지만이 질문에는 순수한 유형 시스템 (AFAICS)에 대한 언급이 있습니다. 순수한 유형 시스템에 대한 표기 의미론은 개방적인 문제이므로 답변이 일부 의미 론적 의미를 지적해야한다고 생각합니다. (사실, 내가 의미 론적 의미론을 가지고 있다면, 질문에서 언급했듯이 운영 체제를 완전히 배제했습니다). (그러나 너무 긴 질문에 대해 죄송합니다.)
Blaisorblade

@MartinBerger, 나는 당신의 비판을 이해하지 못합니다. OP는 관찰 등가를 나타내는 방법을 요구합니다. 나는 일반적인 것을 언급 한 다음, 방법을 피하는 다른 방법이 있다고 반대합니까?
Andrej Bauer

2
@Blaisorblade, 그럼 당신은 순수한 타입 시스템에 대한 의미 론적 의미론을 발명해야합니다. :-) 그러나 더 진지하게, 나는 Alex Simpson에게 물어볼 것입니다.
Andrej Bauer

@AndrejBauer 그것은 더 많은 부록으로 비판을 의미하지 않았습니다.
Martin Berger

2

η


1
Streicher의 박사 학위가 PTS에 관한 것 같지는 않습니다. 그것은 건축 미적분의 의미론과 신뢰성 의미론을 통한 독립 결과에 관한 것입니다. 여기를 참조 하십시오 .
Martin Berger

설명 주셔서 감사합니다! 그래도 링크가 끊어 질까 걱정됩니다 (그리고 축소 된 링크로 수정하기가 어렵습니다).
코디

링크는 책의 내용의 테이블에 있었다 여기 . 나는 이것이 더 잘 작동하기를 바랍니다.
Martin Berger

λ

@MartinBerger : 실현 가능성 의미를 의미합니까?
Dominique Devriese

0

이 답변은 문제에 대한 접근 방식을 제안합니다. (피드백은 환영합니다).

PFPL 49 장에서는 관측 적 등가와 논리적 등가의 동등한 개념에 대해 논의한다. 논리적 동등성은 매개 변수 상태를 나타내는 데 사용되는 것과 동일한 관계이므로이 장의 핵심은 시스템 F의 매개 변수 증명입니다.

AFAICT, PTS에 대한 파라 메트릭에 관한 연구는 관측 적 동등성과의 관계에 대해서는 논의하지 않았다. 사실, 관측 동등성을 정의하려면 종결이없는 경우가 아니라면 관측에 사용할 긍정적 인지면 유형 (자연, 부울)이 필요합니다.

그러나 두 관계를 연관시키는 핵심 정리 (PFPL 47.6, 48.3, 49.2)는 특정 언어와 독립적으로 입증됩니다.

관찰 동등성은 표현에 대한 가장 일관된 일치입니다.

논리적 동등성이 관측 적 동등성을 의미한다는 것을 보여주기 위해서는 논리적 동등성이 일관성있는 일치라는 것을 보여줄 필요가있다. 그러나 다른 방향에는 더 많은 작업이 필요합니다. 특히 논리적 동등성이 합치임을 보여주기 위해 상황에 대한 유도로 진행합니다.

n + 1 = 1 + nVecN nnVecNVecNn+1=1+nVec (n + 1)Vec (1 + n)n + 11 + n

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