Often in Coq I find myself doing the following: I have the proof goal, for example:
some_constructor a c d = some_constructor b c d
And I r
In particular, standard Coq provides the f_equal tactic.
f_equal
Inductive u : Type := U : nat -> nat -> nat -> u. Lemma U1 x y z1 z2 : U x y z1 = U x y z2. f_equal
Also, ssreflect provides a general-purpose congruence tactic congr.
congr