Definition fun_consaw_a (w : Word) : Elt :=
  match w return Elt with
  | nil =>
      (* nil  *)  zero
      (* cons *) 
  | cons a w' => a
  end.Definition fun_consaw_w (w : Word) : Word :=
  match w return Word with
  | nil =>
      (* nil  *)  nil
      (* cons *) 
  | cons a w' => w'
  end.

Lemma cons_cons_inv : forall (x1 x2 : Elt) (w1 w2 : Word), cons x1 w1 = cons x2 w2 -> x1 = x2 /\ w1 = w2.