实例的LTAC position参数

时间:2018-12-04 16:12:49

标签: coq coq-tactic

策略instantiate可以采用identnum作为:

instantiate (ident:= term)

instantiate (num := term)

现在,我想在战术定义中使用第二个。例如:

  Ltac my_instantiate n x:=
    instantiate(n:=x).

不幸的是,这给出了以下错误:

  

Ltac变量n绑定到1,该变量不能强制为新变量   标识符。

我怀疑ltac正在尝试使用instantiate的首次使用。如何告诉coq按位置实例化,或者如何正确传递argumetn?


这是一个最小的示例:

Ltac my_instantiate n x:=
  instantiate(n:=x).
Goal exists x, x = 2.
  eexists.
  my_instantiate 1 2.
  (* Fails with: Ltac variable n is bound to 1 which 
     cannot be coerced to a fresh identifier. *)

注意:我知道不建议按位置实例化,但是我只是出于探索目的而使用战术。

1 个答案:

答案 0 :(得分:0)

也许您要寻找的东西可以用战术记号表示?

reference manual - tactic notations