let n be Ordinal; :: thesis: for L being non trivial left_add-cancelable right_complementable add-associative right_zeroed well-unital distributive associative domRing-like left_zeroed doubleLoopStr
for p being Polynomial of n,L
for a being Element of L
for x being Function of n,L holds eval ((a * p),x) = a * (eval (p,x))

let L be non trivial left_add-cancelable right_complementable add-associative right_zeroed well-unital distributive associative domRing-like left_zeroed doubleLoopStr ; :: thesis: for p being Polynomial of n,L
for a being Element of L
for x being Function of n,L holds eval ((a * p),x) = a * (eval (p,x))

let p be Polynomial of n,L; :: thesis: for a being Element of L
for x being Function of n,L holds eval ((a * p),x) = a * (eval (p,x))

let a be Element of L; :: thesis: for x being Function of n,L holds eval ((a * p),x) = a * (eval (p,x))
let x be Function of n,L; :: thesis: eval ((a * p),x) = a * (eval (p,x))
consider y being FinSequence of the carrier of L such that
A1: len y = len (SgmX ((),(Support (a * p)))) and
A2: eval ((a * p),x) = Sum y and
A3: for i being Element of NAT st 1 <= i & i <= len y holds
y /. i = (((a * p) * (SgmX ((),(Support (a * p))))) /. i) * (eval (((SgmX ((),(Support (a * p)))) /. i),x)) by POLYNOM2:def 4;
A4: BagOrder n linearly_orders Support (a * p) by POLYNOM2:18;
consider z being FinSequence of the carrier of L such that
A5: len z = len (SgmX ((),())) and
A6: eval (p,x) = Sum z and
A7: for i being Element of NAT st 1 <= i & i <= len z holds
z /. i = ((p * (SgmX ((),()))) /. i) * (eval (((SgmX ((),())) /. i),x)) by POLYNOM2:def 4;
per cases ( a = 0. L or a <> 0. L ) ;
suppose A8: a = 0. L ; :: thesis: eval ((a * p),x) = a * (eval (p,x))
A9: now :: thesis: for b being bag of n holds (a * p) . b = 0. L
let b be bag of n; :: thesis: (a * p) . b = 0. L
thus (a * p) . b = a * (p . b) by Def9
.= 0. L by A8 ; :: thesis: verum
end;
now :: thesis: not Support (a * p) <> {}
assume Support (a * p) <> {} ; :: thesis: contradiction
then reconsider sp = Support (a * p) as non empty Subset of (Bags n) ;
set c = the Element of sp;
(a * p) . the Element of sp <> 0. L by POLYNOM1:def 4;
hence contradiction by A9; :: thesis: verum
end;
then rng (SgmX ((),(Support (a * p)))) = {} by ;
then SgmX ((),(Support (a * p))) = {} by RELAT_1:41;
then y = <*> the carrier of L by A1;
then Sum y = 0. L by RLVECT_1:43
.= a * (Sum z) by A8 ;
hence eval ((a * p),x) = a * (eval (p,x)) by A2, A6; :: thesis: verum
end;
suppose A10: a <> 0. L ; :: thesis: eval ((a * p),x) = a * (eval (p,x))
A11: for u being object st u in Support (a * p) holds
u in Support p
proof
let u be object ; :: thesis: ( u in Support (a * p) implies u in Support p )
assume A12: u in Support (a * p) ; :: thesis:
then reconsider u9 = u as Element of Bags n ;
(a * p) . u <> 0. L by ;
then a * (p . u9) <> 0. L by Def9;
then p . u9 <> 0. L ;
hence u in Support p by POLYNOM1:def 4; :: thesis: verum
end;
A13: for u being object st u in Support p holds
u in Support (a * p)
proof
let u be object ; :: thesis: ( u in Support p implies u in Support (a * p) )
assume A14: u in Support p ; :: thesis: u in Support (a * p)
then reconsider u9 = u as Element of Bags n ;
p . u <> 0. L by ;
then a * (p . u9) <> 0. L by ;
then (a * p) . u9 <> 0. L by Def9;
hence u in Support (a * p) by POLYNOM1:def 4; :: thesis: verum
end;
then A15: len z = len y by ;
then A16: dom z = Seg (len y) by FINSEQ_1:def 3
.= dom y by FINSEQ_1:def 3 ;
A17: Support (a * p) = Support p by ;
now :: thesis: for i being object st i in dom z holds
y /. i = a * (z /. i)
A18: dom (a * p) = Bags n by FUNCT_2:def 1;
now :: thesis: for u being object st u in rng (SgmX ((),(Support (a * p)))) holds
u in dom (a * p)
let u be object ; :: thesis: ( u in rng (SgmX ((),(Support (a * p)))) implies u in dom (a * p) )
assume u in rng (SgmX ((),(Support (a * p)))) ; :: thesis: u in dom (a * p)
then u in Support (a * p) by ;
hence u in dom (a * p) by A18; :: thesis: verum
end;
then rng (SgmX ((),(Support (a * p)))) c= dom (a * p) by TARSKI:def 3;
then reconsider r = (a * p) * (SgmX ((),(Support (a * p)))) as FinSequence by FINSEQ_1:16;
for u being object st u in rng r holds
u in the carrier of L
proof
let u be object ; :: thesis: ( u in rng r implies u in the carrier of L )
assume u in rng r ; :: thesis: u in the carrier of L
then A19: u in rng (a * p) by FUNCT_1:14;
rng (a * p) c= the carrier of L by RELAT_1:def 19;
hence u in the carrier of L by A19; :: thesis: verum
end;
then A20: rng r c= the carrier of L by TARSKI:def 3;
A21: dom p = Bags n by FUNCT_2:def 1;
now :: thesis: for u being object st u in rng (SgmX ((),(Support (a * p)))) holds
u in dom p
let u be object ; :: thesis: ( u in rng (SgmX ((),(Support (a * p)))) implies u in dom p )
assume u in rng (SgmX ((),(Support (a * p)))) ; :: thesis: u in dom p
then u in Support (a * p) by ;
hence u in dom p by A21; :: thesis: verum
end;
then rng (SgmX ((),(Support (a * p)))) c= dom p by TARSKI:def 3;
then reconsider q = p * (SgmX ((),(Support (a * p)))) as FinSequence by FINSEQ_1:16;
for u being object st u in rng q holds
u in the carrier of L
proof
let u be object ; :: thesis: ( u in rng q implies u in the carrier of L )
assume u in rng q ; :: thesis: u in the carrier of L
then A22: u in rng p by FUNCT_1:14;
rng p c= the carrier of L by RELAT_1:def 19;
hence u in the carrier of L by A22; :: thesis: verum
end;
then A23: rng q c= the carrier of L by TARSKI:def 3;
reconsider r = r as FinSequence of the carrier of L by ;
reconsider q = q as FinSequence of the carrier of L by ;
let i be object ; :: thesis: ( i in dom z implies y /. i = a * (z /. i) )
assume A24: i in dom z ; :: thesis: y /. i = a * (z /. i)
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
A25: i = k and
A26: ( 1 <= k & k <= len z ) ;
reconsider k = k as Element of NAT by ORDINAL1:def 12;
A27: dom z = Seg (len (SgmX ((),(Support (a * p))))) by
.= dom (SgmX ((),(Support (a * p)))) by FINSEQ_1:def 3 ;
then (SgmX ((),(Support (a * p)))) . k = (SgmX ((),(Support (a * p)))) /. k by ;
then k in dom q by ;
then A28: (p * (SgmX ((),(Support (a * p))))) /. k = q . k by PARTFUN1:def 6
.= p . ((SgmX ((),(Support (a * p)))) . k) by
.= p . ((SgmX ((),(Support (a * p)))) /. k) by ;
reconsider c = (SgmX ((),(Support (a * p)))) /. k as Element of Bags n ;
reconsider c = c as bag of n ;
A29: a * (z /. k) = a * (((p * (SgmX ((),()))) /. k) * (eval (((SgmX ((),())) /. k),x))) by
.= (a * ((p * (SgmX ((),(Support (a * p))))) /. k)) * (eval (((SgmX ((),(Support (a * p)))) /. k),x)) by ;
A30: (a * p) . ((SgmX ((),(Support (a * p)))) /. k) = a * ((p * (SgmX ((),(Support (a * p))))) /. k) by ;
(SgmX ((),(Support (a * p)))) . k = (SgmX ((),(Support (a * p)))) /. k by ;
then k in dom r by ;
then ((a * p) * (SgmX ((),(Support (a * p))))) /. k = r . k by PARTFUN1:def 6
.= (a * p) . ((SgmX ((),(Support (a * p)))) . k) by
.= a * ((p * (SgmX ((),(Support (a * p))))) /. k) by ;
hence y /. i = a * (z /. i) by A3, A15, A25, A26, A29; :: thesis: verum
end;
then y = a * z by ;
hence eval ((a * p),x) = a * (eval (p,x)) by ; :: thesis: verum
end;
end;