AFAIU类型可以是Set
其元素为程序或其proposition
元素为证明的类型。因此,基于这种理解:
Inductive prod (X Y: Type) : Set :=
| pair: X -> Y -> prod X Y.
以下代码应编译,但不是由于以下错误。如果我Set
用Type
或Type
与Set
它一起更改,则可以正常编译。有人可以帮助我了解以下错误的含义吗?我正在尝试使用Software Foundations书籍自学Coq。
错误:
Error: Large non-propositional inductive types must be in Type.
2
定理证明一直是CS.SE的一个灰色领域,但是我猜想这是mod迁移到StackOverflow的不错选择。
—
jmite
@jmite鉴于这个问题是关于以Coq充当具体语法的构造演算的,所以我认为这是话题。
—
吉尔(Gilles)'“ SO-别再作恶了”