Namun, saya lebih tertarik pada teori tipe sebagai dasar untuk matematika daripada sebagai dasar untuk bahasa pemrograman, haruskah saya memperhatikan subtyping?
Satu hal tambahan yang subtyping berikan kepada Anda adalah bahwa subsumsi menyiratkan bahwa banyak sifat koherensi bertahan. Teori tipe dependen juga membutuhkan gagasan bukti tidak relevan untuk memodelkan semua yang dapat Anda lakukan dengan subtipe. Misalnya, dalam teori tipe dependen Anda dapat memperkirakan membentuk subset dengan catatan dependen:
{x∈S|;P(x)} vs. Σx:S.P(x)
Namun, perhatikan bahwa kardinalitas himpunan bagian akan lebih kecil dari , sedangkan catatan dependen dapat memiliki kardinalitas yang lebih besar (karena mungkin ada banyak kemungkinan bukti untuk setiap .P ( x ) x :SP(x)x:
Untuk mewakili subtyping (yang mengatakan bahwa jika , dan maka ), Anda perlu menjadi tidak relevan - yaitu, agar ada paling banyak satu penghuni ketik .x : X x : Y P ( x ) P ( x )X<:Yx:Xx:YP(x)P(x)
Setelah Anda memilikinya, Anda dapat menguraikan subtyping secara sistematis menjadi teori tipe dependen. Lihat tesis William Lovas untuk contoh menambahkan subtyping ke teori tipe dependen (dalam hal ini, Twelf).