Zastanawiałem się, czy kolejność deklaracji typu indukcyjnego może mieć znaczenie.
Na przykład w Coq możesz zdefiniować Nat:
Inductive Nat :=
| O : Nat
| S : Nat -> Nat.
lub
Inductive Nat :=
| S : Nat -> Nat
| O : Nat.
Być może zmieni to kolejność parametrów w automatycznie generowanym eliminatorze, ale to nie jest wielka sprawa.
Zastanawiam się, czy można napisać taką deklarację
Inductive typewhereordermatters :=
| cons1 : type1
| cons2 : type2.
gdzie type2jest zależny typ, w zależności od cons1? (w tym przypadku napisanie deklaracji w innej kolejności nie miałoby żadnego znaczenia, ponieważ type2odnosi się do cons1tego, o czym jeszcze nie ma).