在很多Coq代码中,比如标准库中的the definition of sets,我已经看到了这种符号:
red in |- *.
|-*
(bar-hyphen-star)是什么意思?
我的搜索没有显示任何结果,但搜索标点符号很难,所以请原谅我这是否重复!
答案 0 :(得分:3)
它被称为出现条款和
出现条款的作用是选择目标中一组术语的出现次数。
我在上面的引文中添加了“应用策略”(Coq参考手册,sect. 8.1.4)。
然后手册继续以下内容:
如果在
*
的右侧提及|-
,则必须选择目标结束的出现次数。
让我们看一些简单的案例:
<tactic> in * |-.
将<tactic>
应用于每个假设,但不适用于当前目标。
<tactic> in H1, H2 |- *.
仅将<tactic>
应用于假设H1
和H2
以及目标。
<tactic> in * |- *.
在任何地方都适用<tactic>
。此案例还有一个快捷方式:<tactic> in *
。
对于许多策略<tactic> in |- *.
仅相当于<tactic>
。例如,如果从链接文件中删除所有出现的in |- *
,它仍然会编译。