
theorem
  for n being Ordinal, L being left_zeroed right_zeroed
  left_add-cancelable add-associative right_complementable well-unital
associative commutative distributive domRing-like non trivial doubleLoopStr,
p being Polynomial of n,L, a being Element of L, x being Function of n,L holds
  eval(p*a,x) = eval(p,x) * a
proof
  let n be Ordinal, L be left_zeroed right_zeroed left_add-cancelable
  add-associative right_complementable well-unital associative commutative
distributive domRing-like non trivial doubleLoopStr, p be Polynomial of n,L,
  a be Element of L, x be Function of n,L;
  consider y being FinSequence of the carrier of L such that
A1: len y = len SgmX(BagOrder n, Support(p*a)) and
A2: eval(p*a,x) = Sum y and
A3: for i being Element of NAT st 1 <= i & i <= len y holds y/.i = ((p*a
) * SgmX(BagOrder n, Support(p*a)))/.i * eval(((SgmX(BagOrder n, Support(p*a)))
  /.i),x) by POLYNOM2:def 4;
  consider z being FinSequence of the carrier of L such that
A4: len z = len SgmX(BagOrder n, Support p) and
A5: eval(p,x) = Sum z and
A6: for i being Element of NAT st 1 <= i & i <= len z holds z/.i = (p *
  SgmX(BagOrder n, Support p))/.i * eval(((SgmX(BagOrder n, Support p))/.i),x)
  by POLYNOM2:def 4;
  now
    per cases;
    case
A7:   a = 0.L;
A8:   now
        let b be bag of n;
        thus (p*a).b = p.b * a by Def10
          .= 0.L by A7;
      end;
A9:   now
        assume Support(p*a) <> {};
        then reconsider sp = Support(p*a) as non empty Subset of Bags n;
        set c = the Element of sp;
        (p*a).c <> 0.L by POLYNOM1:def 4;
        hence contradiction by A8;
      end;
      BagOrder n linearly_orders Support(p*a) by POLYNOM2:18;
      then rng(SgmX(BagOrder n, Support(p*a))) = {} by A9,PRE_POLY:def 2;
      then SgmX(BagOrder n, Support(p*a)) = {} by RELAT_1:41;
      then y = <*>(the carrier of L) by A1;
      then Sum y = 0.L by RLVECT_1:43
        .= Sum z * a by A7;
      hence thesis by A2,A5;
    end;
    case
A10:  a <> 0.L;
A11:  for u being object holds u in Support(p*a) implies u in Support p
      proof
        let u be object;
        assume
A12:    u in Support(p*a);
        then reconsider u9 = u as Element of Bags n;
        (p*a).u <> 0.L by A12,POLYNOM1:def 4;
        then p.u9 * a <> 0.L by Def10;
        then p.u9 <> 0.L;
        hence thesis by POLYNOM1:def 4;
      end;
A13:  for u being object holds u in Support p implies u in Support(p*a)
      proof
        let u be object;
        assume
A14:    u in Support p;
        then reconsider u9 = u as Element of Bags n;
        p.u <> 0.L by A14,POLYNOM1:def 4;
        then p.u9 * a <> 0.L by A10,VECTSP_2:def 1;
        then (p *a).u9 <> 0.L by Def10;
        hence thesis by POLYNOM1:def 4;
      end;
      then
A15:  len z = len y by A1,A4,A11,TARSKI:2;
      then
A16:  dom z = Seg(len y) by FINSEQ_1:def 3
        .= dom y by FINSEQ_1:def 3;
A17:  BagOrder n linearly_orders Support(p*a) by POLYNOM2:18;
A18:  Support(p*a) = Support(p) by A13,A11,TARSKI:2;
      now
A19:    dom(p*a) = Bags n by FUNCT_2:def 1;
        now
          let u be object;
          assume u in rng(SgmX(BagOrder n, Support(p*a)));
          then u in Support(p*a) by A17,PRE_POLY:def 2;
          hence u in dom(p*a) by A19;
        end;
        then rng SgmX(BagOrder n, Support(p*a)) c= dom(p*a) by TARSKI:def 3;
        then reconsider
        r = (p*a) * SgmX(BagOrder n, Support(p*a)) as FinSequence
        by FINSEQ_1:16;
        for u being object holds u in rng r implies u in the carrier of L
        proof
          let u be object;
          assume u in rng r;
          then
