【发布时间】:2012-09-14 22:13:45
【问题描述】:
在 Agda 中,forall 的类型是这样确定的,即以下所有的类型都是 Set1(其中 Set1 是 Set 的类型,A 的类型是 Set) :
Set → A
A → Set
Set → Set
但是,下面的类型为Set:
A → A
我知道如果Set 的类型为Set,就会产生矛盾,但我看不出,如果上述三个术语中的任何一个具有Set 的类型,我们就会产生矛盾。这些可以用来证明False吗?它们可以用来显示Set : Set吗?
【问题讨论】:
-
我想这更像是数学而不是编程。我认为这应该被张贴在那里?
-
是的。 math.stackexchange.com
-
等等,这怎么跑题了?对于 Agda 或 Coq,这是一个相当常见的问题,尽管它们经常用作证明助手,但它们是完全有效的编程语言。他的语法甚至反映了 Agda,并且帖子有一个 Agda 标签。当标签列出一种编程语言并且它是该语言的有效问题时,将问题关闭为不编程似乎相当严厉。
-
这是一个关于 编程语言 中的类型的完全合理的问题,该类型具有完全合理且定义明确的答案。这是一篇题外话的帖子?
-
"这是数学还是编程?" “是的。”
标签: types lambda-calculus agda