Metamath Proof Explorer


Theorem coemullem

Description: Lemma for coemul and dgrmul . (Contributed by Mario Carneiro, 24-Jul-2014)

Ref Expression
Hypotheses coefv0.1 A=coeffF
coeadd.2 B=coeffG
coeadd.3 M=degF
coeadd.4 N=degG
Assertion coemullem FPolySGPolyScoeffF×fG=n0k=0nAkBnkdegF×fGM+N

Proof

Step Hyp Ref Expression
1 coefv0.1 A=coeffF
2 coeadd.2 B=coeffG
3 coeadd.3 M=degF
4 coeadd.4 N=degG
5 plymulcl FPolySGPolySF×fGPoly
6 dgrcl FPolySdegF0
7 3 6 eqeltrid FPolySM0
8 dgrcl GPolySdegG0
9 4 8 eqeltrid GPolySN0
10 nn0addcl M0N0M+N0
11 7 9 10 syl2an FPolySGPolySM+N0
12 fzfid FPolySGPolySn00nFin
13 1 coef3 FPolySA:0
14 13 adantr FPolySGPolySA:0
15 14 adantr FPolySGPolySn0A:0
16 elfznn0 k0nk0
17 ffvelcdm A:0k0Ak
18 15 16 17 syl2an FPolySGPolySn0k0nAk
19 2 coef3 GPolySB:0
20 19 adantl FPolySGPolySB:0
21 20 ad2antrr FPolySGPolySn0k0nB:0
22 fznn0sub k0nnk0
23 22 adantl FPolySGPolySn0k0nnk0
24 21 23 ffvelcdmd FPolySGPolySn0k0nBnk
25 18 24 mulcld FPolySGPolySn0k0nAkBnk
26 12 25 fsumcl FPolySGPolySn0k=0nAkBnk
27 26 fmpttd FPolySGPolySn0k=0nAkBnk:0
28 oveq2 n=j0n=0j
29 fvoveq1 n=jBnk=Bjk
30 29 oveq2d n=jAkBnk=AkBjk
31 30 adantr n=jk0nAkBnk=AkBjk
32 28 31 sumeq12dv n=jk=0nAkBnk=k=0jAkBjk
33 eqid n0k=0nAkBnk=n0k=0nAkBnk
34 sumex k=0jAkBjkV
35 32 33 34 fvmpt j0n0k=0nAkBnkj=k=0jAkBjk
36 35 ad2antrl FPolySGPolySj0¬jM+Nn0k=0nAkBnkj=k=0jAkBjk
37 simp2r FPolySGPolySj0¬jM+Nk0jkM¬jM+N
38 simp2l FPolySGPolySj0¬jM+Nk0jkMj0
39 38 nn0red FPolySGPolySj0¬jM+Nk0jkMj
40 simp3l FPolySGPolySj0¬jM+Nk0jkMk0j
41 elfznn0 k0jk0
42 40 41 syl FPolySGPolySj0¬jM+Nk0jkMk0
43 42 nn0red FPolySGPolySj0¬jM+Nk0jkMk
44 9 adantl FPolySGPolySN0
45 44 3ad2ant1 FPolySGPolySj0¬jM+Nk0jkMN0
46 45 nn0red FPolySGPolySj0¬jM+Nk0jkMN
47 39 43 46 lesubadd2d FPolySGPolySj0¬jM+Nk0jkMjkNjk+N
48 7 adantr FPolySGPolySM0
49 48 3ad2ant1 FPolySGPolySj0¬jM+Nk0jkMM0
50 49 nn0red FPolySGPolySj0¬jM+Nk0jkMM
51 simp3r FPolySGPolySj0¬jM+Nk0jkMkM
52 43 50 46 51 leadd1dd FPolySGPolySj0¬jM+Nk0jkMk+NM+N
53 43 46 readdcld FPolySGPolySj0¬jM+Nk0jkMk+N
54 50 46 readdcld FPolySGPolySj0¬jM+Nk0jkMM+N
55 letr jk+NM+Njk+Nk+NM+NjM+N
56 39 53 54 55 syl3anc FPolySGPolySj0¬jM+Nk0jkMjk+Nk+NM+NjM+N
57 52 56 mpan2d FPolySGPolySj0¬jM+Nk0jkMjk+NjM+N
58 47 57 sylbid FPolySGPolySj0¬jM+Nk0jkMjkNjM+N
59 37 58 mtod FPolySGPolySj0¬jM+Nk0jkM¬jkN
60 simpr FPolySGPolySGPolyS
61 60 3ad2ant1 FPolySGPolySj0¬jM+Nk0jkMGPolyS
62 fznn0sub k0jjk0
63 40 62 syl FPolySGPolySj0¬jM+Nk0jkMjk0
64 2 4 dgrub GPolySjk0Bjk0jkN
65 64 3expia GPolySjk0Bjk0jkN
66 61 63 65 syl2anc FPolySGPolySj0¬jM+Nk0jkMBjk0jkN
67 66 necon1bd FPolySGPolySj0¬jM+Nk0jkM¬jkNBjk=0
68 59 67 mpd FPolySGPolySj0¬jM+Nk0jkMBjk=0
69 68 oveq2d FPolySGPolySj0¬jM+Nk0jkMAkBjk=Ak0
70 14 3ad2ant1 FPolySGPolySj0¬jM+Nk0jkMA:0
71 70 42 ffvelcdmd FPolySGPolySj0¬jM+Nk0jkMAk
72 71 mul01d FPolySGPolySj0¬jM+Nk0jkMAk0=0
73 69 72 eqtrd FPolySGPolySj0¬jM+Nk0jkMAkBjk=0
74 73 3expia FPolySGPolySj0¬jM+Nk0jkMAkBjk=0
75 74 impl FPolySGPolySj0¬jM+Nk0jkMAkBjk=0
76 simpl FPolySGPolySFPolyS
77 76 adantr FPolySGPolySj0¬jM+NFPolyS
78 1 3 dgrub FPolySk0Ak0kM
79 78 3expia FPolySk0Ak0kM
80 77 41 79 syl2an FPolySGPolySj0¬jM+Nk0jAk0kM
81 80 necon1bd FPolySGPolySj0¬jM+Nk0j¬kMAk=0
82 81 imp FPolySGPolySj0¬jM+Nk0j¬kMAk=0
83 82 oveq1d FPolySGPolySj0¬jM+Nk0j¬kMAkBjk=0Bjk
84 20 ad3antrrr FPolySGPolySj0¬jM+Nk0j¬kMB:0
85 62 ad2antlr FPolySGPolySj0¬jM+Nk0j¬kMjk0
86 84 85 ffvelcdmd FPolySGPolySj0¬jM+Nk0j¬kMBjk
87 86 mul02d FPolySGPolySj0¬jM+Nk0j¬kM0Bjk=0
88 83 87 eqtrd FPolySGPolySj0¬jM+Nk0j¬kMAkBjk=0
89 75 88 pm2.61dan FPolySGPolySj0¬jM+Nk0jAkBjk=0
90 89 sumeq2dv FPolySGPolySj0¬jM+Nk=0jAkBjk=k=0j0
91 fzfi 0jFin
92 91 olci 0j00jFin
93 sumz 0j00jFink=0j0=0
94 92 93 ax-mp k=0j0=0
95 90 94 eqtrdi FPolySGPolySj0¬jM+Nk=0jAkBjk=0
96 36 95 eqtrd FPolySGPolySj0¬jM+Nn0k=0nAkBnkj=0
97 96 expr FPolySGPolySj0¬jM+Nn0k=0nAkBnkj=0
98 97 necon1ad FPolySGPolySj0n0k=0nAkBnkj0jM+N
99 98 ralrimiva FPolySGPolySj0n0k=0nAkBnkj0jM+N
100 plyco0 M+N0n0k=0nAkBnk:0n0k=0nAkBnkM+N+1=0j0n0k=0nAkBnkj0jM+N
101 11 27 100 syl2anc FPolySGPolySn0k=0nAkBnkM+N+1=0j0n0k=0nAkBnkj0jM+N
102 99 101 mpbird FPolySGPolySn0k=0nAkBnkM+N+1=0
103 1 3 dgrub2 FPolySAM+1=0
104 103 adantr FPolySGPolySAM+1=0
105 2 4 dgrub2 GPolySBN+1=0
106 105 adantl FPolySGPolySBN+1=0
107 1 3 coeid FPolySF=zk=0MAkzk
108 107 adantr FPolySGPolySF=zk=0MAkzk
109 2 4 coeid GPolySG=zk=0NBkzk
110 109 adantl FPolySGPolySG=zk=0NBkzk
111 76 60 48 44 14 20 104 106 108 110 plymullem1 FPolySGPolySF×fG=zj=0M+Nk=0jAkBjkzj
112 elfznn0 j0M+Nj0
113 112 35 syl j0M+Nn0k=0nAkBnkj=k=0jAkBjk
114 113 oveq1d j0M+Nn0k=0nAkBnkjzj=k=0jAkBjkzj
115 114 sumeq2i j=0M+Nn0k=0nAkBnkjzj=j=0M+Nk=0jAkBjkzj
116 115 mpteq2i zj=0M+Nn0k=0nAkBnkjzj=zj=0M+Nk=0jAkBjkzj
117 111 116 eqtr4di FPolySGPolySF×fG=zj=0M+Nn0k=0nAkBnkjzj
118 5 11 27 102 117 coeeq FPolySGPolyScoeffF×fG=n0k=0nAkBnk
119 ffvelcdm n0k=0nAkBnk:0j0n0k=0nAkBnkj
120 27 112 119 syl2an FPolySGPolySj0M+Nn0k=0nAkBnkj
121 5 11 120 117 dgrle FPolySGPolySdegF×fGM+N
122 118 121 jca FPolySGPolyScoeffF×fG=n0k=0nAkBnkdegF×fGM+N