可以找到一种方法' Reverse'构造函数
我试图证明以下简单的引理: Lemma wayBack : forall (a b n:nat) (input:list nat), a implist n (a::b::input) -> implist n input. 暗示是如下: I…
我如何表明,如果假设不暗示,那就与说命题等于false(COQ)一样?
我想证明两个字符不等。我的环境目前看起来像这样: H: c1 = c2 -> not _____________________ Goal: (c1 =? c2)%char = false 它不允许我应用H或重写…
参考信息在当前环境中找不到
当我尝试在Adam Chlipala 在当前环境中找不到参考信息“ nofollow noreferrer”>带有依赖类型的认证编程下载软件CPDT捆绑包。该文件是 logicprog.v 第…
COQ匹配声明是否详尽?
如果我有一个与此类似的片段: Inductive Q : Set := | NULL : Q | CELL : nat -> Q -> Q -> Q . Definition someFunc (q: Q) := match q with | NULL…
COQ使Omega失败
我正在尝试关注 this 但是提供的源文件是失败的 make make[1]: Entering directory '/home/myhome/Dropbox/org/coq/cpdt' COQC src/CpdtTactics.v Fil…
是否可以在模式与它们匹配之前检查两个字符串的长度?
我正在COQ中编程,并希望通过首先检查两个字符串的长度来消除非排量的案例匹配,例如, Definition foo (word1 word2 : word) : option := if length …
不能将一个假设应用于另一个假设
我对CoQ非常陌生,并且正在尝试证明,如果两个功能是iNDIVES,则这些功能的组成也是iNjective。 这是我的代码: Definition compose {A B C} (g: B ->…
我该如何用coq荒谬的证明?
我正在阅读软件基础系列中的逻辑基础,并且看到 plus_id_example 也就是说: Theorem plus_id_example : forall n m:nat, n = m -> n + n = m + m. Pr…
COQ中的电感类型的证明
我试图证明以下定理: Theorem implistImpliesOdd : forall (n:nat) (l:list nat), implist n l -> Nat.Odd(length l). 含义如下: Inductive implist…
为什么我不能在假设上应用f_ qual?
在我的假设列表中,我有: X : Type l' : list X n' : nat H : S (length l') = S n' 我的目标是长度L'= n'。 因此,我在h 中尝试了 f_equal。但是我…
COQ中转换的精确控制
我尝试证明COQ中的以下定理: Theorem simple : forall (n b:nat) (input output: list nat) , short (n::b::input) true (n::output) = None -> shor…
如何处理COQ的部门?
如何在目标中处理该部门? 因为我的目标显然是正确的...但是我不能使用 lia ,而且我认为这与该部门有关。 2 ^ k / 2 ≤ 2 ^ k Bellow是我的COQ屏幕:…