什么是;“一些”;你的意思是coq?

什么是;“一些”;你的意思是coq?,coq,Coq,在coq中,关键字/命令“Some”是什么意思 此外,我如何查阅其定义?考虑到some这个词的流行性,使用coqsome实际上没有多大帮助some是选项的类型构造函数。您可以通过检查或打印来获取有关此类构造函数的一些信息,以获取它们的类型或它们的完整实现 编辑:什么是选项类型 这是Coq前奏曲中定义的类型(同样,使用检查或打印获取有关此类型的信息)。类型用于说明类型可选存在的事实:对于任何类型a,None:option a表示没有值,而某些a:option a表示有值(类型a) 下面是一个自然数

coq
中,关键字/命令“Some”是什么意思


此外,我如何查阅其定义?考虑到
some
这个词的流行性,使用
coqsome实际上没有多大帮助
some
选项的类型构造函数。您可以通过
检查
打印
来获取有关此类构造函数的一些信息,以获取它们的类型或它们的完整实现

编辑:什么是
选项
类型

这是Coq前奏曲中定义的类型(同样,使用
检查
打印
获取有关此类型的信息)。类型用于说明类型可选存在的事实:对于任何类型
a
None:option a
表示没有值,而
某些a:option a
表示有值(类型
a

下面是一个自然数前置的示例:

Definition myPred (n:nat) : option nat := match n with
  | S p => Some p
  | O => None
end.

在本例中,如果您尝试计算
O
的前置,您将得到
None
(没有这样的自然数)。否则,您会得到
一些p
,这样
sp=n

那么什么是
选项
类型?@JRR尝试打印并检查
选项
我已经阅读了选项的描述,但您如何知道它具有这种语义?到底是什么让你得出这样的结论?我很困惑,它实际上并没有返回前置函数,它返回了
Some 2
sya for
Some 3
,这似乎与你的描述不符……你能澄清一下吗?前置函数不是自然数上的一个全函数,因为0没有前置函数。因此,在这里,我选择使用
选项
类型使函数总计:对于0,我返回
。对于任何
sn
,我返回
Some n
。由
pred
的用户检查哪种情况是返回与
pred 0
本身的交易。密切相关: