
theorem teval:
for R being non degenerated Ring
for n being non zero Nat
for a,x being Element of R holds eval(X^(n,a),x) = x|^n - a
proof
let R be non degenerated Ring, n be non zero Nat,
    a,x be Element of R;
set q = X^(n,a);
consider F be FinSequence of R such that
A3: eval(q,x) = Sum F and
A4: len F = len q and
A5: for j be Element of NAT st j in dom F holds
      F.j = q.(j-'1) * (power R).(x,j-'1) by POLYNOM4:def 2;
A: n = deg q by Lm12 .= len q - 1 by HURWITZ:def 2; then
B: len q = n + 1;
C: dom F = Seg(n+1) by A,A4,FINSEQ_1:def 3;
D: 1 <= n + 1 by NAT_1:11;
E: n+1-'1 = n+1-1 by NAT_1:11,XREAL_1:233;
B1: F.(n+1) = q.n * (power R).(x,n+1-'1) by E,A5,D,C,FINSEQ_1:1
           .= 1.R * (power R).(x,(n+1)-'1) by Lm10
           .= x |^ n by E;
B2: now let j be Element of NAT;
    assume H0: 1 < j & j <= n;
    reconsider j1 = j -' 1 as Element of NAT;
    reconsider n1  = n - 1 as Element of NAT by INT_1:3;
    n <= n + 1 by NAT_1:11;
    then H1: j <= n + 1 by H0,XXREAL_0:2;
    H4: j1 = j - 1 by H0,XREAL_1:233;
    then H2: j1 <> 0 by H0;
    j1 + 1 <= n1 + 1 by H4,H0;
    then H3: j1 <> n by NAT_1:13;
    thus F.j = q.(j1) * (power R).(x,j-'1) by A5,H1,C,H0,FINSEQ_1:1
            .= 0.R * (power R).(x,j-'1) by H2,H3,Lm11
            .= 0.R;
    end;
B3: F.1 = q.(1-'1) * (power R).(x,1-'1) by A5,C,D,FINSEQ_1:1
            .= q.0 * (power R).(x,1-'1) by NAT_2:8
            .= q.0 * (power R).(x,0) by NAT_2:8
            .= (-a) * (power R).(x,0) by Lm10
            .= (-a) * 1_R by GROUP_1:def 7
            .= -a;
B4: len F <> 0 by A,A4;
consider fp being sequence of the carrier of R such that
A6: Sum F = fp.(len F) and
A7: fp.0 = 0.R and
A8: for j being Nat, v being Element of R
    st j < len F & v = F.(j + 1)
    holds fp.(j + 1) = fp.j + v by RLVECT_1:def 12;
defpred P[Element of NAT] means
  ($1 = 0 & fp.($1) = 0.R) or
  (0 < $1 & $1 < len F & fp.($1) = -a) or ($1 = len F & fp.($1) = x|^n - a);
IA: P[0] by A7;
IS: now let j be Element of NAT;
    assume C1: 0 <= j & j < len F;
    assume C2: P[j];
    per cases;
    suppose D1: j = 0 & j < len F - 1;
      then D2: fp.(j+1) = fp.0 + (-a) by B3,A8,C1 .= -a by A7;
      j + 1 < (len F - 1) + 1 by D1,XREAL_1:6;
      hence P[j+1] by D2;
      end;
    suppose j = 0 & j >= len F - 1;
      hence P[j+1] by A,A4;
      end;
    suppose D1: 0 < j & j < len F - 1;
      then D3: j + 1 <= n by A,A4,INT_1:7;
      j + 1 > 0 + 1 by D1,XREAL_1:8;
      then F.(j+1) = 0.R by D3,B2;
      then fp.(j+1) = (-a) + 0.R by C2,D1,C1,A8;
      hence P[j+1] by D3,B,A4,XXREAL_0:2,NAT_1:16;
      end;
    suppose D1: 0 < j & j >= len F - 1;
      j + 1 <= len F by INT_1:7,C1;
      then D2: (j + 1) - 1 <= len F - 1 by XREAL_1:9;
      then  j = n by A4,A,D1,XXREAL_0:1;
      then fp.(j+1) = fp.j + x |^ n by B1,A8,C1;
      hence P[j+1] by A4,A,B1,C2,D2,D1,XXREAL_0:1;
      end;
    end;
I: for j being Element of NAT st 0 <= j & j <= len F holds P[j]
   from INT_1:sch 7(IA,IS);
thus eval(q,x) = x|^n - a by I,A6,A3,B4;
end;
