let n be Ordinal; for L being non empty non trivial right_complementable associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for q being Polynomial of n,L st ex b being bag of n st Support q = {b} holds
for p being Polynomial of n,L
for x being Function of n,L holds eval ((p *' q),x) = (eval (p,x)) * (eval (q,x))
let L be non trivial right_complementable associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr ; for q being Polynomial of n,L st ex b being bag of n st Support q = {b} holds
for p being Polynomial of n,L
for x being Function of n,L holds eval ((p *' q),x) = (eval (p,x)) * (eval (q,x))
let q be Polynomial of n,L; ( ex b being bag of n st Support q = {b} implies for p being Polynomial of n,L
for x being Function of n,L holds eval ((p *' q),x) = (eval (p,x)) * (eval (q,x)) )
given b being bag of n such that A1:
Support q = {b}
; for p being Polynomial of n,L
for x being Function of n,L holds eval ((p *' q),x) = (eval (p,x)) * (eval (q,x))
let p be Polynomial of n,L; for x being Function of n,L holds eval ((p *' q),x) = (eval (p,x)) * (eval (q,x))
let x be Function of n,L; eval ((p *' q),x) = (eval (p,x)) * (eval (q,x))
defpred S1[ Nat] means for p being Polynomial of n,L st card (Support p) = $1 holds
eval ((p *' q),x) = (eval (p,x)) * (eval (q,x));
A2:
for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be
Nat;
( S1[k] implies S1[k + 1] )
assume A3:
S1[
k]
;
S1[k + 1]
let p be
Polynomial of
n,
L;
( card (Support p) = k + 1 implies eval ((p *' q),x) = (eval (p,x)) * (eval (q,x)) )
assume A4:
card (Support p) = k + 1
;
eval ((p *' q),x) = (eval (p,x)) * (eval (q,x))
set sgp =
SgmX (
(BagOrder n),
(Support p));
set bg =
(SgmX ((BagOrder n),(Support p))) /. (len (SgmX ((BagOrder n),(Support p))));
A5:
BagOrder n linearly_orders Support p
by Th10;
then
SgmX (
(BagOrder n),
(Support p))
<> {}
by A4, CARD_1:27, PRE_POLY:def 2, RELAT_1:38;
then
1
<= len (SgmX ((BagOrder n),(Support p)))
by NAT_1:14;
then
len (SgmX ((BagOrder n),(Support p))) in Seg (len (SgmX ((BagOrder n),(Support p))))
by FINSEQ_1:1;
then A6:
len (SgmX ((BagOrder n),(Support p))) in dom (SgmX ((BagOrder n),(Support p)))
by FINSEQ_1:def 3;
then
(SgmX ((BagOrder n),(Support p))) /. (len (SgmX ((BagOrder n),(Support p)))) = (SgmX ((BagOrder n),(Support p))) . (len (SgmX ((BagOrder n),(Support p))))
by PARTFUN1:def 6;
then
(SgmX ((BagOrder n),(Support p))) /. (len (SgmX ((BagOrder n),(Support p)))) in rng (SgmX ((BagOrder n),(Support p)))
by A6, FUNCT_1:def 3;
then A7:
(SgmX ((BagOrder n),(Support p))) /. (len (SgmX ((BagOrder n),(Support p)))) in Support p
by A5, PRE_POLY:def 2;
then A8:
p . ((SgmX ((BagOrder n),(Support p))) /. (len (SgmX ((BagOrder n),(Support p))))) <> 0. L
by POLYNOM1:def 4;
set m =
(0_ (n,L)) +* (
((SgmX ((BagOrder n),(Support p))) /. (len (SgmX ((BagOrder n),(Support p))))),
(p . ((SgmX ((BagOrder n),(Support p))) /. (len (SgmX ((BagOrder n),(Support p)))))));
set p9 =
p +* (
((SgmX ((BagOrder n),(Support p))) /. (len (SgmX ((BagOrder n),(Support p))))),
(0. L));
reconsider bg =
(SgmX ((BagOrder n),(Support p))) /. (len (SgmX ((BagOrder n),(Support p)))) as
bag of
n ;
dom p = Bags n
by FUNCT_2:def 1;
then A9:
p +* (
((SgmX ((BagOrder n),(Support p))) /. (len (SgmX ((BagOrder n),(Support p))))),
(0. L))
= p +* (bg .--> (0. L))
by FUNCT_7:def 3;
reconsider p9 =
p +* (
((SgmX ((BagOrder n),(Support p))) /. (len (SgmX ((BagOrder n),(Support p))))),
(0. L)) as
Function of
(Bags n), the
carrier of
L ;
reconsider p9 =
p9 as
Function of
(Bags n),
L ;
for
u being
object st
u in Support p9 holds
u in Support p
then
Support p9 c= Support p
by TARSKI:def 3;
then reconsider p9 =
p9 as
Polynomial of
n,
L by POLYNOM1:def 5;
A12:
dom p = Bags n
by FUNCT_2:def 1;
A13:
for
u being
object st
u in Support p holds
u in (Support p9) \/ {bg}
bg in {bg}
by TARSKI:def 1;
then
bg in dom (bg .--> (0. L))
;
then
p9 . bg = (bg .--> (0. L)) . bg
by A9, FUNCT_4:13;
then A16:
p9 . bg = 0. L
by FUNCOP_1:72;
then A17:
not
bg in Support p9
by POLYNOM1:def 4;
for
u being
object st
u in (Support p9) \/ {bg} holds
u in Support p
then
Support p = (Support p9) \/ {bg}
by A13, TARSKI:2;
then A21:
k + 1
= (card (Support p9)) + 1
by A4, A17, CARD_2:41;
dom (0_ (n,L)) = Bags n
by FUNCT_2:def 1;
then A22:
(0_ (n,L)) +* (
((SgmX ((BagOrder n),(Support p))) /. (len (SgmX ((BagOrder n),(Support p))))),
(p . ((SgmX ((BagOrder n),(Support p))) /. (len (SgmX ((BagOrder n),(Support p)))))))
= (0_ (n,L)) +* (bg .--> (p . bg))
by FUNCT_7:def 3;
reconsider m =
(0_ (n,L)) +* (
((SgmX ((BagOrder n),(Support p))) /. (len (SgmX ((BagOrder n),(Support p))))),
(p . ((SgmX ((BagOrder n),(Support p))) /. (len (SgmX ((BagOrder n),(Support p))))))) as
Function of
(Bags n), the
carrier of
L ;
reconsider m =
m as
Function of
(Bags n),
L ;
A23:
for
u being
object st
u in Support m holds
u in {bg}
for
u being
object st
u in {bg} holds
u in Support m
then A27:
Support m = {bg}
by A23, TARSKI:2;
then reconsider m =
m as
Polynomial of
n,
L by POLYNOM1:def 5;
reconsider m =
m as
Polynomial of
n,
L ;
A28:
for
u being
object st
u in Bags n holds
(p9 + m) . u = p . u
A35:
dom (p9 + m) = Bags n
by FUNCT_2:def 1;
then eval (
p,
x) =
eval (
(m + p9),
x)
by A12, A28, FUNCT_1:2
.=
(eval (p9,x)) + (eval (m,x))
by A27, Lm7
;
hence (eval (p,x)) * (eval (q,x)) =
((eval (p9,x)) * (eval (q,x))) + ((eval (m,x)) * (eval (q,x)))
by VECTSP_1:def 7
.=
(eval ((p9 *' q),x)) + ((eval (m,x)) * (eval (q,x)))
by A3, A21
.=
(eval ((p9 *' q),x)) + (eval ((m *' q),x))
by A1, A27, Lm8
.=
eval (
((p9 *' q) + (m *' q)),
x)
by Th15
.=
eval (
(q *' (p9 + m)),
x)
by POLYNOM1:26
.=
eval (
(p *' q),
x)
by A35, A12, A28, FUNCT_1:2
;
verum
end;
A36:
ex k being Element of NAT st card (Support p) = k
;
A37:
S1[ 0 ]
proof
let p be
Polynomial of
n,
L;
( card (Support p) = 0 implies eval ((p *' q),x) = (eval (p,x)) * (eval (q,x)) )
assume
card (Support p) = 0
;
eval ((p *' q),x) = (eval (p,x)) * (eval (q,x))
then
Support p = {}
;
then A38:
p = 0_ (
n,
L)
by Th9;
hence eval (
(p *' q),
x) =
eval (
p,
x)
by POLYNOM1:28
.=
(0. L) * (eval (q,x))
by A38, Th12
.=
(eval (p,x)) * (eval (q,x))
by A38, Th12
;
verum
end;
for k being Nat holds S1[k]
from NAT_1:sch 2(A37, A2);
hence
eval ((p *' q),x) = (eval (p,x)) * (eval (q,x))
by A36; verum