Lemma mem_lessdef_sem_binarith: forall m1 m2, mem_lessdef m1 m2 -> forall v1 v1', Val.lessdef v1 v1' -> forall v2 v2', Val.lessdef v2 v2' -> forall (sem_int: signedness -> int -> int -> option val) (sem_long: signedness -> int64 -> int64 -> option val) (sem_float: float -> float -> option val) (sem_single: float32 -> float32 -> option val) (t1: type) (t2: type) v, sem_binarith sem_int sem_long sem_float sem_single v1 t1 v2 t2 m1 = Some v -> sem_binarith sem_int sem_long sem_float sem_single v1' t1 v2' t2 m2 = Some v.