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.