Corollary upd_Znth_eq' : forall {A}{d: Inhabitant A} x (l1 l2 : list A) i (Hi : 0 <= i < Zlength l1)
  (Hlen : Zlength l1 = Zlength l2)
  (Heq : forall j, 0 <= j < Zlength l1 -> j <> i -> Znth j l1 = Znth j l2),
  upd_Znth i l1 x = upd_Znth i l2 x.

Lemma Forall_suffix_max : forall {A} (P : A -> Prop) l1 l2 i j (Hi : 0 <= i <= Zlength l1) (Hj : 0 <= j <= Zlength l1) (Hl1 : Forall P (sublist j (Zlength l1) l1)) (Hl2 : sublist i (Zlength l1) l1 = sublist i (Zlength l2) l2), Forall P (sublist (Z.max i j) (Zlength l2) l2).