在Coq中,我经常会做以下事情:我有证明目标,例如:
some_constructor a c d = some_constructor b c d
而实际上,我只需要证明a = b
,因为其他所有东西都是相同的,因此我这样做:
assert (a = b).
那么证明子目标,然后。
rewrite H.
reflexivity.
完成证明。
但是,在我的证明底部留下那些东西似乎只是不必要的杂物。
在Coq中,是否有一般策略将构造函数的相等性分解为构造函数参数的相等性,有点像对等式进行split
,而不是合取。