intros.
red in |- *; red in H.
inversion_clear H.
exists (Map_embed x).
fold (distinct (Map_embed x)) in |- *.
fold (distinct x) in H0.
apply Map_embed_preserves_distinct; auto with algebra.
Qed.

(* Specifications: *)
Lemma subset_bounds_set_size_from_below :
forall (A : Setoid) (B : part_set A) (n : Nat),
has_n_elements n B -> has_at_least_n_elements n A.