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


답변:


10

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

T≜μα.(α→2)→2

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

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

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

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

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

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

map:∀α,β.(α→β)→Fα→Fβ
기능 조건을 만족시키는 것 (즉, mapid=id 과 mapf∘mapg=map(f∘g).

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

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.