"red in |- *" 的用法: bar hyphen star 是什么意思?

Usage of "red in |- *": What does bar hyphen star mean?

在很多 Coq 代码中,比如标准库中的 the definition of sets,我见过这种符号:

 red in |- *.

|-*(横线-连字符-星号)是什么意思?

我的搜索没有找到任何结果,但标点符号很难搜索,如果重复,请原谅!

它被称为 出现条款

The role of an occurrence clause is to select a set of occurrences of a term in a goal.

我会在上面的引用中添加 "to which the tactic is going to be applied"(Coq 参考手册,sect. 8.1.4)。

然后手册进行以下操作:

if * is mentioned on the right of |-, the occurrences of the conclusion of the goal have to be selected.

我们来看一些简单的案例:

  • <tactic> in * |-.<tactic> 应用于每个假设,但不应用于当前目标。

  • <tactic> in H1, H2 |- *.仅适用于<tactic>假设H1H2目标。

  • <tactic> in * |- *. 在任何地方都适用 <tactic>。这种情况还有一个快捷方式:<tactic> in *.

对于许多战术来说,<tactic> in |- *. 等同于 <tactic>。例如,如果您从链接文件中删除所有出现的 in |- *,它仍会编译。