当我处理Coq证明时,我经常想找到定义来自哪个文件。
E.g。我的目标包含list_norepet (map fst (PTree.elements ta))
,我想找到定义list_norepet
的文件。执行Print list_norepet.
会显示许多有用的信息,但不会显示文件名。有没有办法让Coq打印出来?
答案 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
。