Definition alist_sorted_2 (l:alist A) :=
    forall m n:nat,
      m < n ->
      S n <= length l -> Nless (alist_nth_ad m l) (alist_nth_ad n l) = true.

Lemma alist_of_Map_nth_ad : forall (m:Map A) (pf:ad -> ad) (l:alist A), l = MapFold1 A (alist A) (anil A) (aapp A) (fun (a0:ad) (y:A) => acons A (a0, y) (anil A)) pf m -> forall n:nat, S n <= length l -> {a' : ad | alist_nth_ad n l = pf a'}.