reserve i for object, I for set,
  f for Function,
  x, x1, x2, y, A, B, X, Y, Z for ManySortedSet of I;

theorem     :: ZFMISC_1:125
  [|X (\) Y, Z|] = [|X, Z|] (\) [|Y, Z|] &
  [|Z, X (\) Y|] = [|Z, X|] (\) [|Z, Y|]
proof
  now
    let i be object;
    assume
A1: i in I;
    hence [|X (\) Y, Z|].i = [:(X (\) Y).i,Z.i:] by PBOOLE:def 16
      .= [:X.i \ Y.i,Z.i:] by A1,PBOOLE:def 6
      .= [:X.i,Z.i:] \ [:Y.i,Z.i:] by ZFMISC_1:102
      .= [|X,Z|].i \ [:Y.i,Z.i:] by A1,PBOOLE:def 16
      .= [|X,Z|].i \ [|Y,Z|].i by A1,PBOOLE:def 16
      .= ([|X, Z|] (\) [|Y, Z|]).i by A1,PBOOLE:def 6;
  end;
  hence [|X (\) Y, Z|] = [|X, Z|] (\) [|Y, Z|];
  now
    let i be object;
    assume
A2: i in I;
    hence [|Z,X (\) Y|].i = [:Z.i,(X (\) Y).i:] by PBOOLE:def 16
      .= [:Z.i,X.i \ Y.i:] by A2,PBOOLE:def 6
      .= [:Z.i,X.i:] \ [:Z.i,Y.i:] by ZFMISC_1:102
      .= [|Z,X|].i \ [:Z.i,Y.i:] by A2,PBOOLE:def 16
      .= [|Z,X|].i \ [|Z,Y|].i by A2,PBOOLE:def 16
      .= ([|Z,X|] (\) [|Z,Y|]).i by A2,PBOOLE:def 6;
  end;
  hence thesis;
end;
