reserve a,b,d,n,k,i,j,x,s for Nat;

theorem Th1:
  for f,g be XFinSequence of NAT holds
    value(f^g,b) = value(f,b) + value(g,b) * b|^(len f)
proof
  let f,g be XFinSequence of NAT;
  consider fx be XFinSequence of NAT such that
A1: dom fx = dom f and
A2: for i being Nat st i in dom fx holds fx.i = (f.i)*(b|^i) and
A3: value(f,b) = Sum fx by NUMERAL1:def 1;
  consider gx be XFinSequence of NAT such that
A4: dom gx = dom g and
A5: for i being Nat st i in dom gx holds gx.i = (g.i)*(b|^i) and
A6: value(g,b) = Sum gx by NUMERAL1:def 1;
  consider fgx be XFinSequence of NAT such that
A7: dom fgx = dom (f^g) and
A8: for i being Nat st i in dom fgx holds fgx.i = ((f^g).i)*(b|^i) and
A9: value(f^g,b) = Sum fgx by NUMERAL1:def 1;
  dom (f^g) = len f + len g by AFINSQ_1:def 3;
  then consider Fx,Gx be XFinSequence such that
A10: len Fx = len f & len Gx = len g & fgx = Fx ^ Gx by A7,AFINSQ_1:61;
  rng Fx c= rng fgx & rng Gx c= rng fgx & rng fgx c= NAT by A10,AFINSQ_1:24,25;
  then reconsider Fx,Gx as XFinSequence of NAT by XBOOLE_1:1,RELAT_1:def 19;
  for k be Nat st k in dom fx holds fx.k = Fx.k
  proof
    let k be Nat such that
A11:  k in dom fx;
A12:  fx.k = (f.k)*(b|^k) by A2,A11;
A13:  Fx.k = fgx.k by A1,A11,A10,AFINSQ_1:def 3;
    dom f c= dom (f^g) by AFINSQ_1:21;
    then fgx.k = ((f^g).k)*(b|^k) by A1,A11,A7,A8;
    hence thesis by A13,A12,A1,A11,AFINSQ_1:def 3;
  end;
  then
A14: fx = Fx by A10,A1,AFINSQ_1:8;
  set B=b|^(len f);
A15:dom (B(#)gx) = dom gx by VALUED_1:def 5;
  for k be Nat st k in dom gx holds (B(#)gx).k = Gx.k
  proof
    let k be Nat such that
A16:  k in dom gx;
A17:  gx.k = (g.k)*(b|^k) by A5,A16;
A18:  fgx.(k+len Fx) = ((f^g).(k+len Fx))*(b|^(k+len Fx))
      by AFINSQ_1:23,A4,A16,A10,A8;
A19:  (f^g).(k+len Fx) = g.k by A4,A16,A10,AFINSQ_1:def 3;
A20:  b|^(k+len Fx) = (b|^k) * B by A10,NEWTON:8;
    (B(#)gx).k = B*(gx.k) by VALUED_1:6;
    hence thesis by A4,A16,A10,AFINSQ_1:def 3,A17,A18,A19,A20;
  end;
  then Gx = B(#)gx by A15,A4,A10,AFINSQ_1:8;
  hence value(f^g,b) = Sum Fx + Sum (B(#)gx) by A9,A10,AFINSQ_2:55
  .= value(f,b) + value(g,b)*B by A3,A6,A14,AFINSQ_2:64;
end;
