Вы можете попробовать, например, cbv
тактика примерно так:
Definition foo := (fun (x : nat) => x) 42.
Definition bar := (fun (x : nat) => x) 42.
Goal foo = bar.
cbv delta [foo].
Это приводит к следующему состоянию проверки:
(fun x : nat => x) 42 = bar