fact: Fixpoint insertBy A (compare : A -> A -> bool) (x : A) (l : list A) : list A := match l with | nil => x :: nil | h :: t => if compare x h then x :: l else h :: insertBy compare x t end.
imports: mathcomp.ssreflect.ssreflect mathcomp(ssrnat ssrbool eqtype div) ExtLib(Structures.Monad) SimpleIO(SimpleIO) QuickChick(RoseTrees RandomQC Generators Producer SemChecker) QuickChick(Show Checker State Classes) Coq.Strings.Ascii Coq.Strings.String List Recdef Arith.EqNat