(enum_fin p) (enum_fin_uniq p) (enum_finE p)).

End FinPredStruct.Notation sort_keys      := SortKeys.f.Notation sort_keys_perm := SortKeys.perm.
Notation sort_keys_uniq := SortKeys.uniDefinition seq_fset : forall K : choiceType, seq K -> {fset K} :=
   locked_with finset_key (fun K s =>Section ChoiceKeys.

(* Specifications: *)
Qed.
Definition canonical_keys ks := sort_keys ks == ks.
Proof. by move=> /eqP <-; exact: sort_keys_uniq. Qed.
Proof. by rewrite /canonical_keys sort_keys_id. Qed. Lemma canonical_eq_keys
Qed.