타입에 더 많은 정보 담기
일반적인 타입은 값의 종류를 알려 주지만 의존 타입은 길이나 크기 같은 정보도 담을 수 있다. 이를 통해 어떤 연산의 입력과 결과가 맞아야 하는 관계를 표현한다. 타입 검사에서 확인할 수 있는 조건은 작성한 타입 정의에 달려 있다.
프로그램과 논리의 연결
명제를 타입으로 표현하고 그 타입의 값을 구성하는 방식으로 증명을 작성할 수 있다. 이 접근에서 계산과 증명은 연결된다. 다만 원하는 성질을 타입으로 정확히 표현하는 과정과 그 성질을 만족하는 프로그램을 만드는 과정이 모두 필요하다.
검사 조건과 가정
종료성과 정의의 완전성은 증명 용도로 사용할 때 중요한 조건이다. 언어에서 허용하는 예외적 설정이나 추가 가정을 사용했다면 그 영향을 함께 살펴야 한다. 표준 라이브러리와 언어 구현도 별도로 배포되므로 버전 호환성을 확인한다.
관련 문서
Idris 2 / Fstar / Lean 증명 도구 / HOL4