Definition remove_Znth {A} i (al : list A) := sublist 0 i al ++ sublist (i + 1) (Zlength al) al.

Lemma remove_upd_Znth: forall {A} i l (a : A), 0 <= i < Zlength l -> remove_Znth i (upd_Znth i l a) = remove_Znth i l.