Bidirectional Elaborators à la Carte
요약
본 논문은 증명 보조기(proof assistants)의 암시적인 표면 구문을 명시적인 핵심 구문으로 변환하는 '엘라보레이션' 알고리즘을 다룹니다. 저자들은 올바른 구축 원칙에 따라 의존적으로 타입화된 모나드 DSL을 제안하며, Martin-Löf 타입 이론을 위한 양방향 타입화 표면 언어를 임베딩하여 번역의 안정성을 확보했습니다.
핵심 포인트
- 증명 보조기의 암시적 구문 문제를 해결하는 엘라보레이션 알고리즘 연구.
- 올바른 구축 원칙 기반의 의존적으로 타입화된 모나드 DSL을 제안함.
- Martin-Löf 타입 이론에 대한 양방향 번역 시스템을 구현하여 안정성을 높임.
Rocq, Lean, Agda, Idris와 같은 증명 보조기(proof assistants)의 표면 구문(surface syntax)은 매우 암시적(implicit)이어서, 사용자가 작성한 코드가 정확하게 정의된 수학적 객체를 나타내는 데 필요한 많은 세부 사항이 부족합니다. 엘라보레이션(Elaboration)이란 이러한 세부 사항을 계산하여 표면 구문을 충분히 명시적인 핵심 구문(core syntax)으로 번역하는 알고리즘입니다. 엘라보레이션의 신뢰성과 예측 가능성은 판단적 동등성(judgemental equality)의 결정 가능성(decidability)과 타입 생성자(type constructors)의 단사성(injectivity)을 포함한 핵심 타입 시스템의 여러 중요한 속성에 의존합니다. 이러한 의존성은 명시적인 변환 검사(conversion checking) 및 약헤드 축소(weak-head reduction) 서브루틴에 대한 호출을 통해 구체적인 시스템에서 입증됩니다. 우리는 일반적인 정규형 표현이나 변환 검사 알고리즘으로부터 추상화된, 올바른 구축(correct-by-construction)의 엘라보레이션 알고리즘 실행 명세용으로 의존적으로 타입화된 모나드 도메인 특수 언어(dependently typed monadic domain specific language)를 소개합니다. 특히, 우리는 Martin-Löf 타입 이론을 위한 양방향으로 타입화된 표면 언어를 이 DSL에 얕게 임베딩(shallow embedding)하여, 표면 항(surface terms)을 핵심 항(core terms)으로의 번역이 기본적인 방정식 계산(elementary equational calculation)과 같아지도록 합니다. 이러한 번역은 불량하게 타입화된 항을 생성할 수 없다는 점에서 올바른 구축이며, 핵심 항의 판단적 동등성 하에서도 자동으로 안정적이고 심지어 치환(substitution) 하에서도 안정적입니다. 후자의 속성을 통해 우리는 엘라보레이션 문제의 중단(suspension)에 대한 새로운 표의적 해석(denotational interpretation)을 얻습니다. 마지막으로, Martin-Löf 타입 이론의 쌍초기 자연 모델(bi-initial natural model)로 구축된 DSL의 프리셰프 모델(presheaf model)로부터 대수적인 수단으로 구체적인 엘라보레이션 알고리즘이 추출됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기