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 wlshift_bitwp : forall sz (w1 w2 : word sz) f n,
wlshift (bitwp f w1 w2) n = split1 sz n (
eq_rec _ word (combine (wzero n) (bitwp f w1 w2)) _ (eq_sym (Nat.add_comm sz n))).