“是什么意思?”|-&引用;在coq中,我如何找到其他似乎未记录的符号的定义?
coq中的“|-”是什么意思?它似乎用于可能引用术语或模式的地方,例如:“是什么意思?”|-&引用;在coq中,我如何找到其他似乎未记录的符号的定义?,coq,Coq,coq中的“|-”是什么意思?它似乎用于可能引用术语或模式的地方,例如: simpl in |- *. 或者,从Coq.Init.Tauto Local Ltac not_dep_intros := repeat match goal with | |- (forall (_: ?X1), ?X2) => intro | |- (Coq.Init.Logic.not _) => unfold Coq.Init.Logic.not at 1; intro end.
simpl in |- *.
或者,从Coq.Init.Tauto
Local Ltac not_dep_intros :=
repeat match goal with
| |- (forall (_: ?X1), ?X2) => intro
| |- (Coq.Init.Logic.not _) => unfold Coq.Init.Logic.not at 1; intro
end.
但是coq参考手册只说它是在前奏曲中加载的,可能写得太多了。而标准的图书馆文档却什么也没说。除此之外,诸如搜索、定位、检查、打印、展开等命令似乎也无法提供任何相关信息
“[=”和“**”更为神秘,因为我只知道存在,因为手册上说它们是在序曲中加载的。记录了
-
标记。其含义通常是将假设与目标分开,因为-
是的ASCII格式⊢因此,siml in*.-
表示“siml
在假设中”,而siml in*.-*
表示“siml
在目标中”,而siml in H*.-*
表示“siml
在H
中以及目标”。不幸的是,没有为siml
记录语法(我报告这是一个bug),但为重写
记录了语法
match goal
中的|-
的语法是有文档记录的,用于区分假设模式和目标模式
一般来说,找到策略的最佳位置是在,但我认为这些不是你所说的适当策略。我认为你正在考虑的是简介**
和简介[=H]
,这两种都是简介模式。请参阅。特别是:
[=intropattern*,]
-如果产品超过相等类型,则应用注入
或判别
。如果注入适用,则导入模式
用于注入
生成的假设。如果模式数量小于生成的假设数量,则模式
?用于完成列表。示例
**
-从结果中引入一个或多个量化变量或假设,直到没有更多量化变量或含义(->
)。简介**
等同于简介
。示例