(** - The setoid mechanism as defined in the algebra contribution makes for a 'layered'
 structure when dealing with subsets. Suppose $C\subset B\subset A$. This is translated
 as [A:Setoid; B:(part_set A); C:(part_set B)]. But obviously also $C\subset A$. Now
 [inject_subsets] injects a subset of B into the subsets of [A]

 %\label{injectsubsets}% *)

Definition inject_subsets :
  forall (A : Setoid) (B : part_set A), part_set B -> part_set A.

(* Specifications: *)
Lemma inject_subsets_comp : forall (A : Setoid) (B : part_set A) (C C' : part_set B), Equal C C' -> Equal (inject_subsets C) (inject_subsets C').
Lemma inject_subsets_of_part_set_included : forall (A : Setoid) (B : part_set A) (C : part_set B), included (inject_subsets C) B.
Lemma inject_subsets_full_inv : forall (A : Setoid) (B : part_set A), Equal (inject_subsets (full B)) B.