Definition ad_monotonic (pf:ad -> ad) :=
forall a a':ad, Nless a a' = true -> Nless (pf a) (pf a') = true.

Lemma alist_canonical :
forall l l':alist A,
eqm A (alist_semantics A l) (alist_semantics A l') ->
alist_sorted_2 l -> alist_sorted_2 l' -> l = l'.