如何找到定义值的文件?

时间:2018-04-27 18:27:10

标签: coq

当我处理Coq证明时,我经常想找到定义来自哪个文件。

E.g。我的目标包含list_norepet (map fst (PTree.elements ta)),我想找到定义list_norepet的文件。执行Print list_norepet.会显示许多有用的信息,但不会显示文件名。有没有办法让Coq打印出来?

1 个答案:

答案 0 :(得分:3)

您可以使用Locate获取完整的模块名称。通常这足以找到该文件,但您可以使用Locate File来尝试找到它:

Locate eq_rect.
(* Constant Coq.Init.Logic.eq_rect *)
Locate File "Init/Logic.v".
(* /Users/tchajed/code/sw/coq-master/theories/Init/Logic.v *)

我说“尝试找到它”,因为你需要知道重映射(使用-R)才能将模块路径转换为文件路径 - 例如,Coq的标准库位于{{1}但是映射到theories