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 disjoint_fsub C A B : A `|` B `<=` C ->
[disjoint fsub C A & fsub C B]%bool = [disjoint A & B].