유도 유형에서 엄격한 양성 조건을 위반하는 경우 불일치가 발생하는 예


답변:


10

엄격한 양성을 완화하고 일관성을 유지하는 것이 실제로 가능합니다. 예를 들어, 양성 조건 만 있으면 충분합니다. 즉, 다음과 같은 유형 정의를 받아 들일 수 있습니다

Tμα.(α2)2

여기서 재귀 유형 변수는 짝수 개의 화살표 왼쪽에 나타나고 일관성을 유지합니다.

그러나 이러한 종류의 귀납적 유형을 허용하는 이론에는 집합 이론적 모델이 없습니다. 유형을 집합으로 정의하고 용어를 집합의 요소로 해석 할 수 없습니다. 이 경우에 우리는T 이중 전원에 대해 동형입니다 (즉, TP(P(T))), 이는 캔터의 정리에 위배 됩니다.

종속 유형 이론은 종종 수학을 공식화하는 데 사용되기 때문에 설계자는 일관된 경우에도 이론 이론적 의미론과 호환되지 않는 원칙을 추가하는 것을 주저합니다.

편집 : Andrej의 질문에 대한 응답 으로이 편집을 추가하고 있습니다. 유형T Agda에 추가하면 일관성 이 있습니다. 전혀 문제가 없습니다. 엄격하지 않은 양성과 배제 된 중간을 결합하는 경우에만 문제가 있습니다.

왜 안전한지에 대한 직관은 파라 메트릭 렌즈를 통해 가장 잘 보입니다. 시스템 F에서는 정의 가능한 펑터에 대해 파라 메트릭을 사용하여 표시 할 수 있습니다.F, 유형 μFα.(Fαα)α 실제로 유도 형입니다.

이제 정의 할 수있는 functor F 유형 연산자입니다 F:연산자와 함께

map:α,β.(αβ)FαFβ
기능 조건을 만족시키는 것 (즉, mapid=idmapfmapg=map(fg).

이제 더블 파워 셋의 타입 연산자를 정의 할 수 있습니다

C=λα.(α2)2

때문에 α 긍정적으로 만 발생하며 이에 대한지도 연산자를 정의 할 수도 있습니다.

mapC=λf:αβ,a:(α2)2,k:β2.a(λa:α.k(fa))

그래서 우리는 그것을 알고 T=μC 합법적 인 유도 형입니다.


불일치를 만드는 예를 생각해 낼 수 있습니까? 중간을 배제한다고 가정하면 예가 일치하지 않습니다.
Andrej Bauer

또 다른 이유는 FAN 정리를 Agda에 추가 할 수 있기 때문에 문제의 유형이 자연수 (동형)임을 증명할 수 있다는 것입니다.
Andrej Bauer

내가 생각하고 μα.(α2)α꽤 나쁘다.
Andrej Bauer

1
아, 나는 그 질문을 오해했다. 요점은 엄격한 양성이 충분하지만 필요한 조건은 아니라는 것이다. 실제 결과가 부정확 한 예가 일치하지 않습니다.
Neel Krishnaswami

네, 방금 깨달았습니다. 내 예에는 물이 들어 있지 않습니다.
Andrej Bauer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.