 reserve U for set,
         X, Y for Subset of U;
 reserve U for non empty set,
         A, B, C for non empty IntervalSet of U;

theorem Th29:
  for X being set, A, B, C being non empty ordered Subset-Family of X holds
    UNION (A, INTERSECTION (B,C)) =
      INTERSECTION (UNION (A,B), UNION (A,C))
  proof
    let X be set,
        A, B, C be non empty ordered Subset-Family of X;
A1:  UNION (A, INTERSECTION (B,C)) c=
      INTERSECTION (UNION (A,B), UNION (A,C)) by Lm1;
    INTERSECTION (UNION (A,B), UNION (A,C)) c= UNION (A, INTERSECTION (B,C))
    proof
      let x be object;
      assume x in INTERSECTION (UNION (A,B), UNION (A,C)); then
      consider X,Y being set such that
A2:   X in UNION (A,B) & Y in UNION (A,C) & x = X /\ Y by SETFAM_1:def 5;
      consider X1,X2 being set such that
A3:   X1 in A & X2 in B & X = X1 \/ X2 by A2,SETFAM_1:def 4;
      consider Y1,Y2 being set such that
A4:   Y1 in A & Y2 in C & Y = Y1 \/ Y2 by A2,SETFAM_1:def 4;
A5:   x = (X1 /\ (Y1 \/ Y2)) \/ (X2 /\ (Y1 \/ Y2)) by A2,A3,A4,XBOOLE_1:23
       .= ((X1 /\ Y1) \/ (X1 /\ Y2)) \/ (X2 /\ (Y1 \/ Y2)) by XBOOLE_1:23
       .= (X1 /\ Y1) \/ (X1 /\ Y2) \/
           ((X2 /\ Y1) \/ (X2 /\ Y2)) by XBOOLE_1:23
       .= ((X1 /\ Y1) \/ (X1 /\ Y2) \/ (X2 /\ Y1)) \/ (X2 /\ Y2)
          by XBOOLE_1:4;
      set A1 = min A, A2 = max A;
      A1 c= X1 & X1 c= A2 & A1 c= Y1 & Y1 c= A2 by A3,A4,Th28; then
A6:   A1 /\ A1 c= X1 /\ Y1 & X1 /\ Y1 c= A2 /\ A2 by XBOOLE_1:27;
      Y1 c= A2 & X2 /\ Y1 c= Y1 by A4,Th28,XBOOLE_1:17; then
      X2 /\ Y1 c= A2; then
A7:   A1 c= (X1 /\ Y1) \/ (X2 /\ Y1) &
      (X1 /\ Y1) \/ (X2 /\ Y1) c= A2 by A6,XBOOLE_1:8,10;
      X1 c= A2 & X1 /\ Y2 c= X1 by A3,Th28,XBOOLE_1:17; then
      (X1 /\ Y2) c= A2; then
      (X1 /\ Y1) \/ (X2 /\ Y1) \/ (X1 /\ Y2) c= A2 by A7,XBOOLE_1:8; then
      A1 c= (X1 /\ Y1) \/ (X2 /\ Y1) \/ (X1 /\ Y2) &
        (X1 /\ Y1) \/ (X1 /\ Y2) \/ (X2 /\ Y1) c= A2
      by A7,XBOOLE_1:4,10; then
      A1 c= (X1 /\ Y1) \/ (X1 /\ Y2) \/ (X2 /\ Y1) &
        (X1 /\ Y1) \/ (X1 /\ Y2) \/ (X2 /\ Y1) c= A2
      by XBOOLE_1:4; then
A8:   (X1 /\ Y1) \/ (X1 /\ Y2) \/ (X2 /\ Y1) in A by Th28;
      (X2 /\ Y2) in INTERSECTION (B,C) by A3,A4,SETFAM_1:def 5;
      hence thesis by A8,A5,SETFAM_1:def 4;
    end;
    hence thesis by A1;
  end;