A20:      u in rng(p*a) by FUNCT_1:14;
          rng(p*a) c= the carrier of L by RELAT_1:def 19;
          hence thesis by A20;
        end;
        then
A21:    rng r c= the carrier of L by TARSKI:def 3;
A22:    dom p = Bags n by FUNCT_2:def 1;
        now
          let u be object;
          assume u in rng(SgmX(BagOrder n, Support(p*a)));
          then u in Support(p*a) by A17,PRE_POLY:def 2;
          hence u in dom p by A22;
        end;
        then rng SgmX(BagOrder n, Support(p*a)) c= dom p by TARSKI:def 3;
        then reconsider
        q = p * SgmX(BagOrder n, Support(p*a)) as FinSequence by FINSEQ_1:16;
        for u being object holds u in rng q implies u in the carrier of L
        proof
          let u be object;
          assume u in rng q;
          then
A23:      u in rng p by FUNCT_1:14;
          rng p c= the carrier of L by RELAT_1:def 19;
          hence thesis by A23;
        end;
        then
A24:    rng q c= the carrier of L by TARSKI:def 3;
        reconsider r as FinSequence of the carrier of L by A21,FINSEQ_1:def 4;
        reconsider q as FinSequence of the carrier of L by A24,FINSEQ_1:def 4;
        let i be object;
        assume
A25:    i in dom z;
        then i in Seg(len z) by FINSEQ_1:def 3;
        then
i in { k where k is Nat : 1 <= k & k <= len z } by FINSEQ_1:def 1;
        then consider k being Nat such that
A26:    i = k and
A27:    1 <= k & k <= len z;
      reconsider k as Element of NAT by ORDINAL1:def 12;
A28:    dom z = Seg(len SgmX(BagOrder n, Support(p*a))) by A1,A16,
FINSEQ_1:def 3
          .= dom(SgmX(BagOrder n, Support(p*a))) by FINSEQ_1:def 3;
        then
        (SgmX(BagOrder n, Support(p*a))).k = (SgmX(BagOrder n, Support(p*
        a)))/.k by A25,A26,PARTFUN1:def 6;
        then k in dom q by A25,A26,A28,A22,FUNCT_1:11;
        then
A29:    (p * SgmX(BagOrder n, Support(p*a)))/.k = q.k by PARTFUN1:def 6
          .= p.(SgmX(BagOrder n, Support(p*a)).k) by A25,A26,A28,FUNCT_1:13
          .= p.(SgmX(BagOrder n, Support(p*a))/.k) by A25,A26,A28,
PARTFUN1:def 6;
        reconsider c = SgmX(BagOrder n, Support(p*a))/.k as Element of Bags n;
        reconsider c as bag of n;
A30:    z/.k * a = (p * SgmX(BagOrder n, Support(p*a)))/.k * (eval(((SgmX
        (BagOrder n, Support(p*a)))/.k),x)) * a by A6,A18,A27
          .= ((p * SgmX(BagOrder n, Support(p*a)))/.k * a) * eval(((SgmX(
        BagOrder n, Support(p*a)))/.k),x) by GROUP_1:def 3;
A31:    (p*a).(SgmX(BagOrder n, Support(p*a))/.k)
          = (p * SgmX(BagOrder n, Support(p*a)))/.k * a by A29,Def10;
        (SgmX(BagOrder n, Support(p*a))).k = (SgmX(BagOrder n, Support(p*
        a)))/.k by A25,A26,A28,PARTFUN1:def 6;
        then k in dom r by A25,A26,A28,A19,FUNCT_1:11;
        then ((p*a) * SgmX(BagOrder n, Support(p*a)))/.k = r.k by
PARTFUN1:def 6
          .= (p*a).(SgmX(BagOrder n, Support(p*a)).k) by A25,A26,A28,FUNCT_1:13
          .= (p * SgmX(BagOrder n, Support(p*a)))/.k * a by A25,A26,A28,A31,
PARTFUN1:def 6;
        hence y/.i = z/.i * a by A3,A15,A26,A27,A30;
      end;
      then y = z * a by A16,POLYNOM1:def 2;
      hence thesis by A2,A5,BINOM:5;
    end;
  end;
  hence thesis;
end;
