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

Lemma remove_Znth_combine: forall {A B} i (l1 : list A) (l2 : list B),
0 <= i < Zlength l1 -> Zlength l1 = Zlength l2 ->
remove_Znth i (combine l1 l2) = combine (remove_Znth i l1) (remove_Znth i l2).