首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ltac升级到Coq 8.5后不起作用

Ltac升级到Coq 8.5后不起作用
EN

Stack Overflow用户
提问于 2015-12-02 00:25:31
回答 1查看 99关注 0票数 1

我有以下Ltac (来自here),它以前在CoQ8.4pl6上工作,但它不在CoQ8.5beta 3上工作:

代码语言:javascript
复制
Ltac maybe_intro_sym A B :=
  match goal with
    |[H:B=A|-_] => fail 1
    |[H:A=B|-_] => assert (B=A) by auto
  end.

Ltac maybe_intro_sym_neg A B :=
  match goal with
    |[H:B<>A|-_] => fail 1
    |[H:A<>B|-_] => assert (B<>A) by auto
  end.

Ltac intro_sym :=
  repeat match goal with
    |[H:?A=?B|-_] => maybe_intro_sym A B
    |[H:?A<>?B|-_] => maybe_intro_sym_neg A B
end.

我收到一条错误消息说

代码语言:javascript
复制
Error: The reference B was not found
in the current environment.

我对Ltac还不太了解。有人能帮我解释一下怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-03 13:55:15

在CoQ8.5中,Arith定义了表示法=?。正因为如此,被解释为= ?B的东西现在被解释为=? B。在=?B之间添加一个空格就足够了。

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

https://stackoverflow.com/questions/34032817

复制
相关文章

相似问题

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