Coq 命令 Require Import Ltac 有什么作用?
What does the Coq command Require Import Ltac do?
我在看QuickChick项目的时候遇到一句话Require Import Ltac.
I don't know what this does and where the Ltac
module is。我找到了一个文件 plugins/ltac/Ltac.v
,但这不可能是那个文件,因为这个文件是空的(顺便说一下,包含一个空文件的目的是什么?)。我尝试了 Locate Ltac.
但我得到了 Error: Syntax error: [constr:global] expected after 'Ltac' (in [locatable]).
,这更令人困惑。
Ltac
模块有什么作用,Ltac.v
文件在哪里,为什么 Loacte
命令在这种情况下不起作用?谢谢!
Require Import Ltac.
确实是Coq.ltac.Ltac
,你找到的空文件!我不确定为什么那里有一个空文件,但它是在 Ltac was moved to a plugin 时引入的。如果一些 Ltac 实现被移动到 Coq 而不是 OCaml 插件,它可能会作为一个占位符。无论如何,我认为 QuickChick 没有理由导入它,除非他们预计 Coq 会有一些我不知道的变化。
由于与白话命令 Locate Ltac
冲突(这会导致语法错误),您需要明确地使用 Locate Module
。 Print Module
.
也是如此
Locate Module Ltac
报告 Module Coq.ltac.Ltac
,它告诉您您确实在查看 theories/ltac/Ltac.v
,而 Print Module Ltac
显示一个空模块。然而,第二位是误导性的,因为看起来像空模块的东西仍然可以有符号(这里不是这种情况,仅供参考)。
我在看QuickChick项目的时候遇到一句话Require Import Ltac.
I don't know what this does and where the Ltac
module is。我找到了一个文件 plugins/ltac/Ltac.v
,但这不可能是那个文件,因为这个文件是空的(顺便说一下,包含一个空文件的目的是什么?)。我尝试了 Locate Ltac.
但我得到了 Error: Syntax error: [constr:global] expected after 'Ltac' (in [locatable]).
,这更令人困惑。
Ltac
模块有什么作用,Ltac.v
文件在哪里,为什么 Loacte
命令在这种情况下不起作用?谢谢!
Require Import Ltac.
确实是Coq.ltac.Ltac
,你找到的空文件!我不确定为什么那里有一个空文件,但它是在 Ltac was moved to a plugin 时引入的。如果一些 Ltac 实现被移动到 Coq 而不是 OCaml 插件,它可能会作为一个占位符。无论如何,我认为 QuickChick 没有理由导入它,除非他们预计 Coq 会有一些我不知道的变化。
由于与白话命令 Locate Ltac
冲突(这会导致语法错误),您需要明确地使用 Locate Module
。 Print Module
.
Locate Module Ltac
报告 Module Coq.ltac.Ltac
,它告诉您您确实在查看 theories/ltac/Ltac.v
,而 Print Module Ltac
显示一个空模块。然而,第二位是误导性的,因为看起来像空模块的东西仍然可以有符号(这里不是这种情况,仅供参考)。