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).

Lemma fgraphE T (r1 r2 : {ffun I -> T}) : fgraph r1 = fgraph r2 -> r1 = r2.