proposition: Lemma finite_inter : forall E F, finite E \/ finite F -> finite (E \n F).
proof: Proof. Proof using. introv H. apply finite_of_ex_list_covers. destruct H. lets (L&EQ): finite_inv_list_covers H. exists L. unfold list_covers. set_unf. autos*. lets (L&EQ): finite_inv_list_covers H. exists L. unfold list_covers. set_unf. autos*. Qed.
imports: Coq.Classes.Morphisms TLC(LibTactics LibLogic LibReflect LibList LibOperation LibMonoid LibInt LibNat LibEpsilon LibRelation LibMin)