| Step |
Hyp |
Ref |
Expression |
| 1 |
|
dgradd.1 |
|- M = ( deg ` F ) |
| 2 |
|
dgradd.2 |
|- N = ( deg ` G ) |
| 3 |
1 2
|
dgrmul2 |
|- ( ( F e. ( Poly ` S ) /\ G e. ( Poly ` S ) ) -> ( deg ` ( F oF x. G ) ) <_ ( M + N ) ) |
| 4 |
3
|
ad2ant2r |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( deg ` ( F oF x. G ) ) <_ ( M + N ) ) |
| 5 |
|
plymulcl |
|- ( ( F e. ( Poly ` S ) /\ G e. ( Poly ` S ) ) -> ( F oF x. G ) e. ( Poly ` CC ) ) |
| 6 |
5
|
ad2ant2r |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( F oF x. G ) e. ( Poly ` CC ) ) |
| 7 |
|
dgrcl |
|- ( F e. ( Poly ` S ) -> ( deg ` F ) e. NN0 ) |
| 8 |
1 7
|
eqeltrid |
|- ( F e. ( Poly ` S ) -> M e. NN0 ) |
| 9 |
8
|
ad2antrr |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> M e. NN0 ) |
| 10 |
|
dgrcl |
|- ( G e. ( Poly ` S ) -> ( deg ` G ) e. NN0 ) |
| 11 |
2 10
|
eqeltrid |
|- ( G e. ( Poly ` S ) -> N e. NN0 ) |
| 12 |
11
|
ad2antrl |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> N e. NN0 ) |
| 13 |
9 12
|
nn0addcld |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( M + N ) e. NN0 ) |
| 14 |
|
eqid |
|- ( coeff ` F ) = ( coeff ` F ) |
| 15 |
|
eqid |
|- ( coeff ` G ) = ( coeff ` G ) |
| 16 |
14 15 1 2
|
coemulhi |
|- ( ( F e. ( Poly ` S ) /\ G e. ( Poly ` S ) ) -> ( ( coeff ` ( F oF x. G ) ) ` ( M + N ) ) = ( ( ( coeff ` F ) ` M ) x. ( ( coeff ` G ) ` N ) ) ) |
| 17 |
16
|
ad2ant2r |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( ( coeff ` ( F oF x. G ) ) ` ( M + N ) ) = ( ( ( coeff ` F ) ` M ) x. ( ( coeff ` G ) ` N ) ) ) |
| 18 |
14
|
coef3 |
|- ( F e. ( Poly ` S ) -> ( coeff ` F ) : NN0 --> CC ) |
| 19 |
18
|
ad2antrr |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( coeff ` F ) : NN0 --> CC ) |
| 20 |
19 9
|
ffvelcdmd |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( ( coeff ` F ) ` M ) e. CC ) |
| 21 |
15
|
coef3 |
|- ( G e. ( Poly ` S ) -> ( coeff ` G ) : NN0 --> CC ) |
| 22 |
21
|
ad2antrl |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( coeff ` G ) : NN0 --> CC ) |
| 23 |
22 12
|
ffvelcdmd |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( ( coeff ` G ) ` N ) e. CC ) |
| 24 |
1 14
|
dgreq0 |
|- ( F e. ( Poly ` S ) -> ( F = 0p <-> ( ( coeff ` F ) ` M ) = 0 ) ) |
| 25 |
24
|
necon3bid |
|- ( F e. ( Poly ` S ) -> ( F =/= 0p <-> ( ( coeff ` F ) ` M ) =/= 0 ) ) |
| 26 |
25
|
biimpa |
|- ( ( F e. ( Poly ` S ) /\ F =/= 0p ) -> ( ( coeff ` F ) ` M ) =/= 0 ) |
| 27 |
26
|
adantr |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( ( coeff ` F ) ` M ) =/= 0 ) |
| 28 |
2 15
|
dgreq0 |
|- ( G e. ( Poly ` S ) -> ( G = 0p <-> ( ( coeff ` G ) ` N ) = 0 ) ) |
| 29 |
28
|
necon3bid |
|- ( G e. ( Poly ` S ) -> ( G =/= 0p <-> ( ( coeff ` G ) ` N ) =/= 0 ) ) |
| 30 |
29
|
biimpa |
|- ( ( G e. ( Poly ` S ) /\ G =/= 0p ) -> ( ( coeff ` G ) ` N ) =/= 0 ) |
| 31 |
30
|
adantl |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( ( coeff ` G ) ` N ) =/= 0 ) |
| 32 |
20 23 27 31
|
mulne0d |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( ( ( coeff ` F ) ` M ) x. ( ( coeff ` G ) ` N ) ) =/= 0 ) |
| 33 |
17 32
|
eqnetrd |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( ( coeff ` ( F oF x. G ) ) ` ( M + N ) ) =/= 0 ) |
| 34 |
|
eqid |
|- ( coeff ` ( F oF x. G ) ) = ( coeff ` ( F oF x. G ) ) |
| 35 |
|
eqid |
|- ( deg ` ( F oF x. G ) ) = ( deg ` ( F oF x. G ) ) |
| 36 |
34 35
|
dgrub |
|- ( ( ( F oF x. G ) e. ( Poly ` CC ) /\ ( M + N ) e. NN0 /\ ( ( coeff ` ( F oF x. G ) ) ` ( M + N ) ) =/= 0 ) -> ( M + N ) <_ ( deg ` ( F oF x. G ) ) ) |
| 37 |
6 13 33 36
|
syl3anc |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( M + N ) <_ ( deg ` ( F oF x. G ) ) ) |
| 38 |
|
dgrcl |
|- ( ( F oF x. G ) e. ( Poly ` CC ) -> ( deg ` ( F oF x. G ) ) e. NN0 ) |
| 39 |
6 38
|
syl |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( deg ` ( F oF x. G ) ) e. NN0 ) |
| 40 |
39
|
nn0red |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( deg ` ( F oF x. G ) ) e. RR ) |
| 41 |
13
|
nn0red |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( M + N ) e. RR ) |
| 42 |
40 41
|
letri3d |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( ( deg ` ( F oF x. G ) ) = ( M + N ) <-> ( ( deg ` ( F oF x. G ) ) <_ ( M + N ) /\ ( M + N ) <_ ( deg ` ( F oF x. G ) ) ) ) ) |
| 43 |
4 37 42
|
mpbir2and |
|- ( ( ( F e. ( Poly ` S ) /\ F =/= 0p ) /\ ( G e. ( Poly ` S ) /\ G =/= 0p ) ) -> ( deg ` ( F oF x. G ) ) = ( M + N ) ) |