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

theorem
  for E,F,G be RealLinearSpace holds
  ( for x be set holds
  ( x is Point of product <*E,F,G*>
  iff ex x1 be Point of E, x2 be Point of F, x3 be Point of G st
      x=<* x1,x2,x3 *> ) )
  & ( for x1,y1 be Point of E, x2,y2 be Point of F, x3,y3 be Point of G
  holds <*x1,x2,x3*> + <*y1,y2,y3*> = <*x1+y1,x2+y2,x3+y3*> )
  & 0.(product <*E,F,G*>) = <* 0.E,0.F,0.G *>
  & ( for x1 be Point of E, x2 be Point of F, x3 be Point of G
   holds -<* x1,x2,x3 *> = <* -x1,-x2,-x3 *> )
  & ( for x1 be Point of E, x2 be Point of F, x3 be Point of G, a be Real
   holds a*<*x1,x2,x3*> = <* a*x1,a*x2,a*x3 *> )
  proof
    let E,F,G be RealLinearSpace;
   A1: the carrier of [:E,F,G:]
       = [:the carrier of E, the carrier of F, the carrier of G:];
   consider I be Function of [:E,F,G:], product <* E,F,G *> such that
    A2: I is one-to-one & I is onto
    & ( for x be Point of E, y be Point of F
          , z be Point of G holds I.(x,y,z) = <* x,y,z *> )
    & ( for v,w be Point of [:E,F,G:] holds I.(v+w) = I.v + I.w )
    & ( for v be Point of [:E,F,G:], r be Real holds I.(r*v)=r*(I.v) )
    & 0. product <*E,F,G*> = I.(0.[:E,F,G:]) by Th11;
    thus for x be set holds
    ( x is Point of product <*E,F,G*>
    iff ex x1 be Point of E, x2 be Point of F, x3 be Point of G st
     x=<* x1,x2,x3 *> )
    proof
      let y be set;
      hereby assume y is Point of product <*E,F,G*>; then
        y in the carrier of product <*E,F,G*>; then
        y in rng I by A2,FUNCT_2:def 3; then
        consider x be Element of the carrier of [:E,F,G:] such that
        A4:  y = I.x by FUNCT_2:113;
        consider x1 be Point of E, x2 be Point of F, x3 be Point of G such that
        A5:  x=[x1,x2,x3] by A1,Lm1;
        take x1,x2,x3;
        I.(x1,x2,x3) = <*x1,x2,x3*> by A2;
        hence y = <*x1,x2,x3*> by A4,A5;
      end;
      thus thesis;
     end;
    thus
    A8: for x1,y1 be Point of E, x2,y2 be Point of F, x3,y3 be Point of G holds
     <*x1,x2,x3*> + <*y1,y2,y3*> = <*x1+y1,x2+y2,x3+y3*>
    proof
      let x1,y1 be Point of E, x2,y2 be Point of F, x3,y3 be Point of G;
      A10: [x1,x2,x3]+[y1,y2,y3] = [x1+y1,x2+y2,x3+y3] by Th8;
      I.(x1+y1,x2+y2,x3+y3) = <* x1+y1,x2+y2,x3+y3 *>
      & I.(x1,x2,x3) = <* x1,x2,x3 *> & I.(y1,y2,y3) = <* y1,y2,y3 *> by A2;
      hence thesis by A2,A10;
    end;
    thus
    A11: 0. product <*E,F,G*> = <* 0.E,0.F,0.G *>
    proof
      I.(0.E,0.F,0.G) = <* 0.E,0.F,0.G *> by A2;
      hence thesis by A2;
    end;
    thus for x1 be Point of E, x2 be Point of F, x3 be Point of G
    holds -<*x1,x2,x3*> = <* -x1,-x2,-x3 *>
    proof
      let x1 be Point of E, x2 be Point of F, x3 be Point of G;
      <* x1,x2,x3 *>+<* -x1,-x2,-x3 *> = <* x1+-x1,x2+-x2,x3+-x3 *> by A8
      .= <* 0.E,x2+-x2,x3+-x3 *> by RLVECT_1:def 10
      .= <* 0.E,0.F,x3+-x3 *> by RLVECT_1:def 10
      .= 0.(product <*E,F,G*>) by A11,RLVECT_1:def 10;
      hence thesis by RLVECT_1:def 10;
    end;
    let x1 be Point of E, x2 be Point of F, x3 be Point of G, a be Real;
A14: <* x1,x2,x3 *> = I.(x1,x2,x3) by A2;
     I.(a*[x1,x2,x3]) = I.(a*x1,a*x2,a*x3) by Th8
     .= <* a*x1,a*x2,a*x3 *> by A2;
     hence thesis by A2,A14;
  end;
