首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于实例化的Ltac位置参数

用于实例化的Ltac位置参数
EN

Stack Overflow用户
提问于 2018-12-04 16:12:48
回答 1查看 92关注 0票数 1

策略instantiate可以将identnum作为:

代码语言:javascript
复制
instantiate (ident:= term)

instantiate (num := term)

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

代码语言:javascript
复制
  Ltac my_instantiate n x:=
    instantiate(n:=x).

不幸的是,这会产生以下错误:

Ltac变量n被绑定到1,这不能强制到一个新的标识符。

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

下面是一个很小的例子:

代码语言:javascript
复制
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. *)

注意:我知道不鼓励按位置实例化,但我只是为了探索的目的而使用我的策略。

EN

回答 1

Stack Overflow用户

发布于 2018-12-05 09:27:49

也许你想要的东西可以用一种战术符号来表达?

参考手册-战术符号

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53617109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档