我正在阅读第 7 章——“精益中的定理证明”的归纳类型。
我想知道如何以更扩展或“原始”的形式编写依赖非依赖产品的定义。
看起来教程中给出的定义会自动推断出一些细节:
inductive prod1 (α : Type u) (β : Type v) | mk : α → β → prod1一些实验允许填写细节
inductive prod2 (α : Type u) (β : Type v) : Type (max u v) | mk : α → β → prod2但是以完全扩展的形式给出定义,使用 Pi 类型无法进行类型检查:
inductive prod3 : Π (α : Type u) (β : Type v), Type (max u v) | mk : α → β → prod3
正确的书写方式是prod3什么?
最后,下面的定义是否等同于prod1and prod2,即类型检查器是否总能推断出αand的正确类型全域β?
inductive prod4 (α : Type) (β : Type) | mk : α → β → prod4