 reserve j for set;
 reserve p,r for Real;
 reserve S,T,F for RealNormSpace;
 reserve x0 for Point of S;
 reserve g for PartFunc of S,T;
 reserve c for constant sequence of S;
 reserve R for RestFunc of S,T;
 reserve G for RealNormSpace-Sequence;
 reserve i for Element of dom G;
 reserve f for PartFunc of product G,F;
 reserve x for Element of product G;

theorem Th7:
for S be RealNormSpace,
    xseq be FinSequence of S,
    yseq be FinSequence of REAL st
 len xseq = len yseq &
 ( for i be Element of NAT st i in dom xseq holds
    yseq.i = ||. xseq/.i .|| )
  holds ||.Sum xseq.|| <= Sum yseq
proof
   let S be RealNormSpace,
    xseq be FinSequence of S,
    yseq be FinSequence of REAL;
   assume that
A1: len xseq = len yseq and
A2: for i be Element of NAT st
      i in dom xseq holds yseq.i = ||. xseq/.i .||;

   defpred P[Nat] means
     for xseq be FinSequence of S, yseq be FinSequence of REAL st
      $1=len xseq & len xseq = len yseq &
      ( for i be Element of NAT st i in dom xseq holds
          yseq.i = ||. xseq/.i .|| )
       holds ||.Sum xseq.|| <= Sum yseq;

A3:P[0]
   proof
    let xseq be FinSequence of S, yseq be FinSequence of REAL;
    assume
A4:  0 = len xseq & len xseq = len yseq
   & ( for i be Element of NAT st i in dom xseq holds
        yseq.i = ||. xseq/.i .|| );
    consider Sx be sequence of the carrier of S such that
A5:  Sum xseq = Sx.(len xseq)
   & Sx.0 = 0.S
   & for j be Nat, v be Element of S st
        j < len xseq & v = xseq.(j+1) holds Sx.(j+1) = Sx.j + v
          by RLVECT_1:def 12;
    yseq = {} by A4;
    hence thesis by A4,A5,RVSUM_1:72;
   end;

A6:now let i be Nat;
    assume A7: P[i];
    now let xseq be FinSequence of S, yseq be FinSequence of REAL;
     set xseq0=xseq|i, yseq0=yseq|i;
     assume
A8:   i+1=len xseq & len xseq = len yseq &
      ( for i be Element of NAT st i in dom xseq holds
          yseq.i = ||. xseq/.i .|| );

A9:  for k be Element of NAT st k in dom xseq0 holds yseq0.k = ||. xseq0/.k .||
     proof
      let k be Element of NAT;
      assume
A10:     k in dom xseq0; then
A11:   k in Seg i & k in dom xseq by RELAT_1:57; then
A12:   yseq.k = ||. xseq/.k .|| by A8;
      xseq/.k = xseq.k by A11,PARTFUN1:def 6; then
      xseq/.k = xseq0.k by A11,FUNCT_1:49; then
      xseq/.k = xseq0/.k by A10,PARTFUN1:def 6;
      hence thesis by A11,A12,FUNCT_1:49;
     end;

A13:  dom xseq = Seg(i+1) by A8,FINSEQ_1:def 3; then
A14:  yseq.(i+1) = ||. xseq/.(i+1) .|| by A8,FINSEQ_1:4;
A15: 1 <= i + 1 by NAT_1:11;
     yseq = (yseq|i)^<*yseq/.(i+1) *> by A8,FINSEQ_5:21; then
     yseq = yseq0 ^<*(yseq.(i+1))*> by A8,A15,FINSEQ_4:15; then
A16: Sum yseq = Sum yseq0 + yseq.(i+1) by RVSUM_1:74;
     reconsider v = xseq.(len xseq) as Element of S
       by A13,A8,FINSEQ_1:4,PARTFUN1:4;

A18:  v = xseq/.(i+1) by A8,A13,FINSEQ_1:4,PARTFUN1:def 6;

A19: i=len xseq0 by A8,FINSEQ_1:59,NAT_1:11; then
     xseq0 = xseq| (dom xseq0) by FINSEQ_1:def 3; then
A20: Sum xseq = Sum xseq0 + v by A8,A19,RLVECT_1:38;

A21: ||. Sum xseq0 + v.|| <= ||.Sum xseq0 .|| + ||. v .|| by NORMSP_1:def 1;
     len xseq0 = len yseq0 by A8,A19,FINSEQ_1:59,NAT_1:11; then
     ||. Sum xseq0 .|| + ||.v.|| <= Sum yseq0 + yseq.(i+1)
       by A7,A9,A19,A14,A18,XREAL_1:6;
     hence ||. Sum xseq .|| <= Sum yseq by A16,A20,A21,XXREAL_0:2;
    end;
    hence P[i+1];
   end;
   for i be Nat holds P[i] from NAT_1:sch 2(A3,A6);
   hence thesis by A1,A2;
end;
