标签: module coq
我想将模块导入为
Require Import Foo.Bar.
鉴于我在目录Bar.v内有一个文件Foo。
Bar.v
Foo
我目前正在编译此模块:
$ coqc Foo/Bar.v
当我尝试Require Import Foo.Bar.时,我收到此错误:
Error: The file Foo/Bar.vo contains library Bar and not library Foo.Bar
答案 0 :(得分:1)
您可以使用-R选项执行此操作。使用coqc -R Foo Foo Foo/Bar.v编译您的文件。 -R标志有两个选项:(1)要添加到包含路径的目录,以及(2)要在模块命名空间中输入的名称。
-R
coqc -R Foo Foo Foo/Bar.v
稍后,如果您有其他文件Baz.v使用Foo.Bar,请使用coqc -R Foo Foo Baz.v进行编译。
Baz.v
Foo.Bar
coqc -R Foo Foo Baz.v
如果你有一个包含许多子目录的大项目,你可以使用coq_makefile,你也可以使用顶层中的-R来使所有子目录的名称保持一致。请查看我们项目的Makefile上的相应coq_makefile source。
coq_makefile