假设我想有一个策略来一次清除多个假设,做类似的事情clear_multiple H1, H2, H3.
。我尝试使用对来做到这一点,如下所示:
Ltac clear_multiple arg :=
match arg with
| (?f, ?s) => clear s; clear_multiple f
| ?f => clear f
end.
但是,问题是我必须放置括号才能得到Prod
:
Variable A: Prop.
Goal A -> A -> A -> True.
intros.
clear_multiple (H, H0, H1).
我的问题是,如何在不使用Prod
s 的情况下做到这一点?
我检查了这个问题,但这并不是我想要的,因为我想要的参数数量是未知的。