reserve S,T,W,Y for RealNormSpace;
reserve f,f1,f2 for PartFunc of S,T;
reserve Z for Subset of S;
reserve i,n for Nat;

theorem
  for X,Y be RealNormSpace,
        x be Point of X,
        y be Point of Y,
        V be Subset of [:X,Y:],
        r be Real
    st V = [:Ball(x,r),Ball(y,r):]
  holds V is open
  proof
    let X,Y be RealNormSpace,
          x be Point of X,
          y be Point of Y,
          V be Subset of [:X,Y:],
          r be Real;
    assume
    A1: V = [:Ball(x,r),Ball(y,r):];
    for z be Point of [:X,Y:] st z in V
    ex s be Real st s > 0 & Ball(z,s) c= V
    proof
      let z be Point of [:X,Y:];
      assume
      A2: z in V;
      consider x1 be Point of X,y1 be Point of Y such that
      A3: z = [x1,y1] by PRVECT_3:18;
      A4: x1 in Ball(x,r) & y1 in Ball(y,r) by A1,A2,A3,ZFMISC_1:87;
      A5: ex p be Point of X
          st x1 = p & ||.x - p.|| < r by A4;
      A6: ex p be Point of Y st y1 = p & ||.y - p.|| < r by A4;
      set r1 = r - ||.x - x1.||;
      set r2 = r - ||.y - y1.||;
      A7: 0 < r1 by A5,XREAL_1:50;
      A8: 0 < r2 by A6,XREAL_1:50;
      reconsider s = min(r1,r2) as Real;
      A9: 0 < s by A7,A8,XXREAL_0:15;
      A10: s <= r - ||.x - x1.|| by XXREAL_0:17;
      A11: s <= r - ||.y - y1.|| by XXREAL_0:17;
      Ball(z,s) c= V
      proof
        let w be object;
        assume
        A12: w in Ball(z,s); then
        reconsider q = w as Point of [:X,Y:];
        A13: ex t be Point of [:X,Y:] st q = t & ||.z - t.|| < s by A12;
        consider qx be Point of X,qy be Point of Y such that
        A14: q = [qx,qy] by PRVECT_3:18;
        -q = [-qx,-qy] by A14,PRVECT_3:18; then
        z - q = [x1-qx, y1-qy] by A3,PRVECT_3:18; then
        ||.x1-qx .|| <= ||.z - q.||
          & ||.y1-qy .|| <= ||.z - q.|| by NORMSP35; then
        A16: ||.x1-qx .|| < s & ||.y1-qy .|| < s by A13,XXREAL_0:2;
        (x-x1) + (x1-qx) = x-x1 + x1-qx by RLVECT_1:28
          .= x-qx by RLVECT_4:1; then
        A17: ||.x-qx.|| <= ||.x-x1.|| + ||.x1-qx.|| by NORMSP_1:def 1;
        A18: ||.x-x1.|| + ||.x1-qx.|| < ||.x-x1.|| + s by A16,XREAL_1:8;
        ||.x-x1.|| + s <= ||.x-x1.|| + (r - ||.x - x1.||) by A10,XREAL_1:7;
        then ||.x-x1.|| + ||.x1-qx.|| < r by A18,XXREAL_0:2; then
        ||.x-qx.|| < r by A17,XXREAL_0:2; then
        A19: qx in Ball(x,r);
        (y-y1) + (y1-qy) = y-y1 + y1-qy by RLVECT_1:28
          .= y-qy by RLVECT_4:1; then
        A20: ||.y-qy.|| <= ||.y-y1.|| + ||.y1-qy.|| by NORMSP_1:def 1;
        A21: ||.y-y1.|| + ||.y1-qy.|| < ||.y-y1.|| + s by A16,XREAL_1:8;
        ||.y-y1.|| + s <= ||.y-y1.|| + (r - ||.y - y1.||) by A11,XREAL_1:7;
        then ||.y-y1.|| + ||.y1-qy.|| < r by A21,XXREAL_0:2; then
        ||.y-qy.|| < r by A20,XXREAL_0:2; then
        qy in Ball(y,r);
        hence w in V by A1,A14,A19,ZFMISC_1:87;
      end;
      hence thesis by A9;
    end;
    hence V is open by NORMSP27;
  end;
