AFAIU-Typen können a sein, Set
deren Elemente Programme sind oder proposition
deren Elemente Proofs sind. Basierend auf diesem Verständnis:
Inductive prod (X Y: Type) : Set :=
| pair: X -> Y -> prod X Y.
Der folgende Code sollte kompiliert werden, dies ist jedoch aufgrund des folgenden Fehlers nicht der Fall. Wenn ich ändern Set
mit Type
oder die andere Type
mit Set
kompiliert in Ordnung. Kann mir jemand helfen zu verstehen, was der folgende Fehler bedeutet? Ich versuche, mir Coq mithilfe des Software Foundations-Buches beizubringen.
Error:
Error: Large non-propositional inductive types must be in Type.