reserve G,F for RealLinearSpace;

theorem
  for X be non empty RealNormSpace-Sequence, Y be RealNormSpace
  ex I be Function of [:product X,Y:],product(X^<*Y*>)
  st I is one-to-one & I is onto
  & ( for x be Point of product X, y be Point of Y
  ex x1,y1 be FinSequence st x=x1 & <*y*>=y1 & I.(x,y) = x1^y1 )
  & ( for v,w be Point of [:product X,Y:] holds I.(v+w) = I.v + I.w )
  & ( for v be Point of [:product X,Y:], r be Element of REAL
  holds I.(r*v)=r*(I.v) )
  & I.(0.[:product X,Y:]) = 0.product(X^<*Y*>)
  & ( for v be Point of [:product X,Y:] holds ||. I.v .|| = ||.v.|| )
  proof
    let X be non empty RealNormSpace-Sequence, Y be RealNormSpace;
    consider I be Function of [:product X,Y:],[:product X,product <*Y*>:]
    such that
    A1: I is one-to-one & I is onto
    & ( for x be Point of product X, y be Point of Y holds
      I.(x,y) = [x,<*y*>] )
    & ( for v,w be Point of [:product X,Y:] holds I.(v+w) = I.v + I.w )
    & ( for v be Point of [:product X,Y:], r be Element of REAL
    holds I.(r*v)=r*(I.v) )
    & I.(0.[: product X,Y:]) = 0.([:product X,product <*Y*>:])
    & ( for v be Point of [:product X,Y:] holds ||. I.v .|| = ||.v.|| )
    by Th23;
    consider J be Function of [:product X,product <*Y*>:],product(X^<*Y*>)
    such that
    A2: J is one-to-one & J is onto
    & ( for x be Point of product X, y be Point of product <*Y*>
    ex x1,y1 be FinSequence st x=x1 & y=y1 & J.(x,y) = x1^y1 )
    & ( for v,w be Point of [:product X,product <*Y*>:]
    holds J.(v+w) = J.v + J.w )
    & ( for v be Point of [:product X,product <*Y*>:], r be Element of REAL
    holds J.(r*v)=r*(J.v) )
    & J.(0.[:product X,product <*Y*>:]) = 0.product (X^<*Y*>)
    & ( for v be Point of [:product X,product <*Y*>:]
    holds ||. J.v .|| = ||.v.|| ) by Th17;
    set K=J*I;
    reconsider K as Function of [:product X,Y:],product (X^<*Y*>);
    take K;
    thus K is one-to-one by A1,A2;
    A3:rng J = the carrier of product (X^<*Y*>) by A2,FUNCT_2:def 3;
    rng I = the carrier of [:product X,product<*Y*>:] by A1,FUNCT_2:def 3; then
    rng(J*I) = J.:(the carrier of [:product X,product <*Y*>:]) by RELAT_1:127
    .= the carrier of product (X^<*Y*>) by A3,RELSET_1:22;
    hence K is onto by FUNCT_2:def 3;
    thus for x be Point of product X, y be Point of Y
    ex x1,y1 be FinSequence st x=x1 & <*y*> =y1 & K.(x,y) = x1^y1
    proof
      let x be Point of product X, y be Point of Y;
      A4: I.(x,y) = [x,<*y*>] by A1;
      [x,y] in the carrier of [: product X,Y:]; then
      [x,<*y*>] in the carrier of [:product X,product <*Y*>:]
      by A4,FUNCT_2:5; then
      reconsider yy=<*y*> as Point of product <*Y*> by ZFMISC_1:87;
      consider x1,y1 be FinSequence such that
      A5:  x=x1 & yy=y1 & J.(x,yy) = x1^y1 by A2;
      J.(x,yy) = J.(I.([x,y])) by A4
      .= K.(x,y) by FUNCT_2:15;
      hence thesis by A5;
    end;
    thus for v,w be Point of [:product X,Y:] holds K.(v+w) = K.v + K.w
    proof
      let v,w be Point of [:product X,Y:];
      thus K.(v+w) = J.(I.(v+w)) by FUNCT_2:15
      .= J.(I.v + I.w) by A1
      .= J.(I.v) + J.(I.w) by A2
      .= K.v + J.(I.w) by FUNCT_2:15
      .=K.v + K.w by FUNCT_2:15;
    end;
    thus for v be Point of [:product X,Y:], r be Element of REAL
    holds K.(r*v)=r*(K.v)
    proof
      let v be Point of [:product X,Y:], r be Element of REAL;
      thus K.(r*v) = J.(I.(r*v)) by FUNCT_2:15
      .= J.(r* (I.v)) by A1
      .= r* (J.(I.v)) by A2
      .= r* (K.v) by FUNCT_2:15;
    end;
    thus K.(0.[:product X,Y:]) = 0.product (X^<*Y*>) by A1,A2,FUNCT_2:15;
    thus for v be Point of [:product X,Y:] holds ||. K.v .|| = ||.v.||
    proof
      let v be Point of [:product X,Y:];
      thus ||. K.v .|| = ||. J.(I.v) .|| by FUNCT_2:15
      .= ||. I.v .|| by A2
      .= ||.v.|| by A1;
    end;
  end;
