Core Concepts
이 논문에서는 리안 정리 증명기를 위한 새로운 "외부 검증기"를 제시한다. 이는 리안 4의 첫 번째 완전한 검증기이며, C++ 참조 구현보다 20-50% 느리지만 리안의 전체 mathlib 라이브러리를 검증할 수 있다. 또한 이 검증기는 리안 자체로 작성되어 있어 검증기 자체에 대한 formal 검증이 가능하다. 이를 통해 구현 오류로 인한 불건전성을 제거하고 리안 정리 증명기의 신뢰성을 높이고자 한다.
Abstract
이 논문은 리안 정리 증명기를 위한 새로운 "외부 검증기"를 소개한다. 이 검증기는 리안 4의 첫 번째 완전한 검증기로, C++ 참조 구현보다 20-50% 느리지만 리안의 전체 mathlib 라이브러리를 검증할 수 있다.
검증기는 리안 자체로 작성되어 있어 검증기 자체에 대한 formal 검증이 가능하다. 이를 통해 구현 오류로 인한 불건전성을 제거하고 리안 정리 증명기의 신뢰성을 높이고자 한다.
논문의 주요 내용은 다음과 같다:
타이핑 판단 관계 Γ ⊢e ≡e' : α를 정의하고, 이에 대한 기본 성질들을 증명한다.
실제 리안 커널에서 사용되는 Expr 타입과 이 논문에서 정의한 VExpr 타입 간의 관계를 정의한다.
리안 커널의 타입 추론기 구현을 설명하고, 이를 검증하기 위한 방법을 제시한다.
리안의 전역 환경(Environment)을 모델링하고, 이를 통해 상수 선언과 정의적 등가성 확장을 다룬다.
리안의 귀납 타입 처리 방식을 설명하고, 구조체에 대한 η-규칙 처리를 다룬다.
구현된 검증기의 성능 결과를 제시한다.
이 프로젝트와 MetaCoq 프로젝트를 비교한다.
Stats
리안 4 검증기는 C++ 참조 구현보다 20-50% 느리다.
리안 4 검증기는 리안의 전체 mathlib 라이브러리를 검증할 수 있다.
Quotes
"이는 리안 4의 첫 번째 완전한 검증기이며, C++ 참조 구현보다 20-50% 느리지만 리안의 전체 mathlib 라이브러리를 검증할 수 있다."
"또한 이 검증기는 리안 자체로 작성되어 있어 검증기 자체에 대한 formal 검증이 가능하다."