intro.
rewrite (shatter_word a).
replace (wtl a) with WO by auto.
destruct (whd a).
right; apply eq_refl.
left; apply eq_refl.
Defined.

Theorem wrshift_bitwp : forall sz (w1 w2 : word sz) f n,
wrshift (bitwp f w1 w2) n = split2 n sz (
eq_rect _ word (combine (bitwp f w1 w2) (wzero n)) _ (eq_sym (Nat.add_comm n sz))).