나는 최근 에 자체 용어에 대한 수학적 이론을 입증 할 수있는 미니멀리스트 프로그래밍 언어 인 Aaron 's Cedille-Core 를 구현하려고 시도했다 . 또한 λ로 인코딩 된 데이터 유형에 대한 유도가 입증되었으므로 확장이 필요한 이유가 더 명확 해졌습니다.
더 적은 부분에서, 나는 여전히 그 확장이 어디에서 왔는지 궁금합니다. 왜 그들이 무엇입니까? 무엇이 그들을 정당화합니까? 예를 들어, 재귀와 같은 일부 확장은 언어를 증명 시스템으로 망칩니다. 다른 프리미티브로 CoC를 확장하기로 결정한 경우 어떻게 정당화 할 수 있습니까? 나는 정규화의 증거가 필요하다는 것을 이해하지만, 그러한 기본 요소들이 "이해된다"는 것을 증명하지는 못한다.
간단히 말해서, 언어 (및 유형 시스템)를 자체 용어에 대한 이론을 입증 할 수있는 시스템으로 규정하는 것은 무엇입니까?
이 질문과 관련된 블로그를 읽었지만 지금 찾을 수 없습니다. ( "System T is enough!"라는 문장이나 이와 유사한 내용이 포함되어 있으며 종속 형식 시스템에 대해 이야기했습니다.
—
Labbekak
그것을 찾았습니다 : queuea9.wordpress.com/2010/01/17/… 그것은 실제로 Aaron Stump에 의해 작성되었으므로 이미 알고있을 것입니다.
—
Labbekak
보호되지 않은 재귀는 언어를 증거 시스템으로 "파괴"하지만 보호 된 재귀는 그렇지 않습니다. 프리미티브가 의미가 있음을 증명하기 위해 모델을 작성한다고 말하고 싶습니다. 그리고 그 자체의 용어에 대한 이론을 증명하기 위해서는 여러분이 증명하는 것들이 당신의 용어에 대해 이야기 할 수 있도록 일종의 카레 – 하워드 동형이 필요하고 의존적 인 유형이 필요합니다.
—
xavierm02