9得票2回答
Coq中的可扩展策略

假设我有一种高级策略,可以解决某种类型的引理: Ltac solveFancy := some_preparation; repeat (first [important_step1 | important_step2]; some_cleanup); sol...

8得票1回答
Coq:关于可变参数列表的Ltac定义?

在尝试创建一个循环遍历可变长度参数列表的Ltac定义时,我在Coq 8.4pl2上遇到了以下意外行为。有人能解释一下吗? Ltac ltac_loop X := match X with | 0 => idtac "done" | _ => (fun Y => ...

8得票1回答
如何编写类似于“destruct ... as”行为的策略?(涉及IT技术)

在coq中,destruct策略有一个变体,接受“合取析取引入模式”,允许用户在拆包复杂归纳类型时为引入的变量指定名称。 Coq中的Ltac语言允许用户编写自定义策略。我想编写(确切地说,维护)一种策略,在将控制权交给destruct之前执行某些操作。 我希望我的自定义策略允许(或要求,以...

7得票1回答
如何匹配“match”表达式?

我正在尝试使用 match 结构来制定假设规则: Goal forall x:nat, (match x with | 1 => 5 | _ => 10 end = 5 -> x = 1)%nat. intros. x : nat H : match x with ...