
theorem Th5:
  for m be non zero Nat
  for x be Element of REAL m
  holds
    ex s be FinSequence of REAL m
    st dom s = Seg m
      & (for i be Nat st 1 <= i <= m
        holds
          ex ei be Element of REAL m
          st ei = reproj(i, 0* m).1
            & s.i = proj(i,m).x * ei)
      & Sum s = x
proof
  let m be non zero Nat;
  let x be Element of REAL m;

  defpred P1[Nat, object] means
  ex ei be Element of REAL m
  st ei = reproj($1, 0* m).1
    & $2 = proj($1,m).x * ei;

  A1: for i be Nat st i in Seg m
      holds ex y be Element of REAL m st P1[i,y]
  proof
    let i be Nat;
    assume i in Seg m;

    reconsider ei = reproj(i, 0* m).1 as
      Element of REAL m by FUNCT_2:5,NUMBERS:19;

    proj(i,m).x * ei is Element of REAL m;
    hence thesis;
  end;

  consider s be FinSequence of REAL m such that
  A2: dom s = Seg m
    & for i be Nat st i in Seg m
      holds P1[i, s.i] from FINSEQ_1:sch 5(A1);

  take s;
  thus dom s = Seg m by A2;
  m is Element of NAT by ORDINAL1:def 12;
  then
  A3: len s = m by A2,FINSEQ_1:def 3;

  thus
  A4: for i be Nat st 1 <= i <= m
      holds
        ex ei be Element of REAL m
        st ei = reproj(i, 0* m).1
          & s.i = proj(i,m).x * ei
  proof
    let i be Nat;
    assume 1 <= i <= m;
    then i in Seg m;
    hence thesis by A2;
  end;

  A5: len(Sum s) = m by CARD_1:def 7;
  A6: len x = m by CARD_1:def 7;

  for i be Nat st 1 <= i <= len(Sum s)
  holds (Sum s).i = x.i
  proof
    let i be Nat;
    assume
    A7: 1 <= i <= len (Sum s);
    then consider t be FinSequence of REAL such that
    A8: len t = len s
      & ( for j be Nat st 1 <= j <= len s
          holds
            ex sj be Element of REAL m
            st sj = s.j & t.j = sj.i )
      & (Sum s).i = Sum t by A5,Th4;

    i in Seg m by A5,A7;
    then
    A9: i in dom t by A3,A8,FINSEQ_1:def 3;

    consider si be Element of REAL m such that
    A10: si = s.i & t.i = si.i by A3,A5,A7,A8;

    consider ei be Element of REAL m such that
    A11: ei = reproj(i, 0* m).1
        & s.i = proj(i,m).x * ei by A4,A5,A7;
    A12: proj(i,m).x = x.i by PDIFF_1:def 1;
    1 is Element of REAL by NUMBERS:19;
    then
    A13: reproj(i, 0* m).1
    = Replace(0* m,i,1) by PDIFF_1:def 5;
    A14: i in dom(0*m) by A5,A7;
    ei.i = 1 by A11,A13,A14,FUNCT_7:31;
    then
    A15: si.i = (x.i) * 1 by A10,A11,A12,RVSUM_1:45;

    for j be Nat st j in dom t & j <> i holds t.j = 0
    proof
      let j be Nat;
      assume
      A16: j in dom t & j <> i;
      then j in Seg len t by FINSEQ_1:def 3;
      then
      A17: 1 <= j <= len s by A8,FINSEQ_1:1;
      then consider sj be Element of REAL m such that
      A18: sj = s.j & t.j = sj.i by A8;

      consider ei be Element of REAL m such that
      A19: ei = reproj(j,0* m) . 1
          & s.j = proj(j,m).x * ei by A3,A4,A17;

      1 is Element of REAL by NUMBERS:19;
      then reproj(j, 0* m).1 = Replace(0* m,j,1) by PDIFF_1:def 5;
      then
      A20: ei.i
        = (0*m).i by A16,A19,FUNCT_7:32
      .= 0;

      thus t.j
        = proj(j,m).x * ei.i by A18,A19,RVSUM_1:45
      .= 0 by A20;
    end;
    hence thesis by A8,A9,A10,A15,INTEGR23:6;
  end;
  hence Sum s = x by A6,FINSEQ_1:14,CARD_1:def 7;
end;
