Proof with eauto with val_renamings.
intros.
destruct v1, v2; simpl in *; try discriminate.
match goal with
| [H: match ?Expr with _ => _ end = _ |- _] =>
destruct Expr
end; try discriminate.
inversion H...
Qed.

Lemma modlu_ren:
forall f v1 v2 v1' v2'
(Hval_obs: val_obs f v1 v1')
(Hval_obs': val_obs f v2 v2'),
Val.modlu v1 v2 = Val.modlu v1' v2'.