Ich habe mich gefragt, ob die Reihenfolge der induktiven Deklarationen von Bedeutung sein kann.
In Coq können Sie beispielsweise Folgendes definieren Nat
:
Inductive Nat :=
| O : Nat
| S : Nat -> Nat.
oder
Inductive Nat :=
| S : Nat -> Nat
| O : Nat.
Dies wird möglicherweise die Reihenfolge der Parameter im automatisch generierten Eliminator ändern, aber das ist keine große Sache.
Ich frage mich, ob es möglich ist, eine Erklärung wie zu schreiben
Inductive typewhereordermatters :=
| cons1 : type1
| cons2 : type2.
Wo type2
ist ein abhängiger Typ, abhängig von cons1
? (und in diesem Fall hätte das Schreiben der Erklärungen in der anderen Reihenfolge keine Bedeutung, da type2
sich darauf beziehen würde, cons1
welche noch nicht existiert).