대부분의 종속 유형 시스템에는 유도 유형에 대한 엄격한 양성 조건이 있습니다. 조건을 위반하면 시스템에서 불일치가 발생하는 예를 아는 사람이 있습니까?
대부분의 종속 유형 시스템에는 유도 유형에 대한 엄격한 양성 조건이 있습니다. 조건을 위반하면 시스템에서 불일치가 발생하는 예를 아는 사람이 있습니까?
답변:
엄격한 양성을 완화하고 일관성을 유지하는 것이 실제로 가능합니다. 예를 들어, 양성 조건 만 있으면 충분합니다. 즉, 다음과 같은 유형 정의를 받아 들일 수 있습니다
여기서 재귀 유형 변수는 짝수 개의 화살표 왼쪽에 나타나고 일관성을 유지합니다.
그러나 이러한 종류의 귀납적 유형을 허용하는 이론에는 집합 이론적 모델이 없습니다. 유형을 집합으로 정의하고 용어를 집합의 요소로 해석 할 수 없습니다. 이 경우에 우리는 이중 전원에 대해 동형입니다 (즉, ), 이는 캔터의 정리에 위배 됩니다.
종속 유형 이론은 종종 수학을 공식화하는 데 사용되기 때문에 설계자는 일관된 경우에도 이론 이론적 의미론과 호환되지 않는 원칙을 추가하는 것을 주저합니다.
편집 : Andrej의 질문에 대한 응답 으로이 편집을 추가하고 있습니다. 유형 Agda에 추가하면 일관성 이 있습니다. 전혀 문제가 없습니다. 엄격하지 않은 양성과 배제 된 중간을 결합하는 경우에만 문제가 있습니다.
왜 안전한지에 대한 직관은 파라 메트릭 렌즈를 통해 가장 잘 보입니다. 시스템 F에서는 정의 가능한 펑터에 대해 파라 메트릭을 사용하여 표시 할 수 있습니다., 유형 실제로 유도 형입니다.
이제 정의 할 수있는 functor 유형 연산자입니다 연산자와 함께
이제 더블 파워 셋의 타입 연산자를 정의 할 수 있습니다
때문에 긍정적으로 만 발생하며 이에 대한지도 연산자를 정의 할 수도 있습니다.
그래서 우리는 그것을 알고 합법적 인 유도 형입니다.