【发布时间】:2019-06-27 14:41:03
【问题描述】:
深入了解test_nostutter_1 excersize 我找到了一种无需重复即可解决的方法:
Example test_nostutter_1: nostutter [3;1;4;1;5;6].
Proof.
constructor 3.
(* This will apply the tactics to the 2-nd subgoal *)
2: {apply eqb_neq. auto. }
constructor 3.
2: {apply eqb_neq. auto. }
constructor 3.
2: {apply eqb_neq. auto. }
constructor 3.
2: {apply eqb_neq. auto. }
constructor 2.
Qed.
我决定更多地使用它,在 coq 参考手册中我发现有 do tactical 可以多次循环一个策略。
do num expr
expr 被评估为 v ,它必须是一个策略值。这个策略值 v 被应用了 num 次。假设 num > 1,在第一个之后 v 的应用,v 至少应用一次,到生成的 子目标等等。如果 v 的应用在 已完成 num 个申请。
所以我尝试了这个:
do 4 constructor 3; 2: {apply eqb_neq. auto. }
但不幸的是它失败了。只有这样才有效:
do 1 constructor 3.
是否可以使用 do 使其工作?
【问题讨论】: