Instance insert_perm_mor: Proper (eq ==> Permutation ==> Permutation) insert.
Proof with eauto.
repeat intro.
induction H0; subst; simpl...
destruct (le y x0)...
destruct (le y y0); destruct (le y x0)...
Qed.
Hypotheses
(le_yippee: forall x y, le x y = false -> le y x = true)
(preorder_R: preorder _ R).

(* Specifications: *)
Lemma inserted_ordered x (l: list T): vec.sorted R l -> vec.sorted R (insert x l).
Proof with auto.