Lemma mem_lessdef_sem_shift: 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 -> int) (sem_long: signedness -> int64 -> int64 -> int64) (t1: type) (t2: type) v, sem_shift sem_int sem_long v1 t1 v2 t2 = Some v -> sem_shift sem_int sem_long v1' t1 v2' t2 = Some v.