fact: Fixpoint map {A B} (f: A → B) (l: L A): L B := match l with | one x => one (f x) | cons h t => cons (f h) (map f t) end.
imports: Coq.Unicode.Utf8 Coq.Lists.List Coq.Setoids.Setoid Coq.Classes.Morphisms Coq.Sorting.Permutation