proposition: Lemma set_IU2l: left_distributive intersection2 union2.
proof: Proof. move => A B C; set_extens t. case /setI2_P; case /setU2_P=> tab tc; apply/setU2_P; fprops. case/setU2_P; case/setI2_P => tab tc; apply/setI2_i => //; apply/setU2_P;fprops. Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat)