reserve i,j,k,n,m for Nat,
        X for set,
        b,s for bag of X,
        x for object;
reserve O for Ordinal,
        R for right_zeroed add-associative right_complementable
          right_unital distributive non trivial doubleLoopStr,
        p for Polynomial of O, R;

theorem Th30:
  for R be Abelian well-unital commutative
      associative right_zeroed add-associative right_complementable
      right_unital distributive non trivial doubleLoopStr
  for p be Polynomial of O, R, f be Function of O, R holds
     eval(p`^k,f) = (power R).( eval(p,f), k)
proof
  let R be Abelian well-unital commutative
      associative right_zeroed add-associative right_complementable
      right_unital distributive non trivial doubleLoopStr;
  let p be Polynomial of O, R, f be Function of O, R;
  defpred P[Nat] means  eval(p`^$1,f) = (power R).( eval(p,f), $1);
   eval(p`^0,f) = eval(1_(O,R),f) by Th28
   .= 1_R by POLYNOM2:21
   .= (power R).( eval(p,f), 0) by GROUP_1:def 7;
   then
A1: P[0];
A2: P[n] implies P[n+1]
   proof
     assume
A3:  P[n];
     thus eval(p`^(n+1),f) = eval((p`^n) *' p ,f) by Th29
     .= (power R).( eval(p,f), n) *eval(p,f) by A3,POLYNOM2:25
     .= (power R).( eval(p,f), n+1) by GROUP_1:def 7;
   end;
   P[n] from NAT_1:sch 2(A1,A2);
   hence thesis;
end;
