reserve k,m,n for Nat;
reserve R for commutative Ring,
        p,q for Polynomial of R,
        z0,z1 for Element of R;

theorem Th13:
  (<% z0,z1 %>`^n).k = (n choose k) * ((z1|^k) * (z0|^(n-'k)))
proof
  set Z0 = <%z0%>, Z1 = <%0.R,z1%>, C=(n choose k) * ((z1|^k) * (z0|^(n-'k)));
  set PRR=Polynom-Ring R;
  <% z0,z1 %> = Z0 + Z1 by Th4;
  then consider F being FinSequence of Polynom-Ring R such that
    A1: <% z0,z1 %>`^n = Sum F and
    A2: len F = n+1 and
    A3: for k be Nat st k <= n holds
  F.(k+1) = (n choose k) * @((Z1`^k) *' (Z0`^(n-'k))) by Lm1;
  A4: for i be Nat st i <= n for Fi1 be Polynomial of R st Fi1 = F.(i+1) holds
    (k <> i implies Fi1.k = 0.R) & (k = i implies Fi1.k = C)
  proof
    let i be Nat such that A5:i <= n;
    let Fi1 be Polynomial of R such that A6: Fi1=F.(i+1);
    Fi1 = ~((n choose i) * @((Z1`^i) *' (Z0`^(n-'i)))) by A5,A6,A3;
    then A7:Fi1.k = (n choose i) * ((Z1`^i) *' (Z0`^(n-'i))).k by Th12;
    <%z0|^(n-'i)%> = Z0`^(n-'i) by Th8;
    then A8: ((Z1`^i) *' (Z0`^(n-'i))).k = (Z1`^i).k * (z0|^(n-'i)) by Th7;
    thus k<> i implies Fi1.k = 0.R
    proof
      assume k<>i;
      then (Z1`^i).k=0.R by Th9;
      hence thesis by A7,A8; 
    end;
    assume A9:k=i;
    then i=0 implies (Z1`^i).k=1_R by Th9;
    then i=0 implies (Z1`^i).k=z1|^k by A9,BINOM:8;
    hence thesis by A9,Th9,A7,A8;
  end;
  consider f being sequence of the carrier of PRR such that
    A10:Sum F = f.(len F) and
    A11:f.0 = 0.PRR & for j being Nat for v being Element of PRR st
       j < len F & v = F.(j + 1) holds f.(j + 1) = f.j + v
    by RLVECT_1:def 12;
  set L=len F;
  reconsider fL=f.L as Polynomial of R by POLYNOM3:def 10;
  A12:for p being Polynomial of R st p = f.0 holds p.k = 0.R
  proof
    let p be Polynomial of R;assume p=f.0;
    then p=0_.R & k in NAT by A11,POLYNOM3:def 10,ORDINAL1:def 12;
    hence thesis by FUNCOP_1:7;
  end;
  per cases;
  suppose A13: k > n;
    defpred P[Nat] means $1 <= L implies for p being Polynomial of R st
      p = f.$1 holds p.k = 0.R;
    A14:P[0] by A12;
    A15:for i being Nat st P[i] holds P[i+1]
    proof
      let i be Nat such that A16: P[i];set i1=i+1;
      reconsider fi=f.i as Polynomial of R by POLYNOM3:def 10;
      assume A17: i1 <= L;
      then A18: i < L by NAT_1:13;
      A19:fi.k = 0.R by A16,A17,NAT_1:13;
      i1 in dom F by NAT_1:11,A17,FINSEQ_3:25;
      then A20: F/.i1 =F.i1 by PARTFUN1:def 6;
      then reconsider Fi1=F.i1 as Polynomial of R by POLYNOM3:def 10;
      let p be Polynomial of R such that A21: p = f.i1;
      A22: i <= n by A2,A18,NAT_1:13;
      p = f.i + (F/.i1) by A20,A17,NAT_1:13,A11,A21
       .=  fi + Fi1 by A20,POLYNOM3:def 10;
      hence p.k = fi.k +Fi1.k by NORMSP_1:def 2
               .= 0.R by A4,A13,A19,A22;
    end;
    for i being Nat holds P[i] from NAT_1:sch 2(A14,A15);
    hence (<% z0,z1 %>`^n).k = 0.R by A10,A1
                            .= 0 * ((z1|^k) * (z0|^(n-'k))) by BINOM:12
                            .= C by A13,NEWTON:def 3;
   end;
   suppose A23:k <= n;
     defpred P[Nat] means $1 <= k & $1 <= L implies
       for p being Polynomial of R st p = f.$1 holds p.k = 0.R;
     A24:P[0] by A12;
     A25:for i being Nat st P[i] holds P[i+1]
     proof
       let i be Nat such that A26: P[i];set i1=i+1;
       reconsider fi=f.i as Polynomial of R by POLYNOM3:def 10;
       assume A27: i1 <= k & i1 <= L;
       then A28: i < k & i < L by NAT_1:13;
       A29:fi.k = 0.R by A26,A27,NAT_1:13;
       i1 in dom F by A27,NAT_1:11,FINSEQ_3:25;
       then A30: F/.i1 =F.i1 by PARTFUN1:def 6;
       then reconsider Fi1=F.i1 as Polynomial of R by POLYNOM3:def 10;
       let p be Polynomial of R such that A31: p = f.i1;
       A32: i <= n by A2,A28,NAT_1:13;
       p = f.i + (F/.i1) by A30,A27,NAT_1:13,A11,A31
        .=  fi + Fi1 by A30,POLYNOM3:def 10;
       hence p.k = fi.k +Fi1.k by NORMSP_1:def 2
                .= 0.R by A32,A28,A4,A29;
     end;
     A33:for i being Nat holds P[i] from NAT_1:sch 2(A24,A25);
     defpred R[Nat] means  $1 <= n implies for p being Polynomial of R st
       p = f.($1+1) holds p.k = C;
     A34:R[k]
     proof
       assume A35:k <= n;set k1=k+1;
       let p be Polynomial of R such that A36:p = f.k1;
       reconsider fk=f.k as Polynomial of R by POLYNOM3:def 10;
       1<= k1 & k1 <=L by A2,A35,NAT_1:11,XREAL_1:6;
       then k1 in dom F by FINSEQ_3:25;
       then A37: F/.k1 =F.k1 by PARTFUN1:def 6;
       then reconsider Fk1=F.k1 as Polynomial of R by POLYNOM3:def 10;
       A38: k < L by A35,A2,NAT_1:13;
       then p = f.k + (F/.k1) by A37,A11,A36
             .= fk + Fk1 by A37,POLYNOM3:def 10;
       hence p.k = fk.k + Fk1.k by NORMSP_1:def 2
                .= 0.R + Fk1.k by A38,A33
                .= C by A4,A35;
     end;
     A39: for i being Nat st k<= i holds R[i] implies R[i+1]
     proof
       let i be Nat such that A40: k <=i & R[i]; set i1=i+1,i2=i1+1;
       reconsider fi1=f.i1 as Polynomial of R by POLYNOM3:def 10;
       assume A41: i1 <= n;
       1<= i2 & i2 <= L by A41,A2,NAT_1:11,XREAL_1:6;
       then i2 in dom F by FINSEQ_3:25;
       then A42: F/.i2 =F.i2 by PARTFUN1:def 6;
       then reconsider Fi2=F.i2 as Polynomial of R by POLYNOM3:def 10;
       let p be Polynomial of R such that A43: p = f.i2;
       A44: i1 < L by A41,NAT_1:13,A2;
       A45:i1<>k by A40,NAT_1:13;
       A46: Fi2.k = 0.R by A45, A41,A4;
       p = f.i1 + (F/.i2) by A44,A42,A11,A43
        .=  fi1 + Fi2 by A42,POLYNOM3:def 10;
       hence p.k = fi1.k +Fi2.k by NORMSP_1:def 2
                .= C by A40,A41,A46,NAT_1:13;
     end;
     for i being Nat st k <= i holds R[i] from NAT_1:sch 8(A34,A39);
     hence thesis by A10,A1,A23,A2;
   end;
end;
