Definition Partitioning: Set := comparison -> list T.

(* Specifications: *)
Lemma partition_oblig c l h (H: {p: Partitioning | Permutation (p Eq ++ p Lt ++ p Gt) l}): Permutation ((if cmp_cmp c Eq then h :: proj1_sig H Eq else proj1_sig H Eq) ++ (if cmp_cmp c Lt then h :: proj1_sig H Lt else proj1_sig H Lt) ++ (if cmp_cmp c Gt then h :: proj1_sig H Gt else proj1_sig H Gt)) (h :: l).