- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在看QuickChick项目的时候遇到了Require Import Ltac.
这句话我不知道这是做什么的以及 Ltac
在哪里模块是。我找到了一个文件 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
显示一个空模块。但是,第二位具有误导性,因为看起来像空的模块仍然可以有符号(这里不是这种情况,仅供引用)。
关于coq - Coq 命令 Require Import Ltac 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49581079/
我想写一个带有可选变量名的策略。原始策略如下所示: Require Import Classical. Ltac save := let H := fresh in apply NNPP;
我正在做一些关于在 Coq 中形式化简单类型的 lambda 演算的练习,并且想使用 Ltac 自动化我的证明。在证明进步定理时: Theorem progress : forall t T,
我有一个包含对一些引理的调用的目标 foo在比赛的分支内。该调用使用变量 R 作为其参数之一。分行本地: | SomeConstr => fun R => .... (foo a b c R) ...
我如何调用 rewrite在 ltac 中只重写一次?我认为 coq 的文档提到了一些关于 rewrite at 的内容。但我还没有能够在实践中实际使用它,也没有例子。 这是我正在尝试做的一个例子:
是否有一种方法可以定义一个“本地”Ltac 表达式,我可以用它来证明引理但在外部不可见? Lemma Foo ... Proof. Ltac ll := ... destrict t.
在尝试创建一个循环可变长度参数列表的 Ltac 定义时,我在 Coq 8.4pl2 上遇到了以下意外行为。谁能给我解释一下吗? Ltac ltac_loop X := match X with
是否有一种方法可以定义一个“本地”Ltac 表达式,我可以用它来证明引理但在外部不可见? Lemma Foo ... Proof. Ltac ll := ... destrict t.
我正在寻找一种方法来通过它的名字来匹配它。像这样: Ltac mytactic h_name := let h := hyp_from_name h_name in match h with
我想在 coq 中制定一个 Ltac 策略,它需要 1 个或 3 个参数。我读过 ltac_No_arg在 LibTactics 模块,但如果我理解正确,我将不得不调用我的策略: Coq idtac
在 Ltac 中,依赖归纳对我来说似乎不同。并不是。 以下工作正常: Require Import Coq.Program.Equality. Goal forall (x:unit) (y:unit
我想在某些假设存在而另一个假设不存在的情况下应用规则。我如何检查是否存在这种情况? 例如: Variable X Y : Prop. Axiom A: X -> Y. Axiom B: X -> Z.
我在看QuickChick项目的时候遇到了Require Import Ltac.这句话我不知道这是做什么的以及 Ltac 在哪里模块是。我找到了一个文件 plugins/ltac/Ltac.v ,但
Ltac checkForall H := let T := type of H in match T with | forall x, ?P x => idtac | _ =
Require Import Streams. CoFixpoint map {X Y : Type} (f : X -> Y) (s : Stream X) : Stream Y := Cons
我是一名优秀的程序员,十分优秀!