Typami AFAIU może być element, Set
którego elementami są programy, lub proposition
którego elementami są dowody. Opierając się na tym zrozumieniu:
Inductive prod (X Y: Type) : Set :=
| pair: X -> Y -> prod X Y.
Poniższy kod powinien się skompilować, ale nie wynika to z następującego błędu. Jeśli zmienię Set
z tym Type
lub innym Type
z Set
nim kompiluje się dobrze. Czy ktoś może mi pomóc zrozumieć, co oznacza następujący błąd? Staram się nauczyć Coq za pomocą książki Software Foundations.
Błąd:
Error: Large non-propositional inductive types must be in Type.