Corollary upd_init_const : forall {A} i b (v v' : A), 0 <= i < b ->
  upd_Znth i (repeat v' (Z.to_nat i) ++ repeat v (Z.to_nat (b - i))) v' =
  repeat v' (Z.to_nat (i + 1)) ++ repeat v (Z.to_nat (b - (i + 1))).

Lemma list_Znth_eq : forall {A}{d: Inhabitant A} (l : list A), l = map (fun j => Znth j l) (upto (length l)).