繁体   English   中英

为什么这不是agda中依赖函数类型的有效定义?

[英]Why is this not a valid definition of dependent function types in agda?

我正在看一个演讲,讲师说这是不可能的,或者至少很难在Agda中定义Pi类型。 但是我坚信必须有一种方法。 给定Universe中的类型和从该类型到Universe的族,则从该类型到族中某个类型的任何函数都将是Pi类型。 所以我认为使用lambda会很有意义:

data Pi (A : Set) (B : A -> Set) : Set where
  \ (a : A) -> (b : B a) : Pi A B

当我尝试加载此文件时,它给了我一个解析错误。 我不确定为什么,也许不希望\\成为类型构造函数,但是将lambda视为函数类型的类型构造函数有点有意义。 请注意,我在Emacs中为Agda使用了乳胶功能,但是我不认为我可以在堆栈溢出中编写乳胶。 话虽如此,我尝试用大写的lambda替换小写的lambda,以查看它是否需要唯一的类型构造函数,但无济于事。

修正错字后,您可以使用大写lambda : Pi AB ,即

data Pi (A : Set) (B : A -> Set) : Set where
  Λ : ((a : A) -> B a) -> Pi A B

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM