Ltac wlt_ind :=
  match goal with
  | [ |- forall (n: word ?len), ?P ] =>
    refine (well_founded_ind (@wlt_wf len) (fun n => P) _)
  end.

Lemma sext_combine: (* Note: not axiom free *) forall sz n (w: word (sz + n)) sz1 (w1: word sz1) sz2 (Hsz2: sz2 <> 0) (w2: word sz2), existT word _ w = existT word _ (combine w1 (sext w2 n)) -> exists sw, w = sext sw n /\ existT word _ sw = existT word _ (combine w1 w2).