在 Coq 8.5pl1 中优化和 @ (at) 符号

Refine and @ (at) symbol in Coq 8.5pl1

在以前版本的 Coq 中,在 refine 命令中使用符号 @ 允许我逐步创建证明。 (每个参数都是一个单独的目标。)

我想避免像“?Goal0 ?Goal1”这样的隐式参数。而现在我不能。 我应该怎么做才能获得这种可能性?

(这对我来说很不舒服,尤其是当我试图处理递归函数时。)

您正在寻找 simple refine.

在 8.5 中,可以通过统一(所谓的隐式)解决的目标被放在 "shelve" 隐藏区域中,因为它们被认为是微不足道的。您可以使用 Unshelve 取消搁置它们,但它有点不方便,因为它是一个白话命令。

simple refine 的行为与 8.4 相同,不会搁置任何内容。