Canonical found_struct k := Partition (found_pf k).Canonical left_struct h r (f : forall k, partition k r) k :=
  Partition (left_pf h f k).Canonical right_struct h r (f : forall k, partition k r) k := 
  Partition (right_pf h f k).Definition indx {I : finType} (x : I) := index x (enum I).

(* Specifications: *)
Lemma size_fgraph T1 T2 (r1 : {ffun I -> T1}) (r2 : {ffun I -> T2}) : size (fgraph r1) = size (fgraph r2).
Lemma fgraphE T (r1 r2 : {ffun I -> T}) : fgraph r1 = fgraph r2 -> r1 = r2.