Saya bertanya-tanya apakah urutan deklarasi tipe induktif dapat berpengaruh.
Misalnya dalam Coq, Anda dapat menentukan Nat
dengan:
Inductive Nat :=
| O : Nat
| S : Nat -> Nat.
atau
Inductive Nat :=
| S : Nat -> Nat
| O : Nat.
Ini mungkin akan mengubah urutan parameter dalam eliminator yang dibuat secara otomatis, tapi itu bukan masalah besar.
Yang saya ingin tahu adalah apakah mungkin untuk menulis pernyataan seperti
Inductive typewhereordermatters :=
| cons1 : type1
| cons2 : type2.
di mana type2
tipe dependen, tergantung pada cons1
? (dan dalam hal ini, tulis deklarasi dalam urutan lain tidak akan memiliki arti, karena type2
akan merujuk pada cons1
yang belum ada).