Remark shift_symbol_address:
  forall id ofs delta,
  Genv.symbol_address ge id (Ptrofs.add ofs (Ptrofs.of_int delta)) = Val.add (Genv.symbol_address ge id ofs) (Vint delta).

Theorem eval_shlimm: forall n, unary_constructor_sound (fun a => shlimm a n) (fun x => Val.shl x (Vint n)).