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

Lemma remove_Znth_cons : forall {A} i a (l : list A), i > 0 ->
remove_Znth i (a :: l) = a :: remove_Znth (i - 1) l.