AFAIU types can be a Set whose elements are programs or a proposition whose elements are Proofs. So based on this understanding:
Inductive prod (X Y: Type) : Set :=
| pair: X -> Y -> prod X Y.
Following code should compile but it does not due to the following error. If I change Set with Type or the other Type with Set it compiles fine. Can someone help me understand what the following error means? I am trying to teach myself Coq using Software Foundations book.
Error:
Error: Large non-propositional inductive types must be in Type.