reserve v,x,x1,x2,y,z for object,
  X,X1,X2,X3 for set;

theorem Th11:
  for X,Y,Z be RealLinearSpace holds
  ex I be Function of [:X,Y,Z:],product <*X,Y,Z*>
  st I is one-to-one & I is onto
  & ( for x be Point of X, y be Point of Y, z be Point of Z
       holds I.(x,y,z) = <*x,y,z*> )
  & ( for v,w be Point of [:X,Y,Z:] holds I.(v+w)=(I.v) + (I.w) )
  & ( for v be Point of [:X,Y,Z:], r be Real
  holds I.(r*v)=r*(I.v) )
  & I.(0.[:X,Y,Z:])=0.product <*X,Y,Z*>
  proof
    let X,Y,Z be RealLinearSpace;
    set CarrX = the carrier of X;
    set CarrY = the carrier of Y;
    set CarrZ = the carrier of Z;
    A1: the carrier of [:X,Y,Z:]
       =[:the carrier of X,the carrier of Y, the carrier of Z:];
   consider I be Function of [:CarrX,CarrY,CarrZ:],
     product <*CarrX,CarrY,CarrZ*> such that
    A2: I is one-to-one & I is onto
    & for x,y,z be object st x in CarrX & y in CarrY
        & z in CarrZ
    holds I.(x,y,z) = <*x,y,z*> by Th5;
    len carr <*X,Y,Z*> = len <*X,Y,Z*> by PRVECT_1:def 11; then
    A3:len carr <*X,Y,Z*> = 3 by FINSEQ_1:45; then
    A4:dom carr <*X,Y,Z*> = {1,2,3} by FINSEQ_1:def 3,FINSEQ_3:1;
    len <*X,Y,Z*> = 3 by FINSEQ_1:45; then
    A5:dom <*X,Y,Z*> = {1,2,3} by FINSEQ_1:def 3,FINSEQ_3:1;
    A6:<*X,Y,Z*>.1 = X & <*X,Y,Z*>.2 = Y
         & <*X,Y,Z*>.3 = Z;
    1 in {1,2,3} & 2 in {1,2,3} & 3 in {1,2,3} by ENUMSET1:def 1; then
    (carr <*X,Y,Z*>).1 = CarrX & (carr <*X,Y,Z*>).2 = CarrY
     & (carr <*X,Y,Z*>).3 = CarrZ by A5,A6,PRVECT_1:def 11; then
    A7:carr <*X,Y,Z*> = <* CarrX,CarrY,CarrZ *> by A3,FINSEQ_1:45; then
    reconsider I as Function of [:X,Y,Z:],product <*X,Y,Z*>;
    A8:for x be Point of X,y be Point of Y,
      z be Point of Z holds I.(x,y,z) = <*x,y,z*> by A2;
    A9:for v,w be Point of [:X,Y,Z:] holds I.(v+w) = I.v + I.w
    proof
      let v,w be Point of [:X,Y,Z:];
     A10: the carrier of [:X,Y,Z:]
       =[:the carrier of X,the carrier of Y, the carrier of Z:];
      consider x1 be Point of X, y1 be Point of Y,
       z1 be Point of Z such that
      A11: v = [x1,y1,z1] by A10,Lm1;
      consider x2 be Point of X, y2 be Point of Y, z2 be Point of Z such that
      A12: w = [x2,y2,z2] by A10,Lm1;
      I.v = I.(x1,y1,z1) & I.w = I.(x2,y2,z2) by A11,A12; then
      A13:I.v = <*x1,y1,z1*> & I.w = <*x2,y2,z2*> by A2;
      A14:I.(v+w) =I.(x1+x2,y1+y2,z1+z2) by A11,A12,Th8
      .= <* x1+x2,y1+y2,z1+z2 *> by A2;
      reconsider Iv = I.v, Iw = I.w as Element of product carr <*X,Y,Z*>;
      reconsider j1=1, j2=2,j3=3
             as Element of dom carr <*X,Y,Z*> by A4, ENUMSET1:def 1;
      A16: (addop <*X,Y,Z*>).j1
        = the addF of (<*X,Y,Z*>.j1) by PRVECT_1:def 12;
      A17: ([:addop <*X,Y,Z*>:].(Iv,Iw)).j1
      = ((addop <*X,Y,Z*>).j1).(Iv.j1,Iw.j1) by PRVECT_1:def 8
      .= x1+x2 by A16,A13;
      A18: (addop <*X,Y,Z*>).j2
        = the addF of (<*X,Y,Z*>.j2) by PRVECT_1:def 12;
      A19: (addop <*X,Y,Z*>).j3
        = the addF of (<*X,Y,Z*>.j3) by PRVECT_1:def 12;
      A20: ([:addop <*X,Y,Z*>:].(Iv,Iw)).j2
      = ((addop <*X,Y,Z*>).j2).(Iv.j2,Iw.j2) by PRVECT_1:def 8
      .= y1+y2 by A18,A13;
      A21: ([:addop <*X,Y,Z*>:].(Iv,Iw)).j3
      = ((addop <*X,Y,Z*>).j3).(Iv.j3,Iw.j3) by PRVECT_1:def 8
      .= z1+z2 by A19,A13;
      consider Ivw be Function such that
      A22: I.v + I.w = Ivw & dom Ivw = dom carr <*X,Y,Z*>
      & for i be object st i in dom carr <*X,Y,Z*>
      holds Ivw.i in carr (<*X,Y,Z*>).i by CARD_3:def 5;
      A23: dom Ivw = Seg 3 by A3,A22,FINSEQ_1:def 3; then
      reconsider Ivw as FinSequence by FINSEQ_1:def 2;
      len Ivw = 3 by A23,FINSEQ_1:def 3;
      hence thesis by A14,A22,A17,A20,A21,FINSEQ_1:45;
    end;
    A24:for v be Point of [:X,Y,Z:], r be Real holds I.(r*v)=r*(I.v)
    proof
      let v be Point of [:X,Y,Z:], r be Real;
      consider x1 be Point of X, y1 be Point of Y,
       z1 be Point of Z such that
      A25: v = [x1,y1,z1] by A1,Lm1;
      A26:I.v =I.(x1,y1,z1) by A25 .= <*x1,y1,z1*> by A2;
      A27:I.(r*v) =I.(r*x1,r*y1,r*z1) by A25,Th8
          .= <* r*x1,r*y1,r*z1 *> by A2;
      reconsider j1=1, j2=2,j3=3 as Element of dom carr <*X,Y,Z*>
               by A4, ENUMSET1:def 1;
      A29: (multop <*X,Y,Z*>).j1 = the Mult of (<*X,Y,Z*>.j1)
      & (multop <*X,Y,Z*>).j2 = the Mult of (<*X,Y,Z*>.j2)
      & (multop <*X,Y,Z*>).j3 = the Mult of (<*X,Y,Z*>.j3) by PRVECT_2:def 8;
      reconsider Iv = I.v as Element of product carr <*X,Y,Z*>;
      reconsider rr=r as Element of REAL by XREAL_0:def 1;
      ([:multop <*X,Y,Z*>:].(rr,Iv)).j1 = ((multop <*X,Y,Z*>).j1).(r,Iv.j1)
      & ([:multop <*X,Y,Z*>:].(rr,Iv)).j2 = ((multop <*X,Y,Z*>).j2).(r,Iv.j2)
      & ([:multop <*X,Y,Z*>:].(rr,Iv)).j3
         = ((multop <*X,Y,Z*>).j3).(r,Iv.j3) by PRVECT_2:def 2; then
      A30: ([:multop <*X,Y,Z*>:].(rr,Iv)).j1 = r*x1
      & ([:multop <*X,Y,Z*>:].(rr,Iv)).j2 = r*y1
      & ([:multop <*X,Y,Z*>:].(rr,Iv)).j3 = r*z1 by A29,A26;
      consider Ivw be Function such that
      A31: r*(I.v) = Ivw & dom Ivw = dom carr <*X,Y,Z*>
      & for i be object st i in dom carr <*X,Y,Z*>
        holds Ivw.i in carr (<*X,Y,Z*>).i by CARD_3:def 5;
      A32: dom Ivw = Seg 3 by A3,A31,FINSEQ_1:def 3; then
      reconsider Ivw as FinSequence by FINSEQ_1:def 2;
      len Ivw = 3 by A32,FINSEQ_1:def 3;
      hence thesis by A27,A31,A30,FINSEQ_1:45;
    end;
    I.(0.[:X,Y,Z:]) = I.(0.[:X,Y,Z:] + 0.[:X,Y,Z:])
    .= I.(0.[:X,Y,Z:]) + I.(0.[:X,Y,Z:]) by A9; then
    I.(0.[:X,Y,Z:]) - I.(0.[:X,Y,Z:]) = I.(0.[:X,Y,Z:]) + (I.(0.[:X,Y,Z:])
          - I.(0.[:X,Y,Z:])) by RLVECT_1:28
    .= I.(0.[:X,Y,Z:]) + 0.product <*X,Y,Z*> by RLVECT_1:15
    .= I.(0.[:X,Y,Z:]);
    hence thesis by A8,A9,A24,A2,A7,RLVECT_1:15;
  end;
