首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不加载库打印Coq定义

不加载库打印Coq定义
EN

Stack Overflow用户
提问于 2022-11-19 09:15:32
回答 1查看 58关注 0票数 0

Coq正在使用类似于OCaml的模块系统。在OCaml中,我们可以应用像Module_A.Module_B.Func这样的函数,并使用Module_A.Module_B来查找到Func的路径。

然而,我不能在Coq中做类似的事情。例如,如果我只运行Print Coq.Arith.Minus.minus_n_O.,Coq报告Coq.Arith.Minus.minus_n_O is not a defined object.

我必须先加载库,然后才能打印对象。在下面的例子中,它是成功的。

代码语言:javascript
复制
From Coq Require Export Arith.Minus.
Print Coq.Arith.Minus.minus_n_O. 

有没有一种不像在Print Coq.Arith.Minus.minus_n_O中应用函数那样不加载库就可以运行OCaml的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-19 16:38:54

在Coq中,需要模块和导入模块是有区别的。Require是一个关键字,它允许您加载库,而Import允许您删除前缀。Export MImport M,但也说当当前模块本身被导入时,M也会被导入。

我会说你想要的是

代码语言:javascript
复制
From Coq Require Arith.Minus.
Print Coq.Arith.Minus.minus_n_O. 

没有Export

与ocaml相比,Import类似于open,而Require只是隐含在ocaml中:模块在基本使用时被导入。

您可以在进口文件导出要求中找到更多信息。另外,要想找到更多关于命令的信息,只需查找命令索引即可。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74498793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档