(** Connections between [shr] and [shru]. *)

(* Specifications: *)
Lemma shr_shru_positive:
forall x y,
signed x >= 0 ->
shr x y = shru x y.
Lemma and_positive:
forall x y, signed y >= 0 -> signed (and x y) >= 0.
Theorem shr_and_is_shru_and:
forall x y z,
lt y zero = false -> shr (and x y) z = shru (and x y) z.
Lemma shr_shru_positive:
forall x y,
signed x >= 0 ->
shr x y = shru x y.
Lemma and_positive:
forall x y, signed y >= 0 -> signed (and x y) >= 0.
Theorem shr_and_is_shru_and:
forall x y z,
lt y zero = false -> shr (and x y) z = shru (and x y) z.