(***)
intros. unfold has_n_elements in H. elim H. intros v H'.
elim H'. intros vv vvv. clear H H'. set(F:=Build_Map
(lacomp G S f LA1 LA2 p)). apply existbij2 with(F:=F)(v:=v).
exact vv. exact vvv. simpl. unfold eq_part. intro s. split.
simpl. intro H. elim H. clear H. intros g g'. elim(has_index
(Map_to_equal_subsets vv(set_to_full G)g)). intros i iH. exists
i. simpl in iH. apply Trans with(f(couple g p)). exact(Sym g').
apply Map_compatible_prf. apply couple_comp. exact iH. apply
Refl. simpl. intro H. elim H. clear H. intros i iH. exists
(v i). exact(Sym iH). Qed.

Lemma samecardB:forall(E F:Setoid)(M:MAP F E)
(S:surjective M)(I:injective M)(n:Nat)(C:has_n_elements n F),
has_n_elements n E.