
theorem eval0:
for F being Field, E being FieldExtension of F
for m being Ordinal st m in card(nonConstantPolys F)
for p being Polynomial of F
for x being Function of card(nonConstantPolys F),E
holds Ext_eval(Poly(m,p),x) = Ext_eval(p,x/.m)
proof
let F be Field, E be FieldExtension of F; let m be Ordinal;
assume AS: m in card(nonConstantPolys F);
let p be Polynomial of F;
let x be Function of card(nonConstantPolys F),E;
set q = Poly(m,p), n = card(nonConstantPolys F);
defpred P[Nat] means
  for p being Polynomial of F for x being Function of n,E
  st card(Support Poly(m,p)) = $1
  holds Ext_eval(Poly(m,p),x) = Ext_eval(p,x/.m);
IS: now let k be Nat;
    assume IV: for n being Nat st n < k holds P[n];
    per cases;
    suppose A: k = 0;
      now let p be Polynomial of F; let x be Function of n,E;
        assume card(Support Poly(m,p)) = k;
        then Support Poly(m,p) = {} by A;
        then B: Poly(m,p) = 0_(n,F) by YY;
        then C: p = 0_.(F) by AS,pZero;
        thus Ext_eval(Poly(m,p),x) = 0.E by B,ev0
                                  .= Ext_eval(p,x/.m) by C,ALGNUM_1:13;
        end;
      hence P[k];
      end;
    suppose A: k <> 0;
      then reconsider k1 = k - 1 as Element of NAT by INT_1:3;
      H: F is Subring of E by FIELD_4:def 1;
      now let p be Polynomial of F; let x be Function of n,E;
        assume Z: card(Support Poly(m,p)) = k;
        set q = p - LM p;
        B: (LM p) + q
               = ((LM p) + -LM p) + p by POLYNOM3:26
              .= ((LM p) - LM p) + p
              .= 0_.(F) + p by POLYNOM3:29;
        C: (LM Poly(m,p)) + Poly(m,p-LM p)
               = (LM Poly(m,p)) + (Poly(m,p) + Poly(m,-LM p)) by Th14
              .= (LM Poly(m,p)) + (Poly(m,p) + - Poly(m,LM p)) by Th14xy
              .= (LM Poly(m,p)) + (Poly(m,p) + - LM Poly(m,p)) by AS,Th14y
              .= ((LM Poly(m,p)) + -LM Poly(m,p)) + Poly(m,p) by POLYNOM1:21
              .= ((LM Poly(m,p)) - LM Poly(m,p)) + Poly(m,p) by POLYNOM1:def 7
              .= 0_(n,F) + Poly(m,p) by POLYNOM1:24
              .= Poly(m,p) by POLYNOM1:23;
           Support Poly(m,q) c< Support Poly(m,p)
              proof
                Support Poly(m,p) <> {} by A,Z; then
                LM Poly(m,p) <> 0_(n,F) by YY,Z2a; then
              C5: Support(LM Poly(m,p)) = {Lt Poly(m,p)} by YY,Z2; then
              C8: Lt Poly(m,p) in Support(LM Poly(m,p)) by TARSKI:def 1;
                  Support(LM Poly(m,p)) c= Support Poly(m,p) by YZ; then
              C4: Lt Poly(m,p) in Support Poly(m,p) by C8;
              set b = Lt Poly(m,p);
              C7: Poly(m,q).(Lt Poly(m,p))
                      = (Poly(m,p) + Poly(m,-LM p)).b by Th14
                     .= Poly(m,p).b + Poly(m,-LM p).b by POLYNOM1:15
                     .= Poly(m,p).b + (-Poly(m,LM p)).b by Th14xy
                     .= Poly(m,p).b + -(Poly(m,LM p).b) by POLYNOM1:17
                     .= LC Poly(m,p) + -((LM Poly(m,p)).b) by AS,Th14y
                     .= LC Poly(m,p) + -LC Poly(m,p) by lemY
                     .= 0.F by RLVECT_1:5; then
              C6: not Lt Poly(m,p) in Support Poly(m,q) by POLYNOM1:def 4;
                now let o be object;
                assume C0: o in Support Poly(m,q); then
                reconsider b = o as bag of n;
                C3: b is Element of Bags n by PRE_POLY:def 12;
                C1: Poly(m,q).b <> 0.F by C0,POLYNOM1:def 4; then
                not b in Support(LM Poly(m,p)) by C7,C5,TARSKI:def 1; then
                not b in Support Poly(m,LM p) by AS,Th14y; then
                C2: Poly(m,LM p).b = 0.F by C3,POLYNOM1:def 4;
                Poly(m,q).b = (Poly(m,p) + Poly(m,-LM p)).b by Th14
                           .= Poly(m,p).b + Poly(m,-LM p).b by POLYNOM1:15
                           .= Poly(m,p).b + (-Poly(m,LM p)).b by Th14xy
                           .= Poly(m,p).b + -(Poly(m,LM p).b) by POLYNOM1:17
                           .= Poly(m,p).b by C2;
                hence o in Support Poly(m,p) by C1,C3,POLYNOM1:def 4;
                end;
              then Support Poly(m,q) c= Support Poly(m,p);
              hence thesis by C6,C4,XBOOLE_0:def 8;
              end; then
        D: card(Support Poly(m,q)) < k by Z,CARD_2:48;
             Support Poly(m,p) <> {} by A,Z; then
             LM Poly(m,p) <> 0_(n,F) by YY,Z2a; then
             Support LM Poly(m,p) <> {} by YY; then
             Support(Poly(m,LM p)) <> {} by AS,Th14y; then
             ex b being bag of n st Support Poly(m,LM p) = {b} by POLYNOM7:6;
             then
        E: card(Support Poly(m,LM p)) = 1 by CARD_2:42;
        thus Ext_eval(Poly(m,p),x)
           = Ext_eval(LM Poly(m,p),x) + Ext_eval(Poly(m,q),x) by H,C,evalpl
          .= Ext_eval(LM Poly(m,p),x) + Ext_eval(q,x/.m) by D,IV
          .= Ext_eval(Poly(m,LM p),x) + Ext_eval(q,x/.m) by AS,Th14y
          .= Ext_eval(LM p,x/.m) + Ext_eval(q,x/.m) by AS,E,eval0LM
          .= Ext_eval(p,x/.m) by B,H,ALGNUM_1:15;
        end;
      hence P[k];
      end;
    end;
I: for k being Nat holds P[k] from NAT_1:sch 4(IS);
consider n being Nat such that H: card(Support q) = n;
thus thesis by I,H;
end;
