Coq 实例化参数以评估函数定义
我正在处理一个Coq 实例化参数以评估函数定义,coq,Coq,我正在处理一个.v文件,我发现用如下参数和定义来定义东西很方便: Parameter n : nat. Definition n_plus_1 := n + 1. 而不是定义n加1(n:nat)=n+1。 我的用例比这更复杂,但想法是一样的。虽然用参数定义东西帮助我写了一些我感兴趣的证明,但有时我只想用实际值测试定义,以确保它们实际计算出我想要的结果。例如,对于我刚刚编写的示例,我无法计算n\u加上3。在某种意义上,我想实例化参数n。最好的方法是什么?最快的方法是使用部分机制[模块也可以工作]
.v
文件,我发现用如下参数和定义来定义东西很方便:
Parameter n : nat.
Definition n_plus_1 := n + 1.
而不是定义n加1(n:nat)=n+1。
我的用例比这更复杂,但想法是一样的。虽然用参数定义东西帮助我写了一些我感兴趣的证明,但有时我只想用实际值测试定义,以确保它们实际计算出我想要的结果。例如,对于我刚刚编写的示例,我无法
计算n\u加上3
。在某种意义上,我想实例化参数n
。最好的方法是什么?最快的方法是使用部分
机制[模块也可以工作]:
Section With_N.
Variable n : nat.
Definition n_plus_1 := n + 1.
End With_N.
Compute (n_plus_1 3).
我不知道模块。我试着用模块来做,但在这里卡住了:
模块类型Sig。参数n:nat。定义n加1:=n+1。结束信号。模块持续时间