在Coq中,当试图证明记录的平等时,是否有一种策略会将其分解为所有字段的平等?例如,
Record R := {x:nat;y:nat}.
Variables a b c d : nat.
Lemma eqr : {|x:=a;y:=b|} = {|x:=c;y:=d|}.
是否有一种策略会将此减少到a = c /\ b = d
?请注意,一般来说,a b c d
中的任何一个都可能是一个很复杂的证明术语(我可以用证明无关公理来解释)。
答案 0 :(得分:3)
您可以使用f_equal
策略,它不仅可以用于记录,还可以用于f x1 .. xn = f y1 .. yn
形式的任意目标,其中f
是任何函数符号,其中构造函数是一个特例。