let n be Ordinal; :: thesis: for L being non empty non trivial right_complementable associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for p, q 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 empty non trivial right_complementable associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr ; :: thesis: for p, q 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, q be Polynomial of n,L; :: thesis: 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; :: thesis: eval (p *' q),x = (eval p,x) * (eval q,x)
defpred S1[ Element of 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);
A1:
S1[ 0 ]
proof
let p be
Polynomial of
n,
L;
:: thesis: ( card (Support p) = 0 implies eval (p *' q),x = (eval p,x) * (eval q,x) )
assume
card (Support p) = 0
;
:: thesis: eval (p *' q),x = (eval p,x) * (eval q,x)
then
Support p = {}
;
then A2:
p = 0_ n,
L
by Th19;
hence eval (p *' q),
x =
eval p,
x
by POLYNOM1:87
.=
0. L
by A2, Th22
.=
(0. L) * (eval q,x)
by VECTSP_1:39
.=
(eval p,x) * (eval q,x)
by A2, Th22
;
:: thesis: verum
end;
A3:
for k being Element of NAT st S1[k] holds
S1[k + 1]
proof
let k be
Element of
NAT ;
:: thesis: ( S1[k] implies S1[k + 1] )
assume A4:
S1[
k]
;
:: thesis: S1[k + 1]
let p be
Polynomial of
n,
L;
:: thesis: ( card (Support p) = k + 1 implies eval (p *' q),x = (eval p,x) * (eval q,x) )
assume A5:
card (Support p) = k + 1
;
:: thesis: 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)));
set p' =
p +* ((SgmX (BagOrder n),(Support p)) /. (len (SgmX (BagOrder n),(Support p)))),
(0. L);
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)))));
A6:
BagOrder n linearly_orders Support p
by Th20;
then
rng (SgmX (BagOrder n),(Support p)) <> {}
by A5, CARD_1:47, TRIANG_1:def 2;
then
SgmX (BagOrder n),
(Support p) <> {}
by RELAT_1:60;
then
len (SgmX (BagOrder n),(Support p)) <> 0
;
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:3;
then A7:
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 8;
then
(SgmX (BagOrder n),(Support p)) /. (len (SgmX (BagOrder n),(Support p))) in rng (SgmX (BagOrder n),(Support p))
by A7, FUNCT_1:def 5;
then A8:
(SgmX (BagOrder n),(Support p)) /. (len (SgmX (BagOrder n),(Support p))) in Support p
by A6, TRIANG_1:def 2;
then A9:
p . ((SgmX (BagOrder n),(Support p)) /. (len (SgmX (BagOrder n),(Support p)))) <> 0. L
by POLYNOM1:def 9;
reconsider bg =
(SgmX (BagOrder n),(Support p)) /. (len (SgmX (BagOrder n),(Support p))) as
bag of
by POLYNOM1:def 14;
dom p = Bags n
by FUNCT_2:def 1;
then A10:
p +* ((SgmX (BagOrder n),(Support p)) /. (len (SgmX (BagOrder n),(Support p)))),
(0. L) = p +* (bg .--> (0. L))
by FUNCT_7:def 3;
reconsider p' =
p +* ((SgmX (BagOrder n),(Support p)) /. (len (SgmX (BagOrder n),(Support p)))),
(0. L) as
Function of
(Bags n),the
carrier of
L ;
reconsider p' =
p' as
Function of
(Bags n),
L ;
for
u being
set st
u in Support p' holds
u in Support p
then
Support p' c= Support p
by TARSKI:def 3;
then
Support p' is
finite
;
then reconsider p' =
p' as
Polynomial of
n,
L by POLYNOM1:def 10;
dom (0_ n,L) = Bags n
by FUNCT_2:def 1;
then A13:
(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 ;
A14:
for
u being
set st
u in Support m holds
u in {bg}
for
u being
set st
u in {bg} holds
u in Support m
then A18:
Support m = {bg}
by A14, TARSKI:2;
then reconsider m =
m as
Polynomial of
n,
L by POLYNOM1:def 10;
reconsider m =
m as
Polynomial of
n,
L ;
bg in {bg}
by TARSKI:def 1;
then
bg in dom (bg .--> (0. L))
by FUNCOP_1:19;
then
p' . bg = (bg .--> (0. L)) . bg
by A10, FUNCT_4:14;
then A19:
p' . bg = 0. L
by FUNCOP_1:87;
then A20:
not
bg in Support p'
by POLYNOM1:def 9;
A21:
for
u being
set st
u in Support p holds
u in (Support p') \/ {bg}
for
u being
set st
u in (Support p') \/ {bg} holds
u in Support p
then
Support p = (Support p') \/ {bg}
by A21, TARSKI:2;
then A27:
k + 1
= (card (Support p')) + 1
by A5, A20, CARD_2:54;
A28:
(
dom (p' + m) = Bags n &
dom p = Bags n )
by FUNCT_2:def 1;
A29:
for
u being
set st
u in Bags n holds
(p' + m) . u = p . u
then eval p,
x =
eval (m + p'),
x
by A28, FUNCT_1:9
.=
(eval p',x) + (eval m,x)
by A18, Lm11
;
hence (eval p,x) * (eval q,x) =
((eval p',x) * (eval q,x)) + ((eval m,x) * (eval q,x))
by VECTSP_1:def 18
.=
(eval (p' *' q),x) + ((eval m,x) * (eval q,x))
by A4, A27
.=
(eval (p' *' q),x) + (eval (m *' q),x)
by A18, Lm13
.=
eval ((p' *' q) + (m *' q)),
x
by Th25
.=
eval (q *' (p' + m)),
x
by POLYNOM1:85
.=
eval (p *' q),
x
by A28, A29, FUNCT_1:9
;
:: thesis: verum
end;
A36:
for k being Element of NAT holds S1[k]
from NAT_1:sch 1(A1, A3);
ex k being Element of NAT st card (Support p) = k
;
hence
eval (p *' q),x = (eval p,x) * (eval q,x)
by A36; :: thesis: verum