End SEL_SWITH_INT.
(** Compatibility of evaluation functions with the "less defined than" relation. *)
Ltac TrivialExists :=
match goal with
| [ |- exists v, Some ?x = Some v /\ _ ] => exists x; split; auto
| _ => idtac
end.

Lemma eval_unop_lessdef:
forall op v1 v1' v,
eval_unop op v1 = Some v -> Val.lessdef v1 v1' ->
exists v', eval_unop op v1' = Some v' /\ Val.lessdef v v'.