(** * Properties of shifts *)
(** First, a unified specification for [shiftl] : the [shiftl_spec] below (combined with [testbit_neg_r]) is equivalent to [shiftl_spec_low] and [shiftl_spec_high]. *)

Lemma shiftl_spec : forall a n m, 0<=m -> (a << n).[m] = a.[m-n].