Section in_imfset.
Variable (key : unit) (K : choiceType).
Implicit Types (A B : {fset K}) (a b : K).
Hint Resolve fsubset_refl : core.
Definition fincl A B (AsubB : A `<=` B) (a : A) : B :=
[` (fsubsetP AsubB) _ (valP a)].
Definition fsub B A : {set B} := [set x : B | val x \in A].
Hint Resolve fsub_inj : core.
Hint Resolve fsubsetIl fsubsetIr fsubsetDl fsubD1set : core.
(* cardinal lemmas for fsets *)
(* other inclusions *)
Arguments fsetIidPl {A B}.

Lemma fsubsetDP A B C :
reflect (A `<=` B /\ [disjoint A & C]%fset) (A `<=` (B `\` C)).