reserve G for RealNormSpace-Sequence;

theorem
  for G be RealNormSpace-Sequence st
    for i be Element of dom G holds G.i is complete holds
  product G is complete
proof
  let G be RealNormSpace-Sequence such that
A1: for i be Element of dom G holds G.i is complete;
  reconsider I = len G as Element of NAT;
A2: product G = NORMSTR(# product carr G,zeros G,[:addop G:], [:multop G:],
    productnorm(G) #) by Th6;
  for seq be sequence of (product G) holds seq is Cauchy_sequence_by_Norm
  implies seq is convergent
  proof
    let seq be sequence of product G;
    defpred PPG[Nat,object] means
ex i be Element of dom G st i=$1 & ex seqi be
sequence of G.i st seqi is convergent & $2 = lim seqi & for m be Element of NAT
    holds ex seqm be Element of product carr G st seqm= seq.m & seqi.m=seqm.i;
    assume
A3: seq is Cauchy_sequence_by_Norm;
A4: for k be Nat st k in Seg I ex x be object st PPG[k,x]
    proof
      let k be Nat;
      assume k in Seg I;
      then reconsider i=k as Element of dom G by FINSEQ_1:def 3;
      defpred P1[Element of NAT,Element of G.i] means ex seqm be Element of
      product carr G st seqm = seq.$1 & $2 = seqm.i;
A5:   for x being Element of NAT ex y being Element of G.i st P1[x,y]
      proof
        let x be Element of NAT;
        consider seqm be Element of product carr G such that
A6:     seqm =seq.x by A2;
        len G = len carr G by PRVECT_1:def 11;
        then
A7:     dom G = dom carr G by FINSEQ_3:29;
        take seqm.i;
        (carr G).i = the carrier of G.i by PRVECT_1:def 11;
        hence thesis by A6,A7,CARD_3:9;
      end;
      ex f be sequence of the carrier of G.i st for x being Element
      of NAT holds P1[x,f.x] from FUNCT_2:sch 3(A5);
      then consider seqi be sequence of G.i such that
A8:   for m be Element of NAT holds ex seqm be Element of product
      carr G st seqm= seq.m & seqi.m=seqm.i;
A9:   for m be Nat ex seqm be Element of product
      carr G st seqm= seq.m & seqi.m=seqm.i
      proof let n be Nat;
        n in NAT by ORDINAL1:def 12;
       hence thesis by A8;
      end;
      take lim seqi;
      now
        let r1 be Real such that
A10:     r1 > 0;
        reconsider r=r1 as Element of REAL by XREAL_0:def 1;
        consider k be Nat such that
A11:    for n,m be Nat st n >= k & m >= k holds ||. seq.n
        - seq.m .|| < r by A3,A10,RSSPACE3:8;
        take k;
          let n,m be Nat;
          assume n >= k & m >= k;
          then
A12:      ||. seq.n - seq.m .|| < r by A11;
          ( ex seqm be Element of product carr G st seqm = seq.m & seqi.m
= seqm.i)& ex seqn be Element of product carr G st seqn = seq.n & seqi.n = seqn
          .i by A9;
          then ||. seqi.n - seqi.m .||<= ||. seq.n - seq.m .|| by Th11;
          hence ||. seqi.n - seqi.m .|| < r1 by A12,XXREAL_0:2;
        end;
      then
A13:  seqi is Cauchy_sequence_by_Norm by RSSPACE3:8;
      G.i is complete by A1;
      hence thesis by A8,A13,LOPBAN_1:def 15;
    end;
    consider yy0 be FinSequence such that
A14: dom yy0 = Seg I & for j be Nat st j in Seg I holds PPG[j,yy0.j]
    from FINSEQ_1:sch 1(A4);
A15: len yy0 = I by A14,FINSEQ_1:def 3;
    then
A16: len yy0 = len carr G by PRVECT_1:def 11;
A17: now
      let i be object;
      assume i in dom carr G;
      then reconsider x = i as Element of dom carr G;
      reconsider x as Element of dom G by A15,A16,FINSEQ_3:29;
      reconsider j =x as Element of NAT;
      j in dom G;
      then j in Seg I by FINSEQ_1:def 3;
      then ex i0 be Element of dom G st i0=j & ex seqi be sequence of G.i0 st
seqi is convergent & yy0.j = lim seqi & for m be Element of NAT holds ex seqm
      be Element of product carr G st seqm= seq.m & seqi.m=seqm.i0 by A14;
      then yy0.x in the carrier of G.x;
      hence yy0.i in (carr G).i by PRVECT_1:def 11;
    end;
    dom carr G = Seg len carr G & len G = len carr G
      by PRVECT_1:def 11,FINSEQ_1:def 3;
    then reconsider y0=yy0 as Element of product carr G by A14,A17,CARD_3:9;
A18: now
      let i be Element of dom G;
      reconsider j=i as Element of NAT;
      i in dom G;
      then i in Seg I by FINSEQ_1:def 3;
      then consider i0 be Element of dom G such that
A19:  i0=j and
A20:  ex seqi be sequence of G.i0 st seqi is convergent & yy0.j = lim
seqi & for m be Element of NAT holds ex seqm be Element of product carr G st
      seqm= seq.m & seqi.m=seqm.i0 by A14;
      consider seqi be sequence of G.i0 such that
A21:  seqi is convergent & yy0.j = lim seqi & for m be Element of NAT
holds ex seqm be Element of product carr G st seqm = seq.m & seqi.m=seqm.i0 by
A20;
      reconsider seqi as sequence of G.i by A19;
      take seqi;
      thus seqi is convergent & y0.i = lim seqi &
        for m be Element of NAT holds
        ex seqm be Element of product carr G st seqm= seq.m & seqi.m=seqm.i
        by A19,A21;
    end;
    reconsider x0 =y0 as Point of product G by A2;
    x0 = y0;
    hence thesis by A18,Th13;
  end;
  hence thesis by LOPBAN_1:def 15;
end;
