I am trying to prove this:
Fixpoint max(a: nat)(b:nat): nat :=
if a <=? b then b
else a.
Example ex: forall n:nat, n = max n n.
Proof.
intros.
(...)
The simpl and cbn tactics do not produce anything. If I call cbv [max], then I get a redex and I don't know how to continue the proof after that. More precisely, I get:
n = (fix max (a b : nat) {struct a} : nat := if a <=? b then b else a) n n
How to get rid of this redex (fix max ....) n n
?