왜 무한 유형 계층 구조입니까?


18

Coq, Agda 및 Idris는 무한 유형 계층 구조를 갖습니다 (유형 1 : 유형 2 : 유형 3 : ...). 그러나 λC, λC와 같은 구조의 계산법에 가장 가까운 람다 큐브의 시스템 인 λC와 같은 두 가지 유형, 및 과이 규칙은 어떻습니까?

:

ΓT1:s1Γ,x:T1t:T2Γ(λx:T1,t):(Πx:T1,T2)

ΓT1:s1Γ,x:T1T2:s2Γ(Πx:T1,T2):s2

이것은 더 단순 해 보인다. 이 시스템에는 중요한 제한이 있습니까?

답변:


19

실제로 CoC의 접근 방식은보다 표현력이 뛰어나며 임의의 즉석 정량화를 허용합니다. 예를 들어, a.aa 얻을 자체를 인스턴스화 할 수 있습니다 (a.aa)(a.aa) 우주 계층 불가능합니다.

널리 사용되지 않는 이유는 즉석 정량화가 고전적인 논리와 호환되지 않기 때문입니다. 만약 당신이 그것을 가지고 있다면, 당신은 타입이 순진한 방식으로 세트로 해석되는 타입 이론의 모델을 줄 수 없습니다 --- John Reynolds의 유명한 논문 Polymorphism is Set-theoretic 참조 .

많은 사람들이 일반적인 수학 증거를 기계 검사하는 방법으로 유형 이론을 사용하기를 원하기 때문에 일반적으로 일반적인 기초와 호환되지 않는 유형 이론적 특징에 대해서는 열의가 없습니다. 실제로, Coq는 원래 불확실성을 지원했지만 꾸준히 포기했습니다.


9

나는 레벨이 실제로 사용되는 이유에 대해 조금 더 설명하면서 Neel의 답변을 평소와 같이 칭찬합니다.

CoC의 첫 번째 중요한 한계는 사소한 것입니다! 놀랍게도 한 가지 이상의 요소가 있음증명할 수있는 유형이없고 , 그 수가 무한대라는 것을 알 수 있습니다. 2 개의 유니버스를 추가하면 무한히 많은 요소와 모든 "단순한"데이터 유형이있는 자연수를 얻을 수 있습니다.

두 번째 제한은 계산 규칙입니다. CoC는 반복 만 지원합니다 . 즉, recusive 함수는 인수의 하위 용어에 액세스 할 수 없습니다. 이러한 이유로, 유도 성 유형을 기본 구성으로 추가하는 것이 더 편리하여 CIC를 발생시킵니다. 그러나 이제 또 다른 문제가 발생합니다. 가장 자연스러운 유도 규칙 ( 이 문맥에서 제거 라고 함 )은 제외 된 중간과 일치하지 않습니다! 유도 규칙을 유니버스가있는 예측 유형으로 제한하면 이러한 문제가 나타나지 않습니다.

결론적으로 CoC는 기본 시스템에서 원하는 표현력과 견고성에 일관성이 없습니다. 유니버스를 추가하면 이러한 많은 문제가 해결됩니다.


첫 번째 제한에 대한 참고 자료가 있습니까? 그렇지 않다면, 두 번째 우주가 어떻게 (제안? 메타?) 불평등을 증명하는 데 도움이되는 힌트를 줄 수 있습니까?
카슈 류

@ ŁukaszLew 실제로 "관련성이없는"모델의 간단한 결과이며, 다소 쉽게 구글 검색 할 수 있습니다. 해당 모델에서 유형은 둘 이상의 요소를 갖지 않습니다. 2 개의 유니버스가 있으면 해당 모델이 존재하지 않습니다. Alexandre Miquel의 논문은 2 개의 유니버스를 가진 무한한 수의 요소가있는 유형에 대한 참조를 제공합니다.
코디
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.