我无法理解multiple successes
Coq (8.5p1, ch9.2) 中的分支和回溯行为的概念。例如,从文档中:
回溯分支
我们可以使用以下结构进行分支:
expr1 + expr2
战术可以被看作是有几个成功的。当一个策略失败时,它要求先前策略的更多成功。expr1 + expr2 具有 v1 的所有成功,然后是 v2 的所有成功。
我不明白的是,为什么我们首先需要多次成功?一次成功还不足以完成证明吗?
同样从文档中,似乎有一些成本较低的分支规则以某种方式“有偏见”,包括
first [ expr1 | ::: | exprn ]
和
expr1 || expr2
为什么我们需要更昂贵的选择+
而不总是使用后者更有效的战术?