reserve X,Y,z,s for set, L,L1,L2,A,B for List of X, x for Element of X,
  O,O1,O2,O3 for Operation of X, a,b,y for Element of X, n,m for Nat;

theorem
  L\&(O1 AND O2) = (L \& O1)AND(L \& O2)
  proof
    L\&(O1 AND O2) c= L\&O1 & L\&(O1 AND O2) c= L\&O2 by Th26,XBOOLE_1:17;
    hence L\&(O1 AND O2) c= (L\&O1)AND(L\&O2) by XBOOLE_1:19;
    let z be object; assume z in (L\&O1)AND(L\&O2); then
A1: z in L\&O1 & z in L\&O2 by XBOOLE_0:def 4;
    now
      set O = O1 AND O2;
      set c = the Element of L;
      {x.O1: x in L} <> {} by A1,SETFAM_1:def 1; then
      consider c being object such that
A2:   c in {x.O1: x in L} by XBOOLE_0:def 1;
      consider a such that
A3:   c = a.O1 & a in L by A2;
      a.O in {x.O: x in L} by A3;
      hence {x.O: x in L} <> {};
      let Y; assume Y in {x.O: x in L}; then
      consider x such that
A4:   Y = x.O & x in L;
A5:   Y = (x.O1) AND (x.O2) by A4,RELSET_2:11;
      x.O1 in {y.O1: y in L} by A4; then
A6:   z in x.O1 by A1,SETFAM_1:def 1;
      x.O2 in {y.O2: y in L} by A4; then
      z in x.O2 by A1,SETFAM_1:def 1;
      hence z in Y by A5,A6,XBOOLE_0:def 4;
    end;
    hence thesis by SETFAM_1:def 1;
  end;
