Saya relatif baru mengetik teori dan pemrograman dependen. Saya telah mempelajari kalkulus konstruksi (CoC) dan sistem tipe murni lainnya. Saya sangat tertarik menggunakannya sebagai representasi perantara untuk sistem kompiler.
Saya mengerti bahwa (co-) tipe rekursif dapat diwakili , secara komputasi , menggunakan sebagai satu-satunya tipe konstruktor. Saya telah membaca, bahwa mereka tidak dapat digunakan untuk membangun bukti dengan induksi (maafkan saya, saya tidak dapat menemukan di mana sekarang!), Misalnya, bahwa saya tidak dapat membuktikan bahwa di CoC biasa (walaupun dapat diketik dengan ).
Saya berasumsi inilah sebabnya mereka membangun kalkulus konstruksi induktif (CIC). Apakah ini benar? Tapi kenapa? Saya tidak dapat menemukan bahan yang menjelaskan mengapa bukti tersebut tidak dapat diwakili tanpa menggunakan (co) tipe induktif sebagai primitif. Jika ini tidak benar, lalu mengapa menambahkannya sebagai primitif di CIC?
sumber