 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 Th23:
  A _\/_ B _\/_ C = A _\/_ (B _\/_ C)
  proof
A1: A _\/_ B _\/_ C c= A _\/_ (B _\/_ C)
    proof
      let x be object;
      assume x in A _\/_ B _\/_ C; then
      consider X, Y being set such that
A2:   X in UNION (A, B) & Y in C & x = X \/ Y by SETFAM_1:def 4;
      consider Z, W being set such that
A3:   Z in A & W in B & X = Z \/ W by A2,SETFAM_1:def 4;
      W \/ Y in UNION (B,C) by A2,A3,SETFAM_1:def 4; then
      Z \/ (W \/ Y) in UNION (A,UNION (B,C)) by A3,SETFAM_1:def 4;
      hence thesis by A2,A3,XBOOLE_1:4;
    end;
    A _\/_ (B _\/_ C) c= A _\/_ B _\/_ C
    proof
      let x be object;
      assume x in A _\/_ (B _\/_ C); then
      consider X, Y being set such that
A4:   X in A & Y in UNION (B, C) & x = X \/ Y by SETFAM_1:def 4;
      consider Z, W being set such that
A5:   Z in B & W in C & Y = Z \/ W by A4,SETFAM_1:def 4;
      X \/ Z in UNION (A,B) by A4,A5,SETFAM_1:def 4; then
      (X \/ Z) \/ W in UNION (UNION (A,B), C) by A5,SETFAM_1:def 4;
      hence thesis by A4,A5,XBOOLE_1:4;
    end;
    hence thesis by A1;
  end;
