この記事の精神に基づいて、依存型のラムダ計算を実装しました。公理。ただし、より複雑なことを行うために誘導型を追加したいと考えています。
その方法は2つ考えています
- Fin-N、Product、および W-type を紹介し、それらで誘導型を表します。
- 帰納公理と再帰公理を生成します。
私はどちらの方法も好きではありません。最初のものはレベルが低すぎて、高級言語からコア言語に変換するのにかなりの労力が必要です。2 番目の方法は、複雑な帰納型の再帰原理の生成には多くのコーナー ケース (正/負の発生) があるため、非常に手間がかかり、エラーが発生しやすくなります。
これはどのように行うことができますか?タイプは、Coq、Agda、Idris などの既存のシステムでどのように実装されていますか?