proposition: Lemma map_eq_cons A B (f : A -> B) l y ys : map f l = y :: ys <-> exists x l', l = x :: l' /\ y = f x /\ map f l' = ys.
proof: Proof. split; ins; desf. destruct l; ins; desf; eauto. Qed.
imports: HahnBase HahnSets Arith Lia Setoid Morphisms Sorted IndefiniteDescription List Permutation