fact: Fixpoint uniquify {T} (T_beq : T -> T -> bool) (ls : list T) : list T := match ls with | nil => nil | cons x xs => x :: filter (fun y => negb (T_beq x y)) (uniquify T_beq xs) end.
imports: Coq.QArith.QArith Coq.Structures.Orders Coq.micromega.Lia Coq.Bool.Bool Coq.Sorting.Mergesort Coq.Lists.List Coq.ZArith.ZArith PerformanceExperiments.Sandbox