을 고려하면:
- 표현력이 매우 높은 시스템 (예 : Idris )을 사용 하는 언어에는 외부 기능 인터페이스 / 안전하지 않은 PerformanceIO와 같은 이스케이프 메커니즘이있을 수 있습니다.
- 이러한 속성을 표현할 수있는 형식 시스템이없는 언어로 작성된 프로그램의 일부 속성을 증명하는 데 사용할 수있는 증거 도우미가 있습니다.
- Curry–Howard 서신은 주어진 유형을 가진 함수의 형식 확인이 성공적으로 구현 된 것이 해당 유형으로 표현 된 내용의 증거라는 것을 보여줍니다.
모국어의 타입 시스템에서 외국어 코드의 일부 속성에 대한 사소한 증거를 표현할 수 있습니까?
예를 들어, 이미 동일한 요소의 순서를 유지하면서 굉장히 영리하고 효율적인 방식으로 숫자를 정렬하는 stable_qsort라는 C 함수와 FFI를 통해 steady_qsort를 호출하는 Idris 프로그램을 가지고 있지만 상대적으로 모호하지는 않습니다. C 기능. 함수가 별도의 증명 도우미를 사용하는 대신 Idris 코드에서 모든 입력에 대해 동일한 요소의 순서를 바꾸지 않는다는 것을 증명할 수 있습니까?