intros.
red in |- *.
red in H.
inversion_clear H.
rename x into Bsize.
inversion_clear H2.
exists Bsize.
split.
generalize (eq_ind _ (fun n => Bsize <= n) H _ H1).
auto.
apply has_n_elements_comp with Bsize B; auto with algebra.
Qed.

(* Specifications: *)
Lemma has_at_least_n_elements_comp :
forall (A : Setoid) (n m : Nat) (B C : part_set A),
has_at_least_n_elements n B ->
B =' C in _ -> n =' m in _ -> has_at_least_n_elements m C.