LTAC:使用回溯功能重复战术

时间:2018-08-18 06:37:56

标签: coq dependent-type theorem-proving coq-tactic ltac

假设我有一个这样的策略(摘自HaysTac),该策略使用以下参数搜索专门化特定假设的论点:

Ltac find_specialize_in H :=
  multimatch goal with
  | [ v : _ |- _ ] => specialize (H v)
end.

但是,我想写一种策略来搜索n参数以专门化策略。关键是它需要回溯。例如,如果我有以下假设:

y : T
H : forall (x : T), x = y -> P x
x1 : T
x2 : T
Heq : x1 = y

如果我写了do 2 (find_specialize_in H),它可能会选择x2来实例化它,然后无法尝试找到第二个参数。因此,我需要我的repeat循环,以便能够回溯它选择用来专用于较早参数的参数。

是否可以这样做?我该如何创建一个战术循环,使其回溯先前选择的迭代方式?

0 个答案:

没有答案