(* solve list equations *)
(* interpreted functions : Zlength app list_repeat / Zrepeat map sublist upd_Znth -> sublist Znth *)

Lemma Znth_eq_ext : forall {A : Type} {d : Inhabitant A} (al bl : list A),
Zlength al = Zlength bl ->
(forall (i : Z), 0 <= i < Zlength al -> Znth i al = Znth i bl) ->
al = bl.