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 upd_Znth_diff' : forall {A}{d: Inhabitant A} i j l (u : A), 0 <= j < Zlength l -> i <> j -> Znth i (upd_Znth j l u) = Znth i l.