intros.
simpl in |- *.
unfold eq_part in |- *.
intros.
split.
intro.
simpl in |- *.
simpl in H0.
intro.
apply in_part_comp_r with (f i); auto.
intro.
simpl in |- *.
simpl in H0.
intro.
apply in_part_comp_r with (g i); auto.
apply Sym.
apply H.
Qed.
(** - in fact, even if only the images of the indexing functions are the same, so is their intersection (ie. the index sets $I,J$ may not be equal, but (indexing the subsets by $F$ and $G$) for all $F_i, i \in I$, there is some $G_j, j \in J$ equal to it and vice versa) *)
Variable J : Setoid.

(* Specifications: *)
Lemma indexed_intersection_indep_of_indexing :
forall (f : MAP I (part_set A)) (g : MAP J (part_set A)),
Equal (range f) (range g) ->
Equal (indexed_intersection f) (indexed_intersection g).