代码之家  ›  专栏  ›  技术社区  ›  user9335697

实例化参数以评估函数定义

coq
  •  1
  • user9335697  · 技术社区  · 8 年前

    我在写一首单曲 .v 我发现用如下参数和定义来定义事物很方便:

    Parameter n : nat.
    Definition n_plus_1 := n + 1.
    

    而不是 Definition n_plus_1 (n : nat) = n + 1.

    我的用例比这更复杂,但想法是一样的。虽然用参数定义事物帮助我编写了一些我感兴趣的证明,但有时我只想用实际值测试定义,以确保它们实际计算出我想要的结果。举个例子,我刚才写的例子,我做不到 Compute n_plus_1 3 。在某种意义上,我想实例化参数 n 。最好的方法是什么?

    1 回复  |  直到 8 年前
        1
  •  3
  •   ejgallego    8 年前

    最快的方法是使用 Section 机制[模块也可以工作]:

    Section With_N.
    Variable n : nat.
    Definition n_plus_1 := n + 1.
    End With_N.
    
    Compute (n_plus_1 3).