如何初始化空提示数据库

How to initialize empty hint database

我有几个遵循相同结构的证明。其中第一个可以用 trivial 完成,所有其他的用 auto with foo_db 完成,其中 foo_db 是一个提示数据库,在第一个证明完成后填充了提示。我想编写一个使用 auto with foo_db 来解决所有这些证明的 Ltac 过程。然而,当 运行 解决我的第一个证明 foo_db 的 Ltac 还不存在时,所以 Coq 抱怨:Error: No such Hint database: foo_db.。有没有办法初始化一个空的提示数据库?

是的,有一个命令 Create HintDb 可以完全满足您的需求。

Create HintDb foo_db.

Goal True.
  auto with foo_db nocore. (* no hints *)
  exact I.
Qed.

出于演示目的(避免解决目标),我还添加了伪数据库 nocore 以避免使用标准库的提示。您可能只想做 auto with foo_db,以解决 trivial 本来可以解决的所有目标。