【发布时间】:2015-07-17 13:11:38
【问题描述】:
coq 中的关键字/命令“Some”是什么意思?
此外,我如何查看它的定义?考虑到some 这个词的流行度,使用coq some 并没有太大帮助。
【问题讨论】:
标签: coq
coq 中的关键字/命令“Some”是什么意思?
此外,我如何查看它的定义?考虑到some 这个词的流行度,使用coq some 并没有太大帮助。
【问题讨论】:
标签: coq
Some 是option 类型的类型构造函数。您可以通过Checking 或Printing 获取有关此类构造函数的一些信息,以获取它们的类型或完整实现。
编辑:option 类型是什么。
它是 Coq 前奏中定义的类型(同样,使用 Check 或 Print 获取有关此类型的信息)。该类型用于陈述关于可选存在类型的事实:对于任何类型A,None : option A 表示没有值,Some A: option A 表示存在值(类型为A)。
这是一个自然数前身的例子:
Definition myPred (n:nat) : option nat := match n with
| S p => Some p
| O => None
end.
在本例中,如果您尝试计算O 的前任,您将得到None(没有这样的自然数)。否则,你会得到Some p 这样S p = n。
【讨论】:
option是什么类型?
option
Some 2 sya for Some 3 这似乎与您的描述不符...您能澄清一下吗?
option 类型来使函数总计:对于0,我返回None。对于任何S n,我返回Some n。由pred 的用户来检查哪种情况是返回与pred 0 本身的交易。