Metamath Proof Explorer


Theorem plyco

Description: The composition of two polynomials is a polynomial. (Contributed by Mario Carneiro, 23-Jul-2014) (Revised by Mario Carneiro, 23-Aug-2014)

Ref Expression
Hypotheses plyco.1 φFPolyS
plyco.2 φGPolyS
plyco.3 φxSySx+yS
plyco.4 φxSySxyS
Assertion plyco φFGPolyS

Proof

Step Hyp Ref Expression
1 plyco.1 φFPolyS
2 plyco.2 φGPolyS
3 plyco.3 φxSySx+yS
4 plyco.4 φxSySxyS
5 plyf GPolySG:
6 2 5 syl φG:
7 6 ffvelcdmda φzGz
8 6 feqmptd φG=zGz
9 eqid coeffF=coeffF
10 eqid degF=degF
11 9 10 coeid FPolySF=xk=0degFcoeffFkxk
12 1 11 syl φF=xk=0degFcoeffFkxk
13 oveq1 x=Gzxk=Gzk
14 13 oveq2d x=GzcoeffFkxk=coeffFkGzk
15 14 sumeq2sdv x=Gzk=0degFcoeffFkxk=k=0degFcoeffFkGzk
16 7 8 12 15 fmptco φFG=zk=0degFcoeffFkGzk
17 dgrcl FPolySdegF0
18 1 17 syl φdegF0
19 oveq2 x=00x=00
20 19 sumeq1d x=0k=0xcoeffFkGzk=k=00coeffFkGzk
21 20 mpteq2dv x=0zk=0xcoeffFkGzk=zk=00coeffFkGzk
22 21 eleq1d x=0zk=0xcoeffFkGzkPolySzk=00coeffFkGzkPolyS
23 22 imbi2d x=0φzk=0xcoeffFkGzkPolySφzk=00coeffFkGzkPolyS
24 oveq2 x=d0x=0d
25 24 sumeq1d x=dk=0xcoeffFkGzk=k=0dcoeffFkGzk
26 25 mpteq2dv x=dzk=0xcoeffFkGzk=zk=0dcoeffFkGzk
27 26 eleq1d x=dzk=0xcoeffFkGzkPolySzk=0dcoeffFkGzkPolyS
28 27 imbi2d x=dφzk=0xcoeffFkGzkPolySφzk=0dcoeffFkGzkPolyS
29 oveq2 x=d+10x=0d+1
30 29 sumeq1d x=d+1k=0xcoeffFkGzk=k=0d+1coeffFkGzk
31 30 mpteq2dv x=d+1zk=0xcoeffFkGzk=zk=0d+1coeffFkGzk
32 31 eleq1d x=d+1zk=0xcoeffFkGzkPolySzk=0d+1coeffFkGzkPolyS
33 32 imbi2d x=d+1φzk=0xcoeffFkGzkPolySφzk=0d+1coeffFkGzkPolyS
34 oveq2 x=degF0x=0degF
35 34 sumeq1d x=degFk=0xcoeffFkGzk=k=0degFcoeffFkGzk
36 35 mpteq2dv x=degFzk=0xcoeffFkGzk=zk=0degFcoeffFkGzk
37 36 eleq1d x=degFzk=0xcoeffFkGzkPolySzk=0degFcoeffFkGzkPolyS
38 37 imbi2d x=degFφzk=0xcoeffFkGzkPolySφzk=0degFcoeffFkGzkPolyS
39 0z 0
40 7 exp0d φzGz0=1
41 40 oveq2d φzcoeffF0Gz0=coeffF01
42 plybss FPolySS
43 1 42 syl φS
44 0cnd φ0
45 44 snssd φ0
46 43 45 unssd φS0
47 9 coef FPolyScoeffF:0S0
48 1 47 syl φcoeffF:0S0
49 0nn0 00
50 ffvelcdm coeffF:0S000coeffF0S0
51 48 49 50 sylancl φcoeffF0S0
52 46 51 sseldd φcoeffF0
53 52 adantr φzcoeffF0
54 53 mulridd φzcoeffF01=coeffF0
55 41 54 eqtrd φzcoeffF0Gz0=coeffF0
56 55 53 eqeltrd φzcoeffF0Gz0
57 fveq2 k=0coeffFk=coeffF0
58 oveq2 k=0Gzk=Gz0
59 57 58 oveq12d k=0coeffFkGzk=coeffF0Gz0
60 59 fsum1 0coeffF0Gz0k=00coeffFkGzk=coeffF0Gz0
61 39 56 60 sylancr φzk=00coeffFkGzk=coeffF0Gz0
62 61 55 eqtrd φzk=00coeffFkGzk=coeffF0
63 62 mpteq2dva φzk=00coeffFkGzk=zcoeffF0
64 fconstmpt ×coeffF0=zcoeffF0
65 63 64 eqtr4di φzk=00coeffFkGzk=×coeffF0
66 plyconst S0coeffF0S0×coeffF0PolyS0
67 46 51 66 syl2anc φ×coeffF0PolyS0
68 plyun0 PolyS0=PolyS
69 67 68 eleqtrdi φ×coeffF0PolyS
70 65 69 eqeltrd φzk=00coeffFkGzkPolyS
71 simprr φd0zk=0dcoeffFkGzkPolySzk=0dcoeffFkGzkPolyS
72 46 adantr φd0S0
73 peano2nn0 d0d+10
74 ffvelcdm coeffF:0S0d+10coeffFd+1S0
75 48 73 74 syl2an φd0coeffFd+1S0
76 plyconst S0coeffFd+1S0×coeffFd+1PolyS0
77 72 75 76 syl2anc φd0×coeffFd+1PolyS0
78 77 68 eleqtrdi φd0×coeffFd+1PolyS
79 nn0p1nn d0d+1
80 oveq2 x=1Gzx=Gz1
81 80 mpteq2dv x=1zGzx=zGz1
82 81 eleq1d x=1zGzxPolySzGz1PolyS
83 82 imbi2d x=1φzGzxPolySφzGz1PolyS
84 oveq2 x=dGzx=Gzd
85 84 mpteq2dv x=dzGzx=zGzd
86 85 eleq1d x=dzGzxPolySzGzdPolyS
87 86 imbi2d x=dφzGzxPolySφzGzdPolyS
88 oveq2 x=d+1Gzx=Gzd+1
89 88 mpteq2dv x=d+1zGzx=zGzd+1
90 89 eleq1d x=d+1zGzxPolySzGzd+1PolyS
91 90 imbi2d x=d+1φzGzxPolySφzGzd+1PolyS
92 7 exp1d φzGz1=Gz
93 92 mpteq2dva φzGz1=zGz
94 93 8 eqtr4d φzGz1=G
95 94 2 eqeltrd φzGz1PolyS
96 simprr φdzGzdPolySzGzdPolyS
97 2 adantr φdzGzdPolySGPolyS
98 3 adantlr φdzGzdPolySxSySx+yS
99 4 adantlr φdzGzdPolySxSySxyS
100 96 97 98 99 plymul φdzGzdPolySzGzd×fGPolyS
101 100 expr φdzGzdPolySzGzd×fGPolyS
102 cnex V
103 102 a1i φdV
104 ovexd φdzGzdV
105 7 adantlr φdzGz
106 eqidd φdzGzd=zGzd
107 8 adantr φdG=zGz
108 103 104 105 106 107 offval2 φdzGzd×fG=zGzdGz
109 nnnn0 dd0
110 109 ad2antlr φdzd0
111 105 110 expp1d φdzGzd+1=GzdGz
112 111 mpteq2dva φdzGzd+1=zGzdGz
113 108 112 eqtr4d φdzGzd×fG=zGzd+1
114 113 eleq1d φdzGzd×fGPolySzGzd+1PolyS
115 101 114 sylibd φdzGzdPolySzGzd+1PolyS
116 115 expcom dφzGzdPolySzGzd+1PolyS
117 116 a2d dφzGzdPolySφzGzd+1PolyS
118 83 87 91 91 95 117 nnind d+1φzGzd+1PolyS
119 79 118 syl d0φzGzd+1PolyS
120 119 impcom φd0zGzd+1PolyS
121 3 adantlr φd0xSySx+yS
122 4 adantlr φd0xSySxyS
123 78 120 121 122 plymul φd0×coeffFd+1×fzGzd+1PolyS
124 123 adantrr φd0zk=0dcoeffFkGzkPolyS×coeffFd+1×fzGzd+1PolyS
125 3 adantlr φd0zk=0dcoeffFkGzkPolySxSySx+yS
126 71 124 125 plyadd φd0zk=0dcoeffFkGzkPolySzk=0dcoeffFkGzk+f×coeffFd+1×fzGzd+1PolyS
127 126 expr φd0zk=0dcoeffFkGzkPolySzk=0dcoeffFkGzk+f×coeffFd+1×fzGzd+1PolyS
128 102 a1i φd0V
129 sumex k=0dcoeffFkGzkV
130 129 a1i φd0zk=0dcoeffFkGzkV
131 ovexd φd0zcoeffFd+1Gzd+1V
132 eqidd φd0zk=0dcoeffFkGzk=zk=0dcoeffFkGzk
133 fvexd φd0zcoeffFd+1V
134 ovexd φd0zGzd+1V
135 fconstmpt ×coeffFd+1=zcoeffFd+1
136 135 a1i φd0×coeffFd+1=zcoeffFd+1
137 eqidd φd0zGzd+1=zGzd+1
138 128 133 134 136 137 offval2 φd0×coeffFd+1×fzGzd+1=zcoeffFd+1Gzd+1
139 128 130 131 132 138 offval2 φd0zk=0dcoeffFkGzk+f×coeffFd+1×fzGzd+1=zk=0dcoeffFkGzk+coeffFd+1Gzd+1
140 simplr φd0zd0
141 nn0uz 0=0
142 140 141 eleqtrdi φd0zd0
143 9 coef3 FPolyScoeffF:0
144 1 143 syl φcoeffF:0
145 144 ad2antrr φd0zcoeffF:0
146 elfznn0 k0d+1k0
147 ffvelcdm coeffF:0k0coeffFk
148 145 146 147 syl2an φd0zk0d+1coeffFk
149 7 adantlr φd0zGz
150 expcl Gzk0Gzk
151 149 146 150 syl2an φd0zk0d+1Gzk
152 148 151 mulcld φd0zk0d+1coeffFkGzk
153 fveq2 k=d+1coeffFk=coeffFd+1
154 oveq2 k=d+1Gzk=Gzd+1
155 153 154 oveq12d k=d+1coeffFkGzk=coeffFd+1Gzd+1
156 142 152 155 fsump1 φd0zk=0d+1coeffFkGzk=k=0dcoeffFkGzk+coeffFd+1Gzd+1
157 156 mpteq2dva φd0zk=0d+1coeffFkGzk=zk=0dcoeffFkGzk+coeffFd+1Gzd+1
158 139 157 eqtr4d φd0zk=0dcoeffFkGzk+f×coeffFd+1×fzGzd+1=zk=0d+1coeffFkGzk
159 158 eleq1d φd0zk=0dcoeffFkGzk+f×coeffFd+1×fzGzd+1PolySzk=0d+1coeffFkGzkPolyS
160 127 159 sylibd φd0zk=0dcoeffFkGzkPolySzk=0d+1coeffFkGzkPolyS
161 160 expcom d0φzk=0dcoeffFkGzkPolySzk=0d+1coeffFkGzkPolyS
162 161 a2d d0φzk=0dcoeffFkGzkPolySφzk=0d+1coeffFkGzkPolyS
163 23 28 33 38 70 162 nn0ind degF0φzk=0degFcoeffFkGzkPolyS
164 18 163 mpcom φzk=0degFcoeffFkGzkPolyS
165 16 164 eqeltrd φFGPolyS