Metamath Proof Explorer


Theorem coe1add

Description: The coefficient vector of an addition. (Contributed by Stefan O'Rear, 24-Mar-2015)

Ref Expression
Hypotheses coe1add.y
|- Y = ( Poly1 ` R )
coe1add.b
|- B = ( Base ` Y )
coe1add.p
|- .+b = ( +g ` Y )
coe1add.q
|- .+ = ( +g ` R )
Assertion coe1add
|- ( ( R e. Ring /\ F e. B /\ G e. B ) -> ( coe1 ` ( F .+b G ) ) = ( ( coe1 ` F ) oF .+ ( coe1 ` G ) ) )

Proof

Step Hyp Ref Expression
1 coe1add.y
 |-  Y = ( Poly1 ` R )
2 coe1add.b
 |-  B = ( Base ` Y )
3 coe1add.p
 |-  .+b = ( +g ` Y )
4 coe1add.q
 |-  .+ = ( +g ` R )
5 eqid
 |-  ( 1o mPoly R ) = ( 1o mPoly R )
6 1 2 ply1bas
 |-  B = ( Base ` ( 1o mPoly R ) )
7 1 5 3 ply1plusg
 |-  .+b = ( +g ` ( 1o mPoly R ) )
8 simp2
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> F e. B )
9 simp3
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> G e. B )
10 5 6 4 7 8 9 mpladd
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> ( F .+b G ) = ( F oF .+ G ) )
11 10 coeq1d
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> ( ( F .+b G ) o. ( a e. NN0 |-> ( 1o X. { a } ) ) ) = ( ( F oF .+ G ) o. ( a e. NN0 |-> ( 1o X. { a } ) ) ) )
12 eqid
 |-  ( Base ` R ) = ( Base ` R )
13 1 2 12 ply1basf
 |-  ( F e. B -> F : ( NN0 ^m 1o ) --> ( Base ` R ) )
14 13 ffnd
 |-  ( F e. B -> F Fn ( NN0 ^m 1o ) )
15 14 3ad2ant2
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> F Fn ( NN0 ^m 1o ) )
16 1 2 12 ply1basf
 |-  ( G e. B -> G : ( NN0 ^m 1o ) --> ( Base ` R ) )
17 16 ffnd
 |-  ( G e. B -> G Fn ( NN0 ^m 1o ) )
18 17 3ad2ant3
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> G Fn ( NN0 ^m 1o ) )
19 df1o2
 |-  1o = { (/) }
20 nn0ex
 |-  NN0 e. _V
21 0ex
 |-  (/) e. _V
22 eqid
 |-  ( a e. NN0 |-> ( 1o X. { a } ) ) = ( a e. NN0 |-> ( 1o X. { a } ) )
23 19 20 21 22 mapsnf1o3
 |-  ( a e. NN0 |-> ( 1o X. { a } ) ) : NN0 -1-1-onto-> ( NN0 ^m 1o )
24 f1of
 |-  ( ( a e. NN0 |-> ( 1o X. { a } ) ) : NN0 -1-1-onto-> ( NN0 ^m 1o ) -> ( a e. NN0 |-> ( 1o X. { a } ) ) : NN0 --> ( NN0 ^m 1o ) )
25 23 24 mp1i
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> ( a e. NN0 |-> ( 1o X. { a } ) ) : NN0 --> ( NN0 ^m 1o ) )
26 ovexd
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> ( NN0 ^m 1o ) e. _V )
27 20 a1i
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> NN0 e. _V )
28 inidm
 |-  ( ( NN0 ^m 1o ) i^i ( NN0 ^m 1o ) ) = ( NN0 ^m 1o )
29 15 18 25 26 26 27 28 ofco
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> ( ( F oF .+ G ) o. ( a e. NN0 |-> ( 1o X. { a } ) ) ) = ( ( F o. ( a e. NN0 |-> ( 1o X. { a } ) ) ) oF .+ ( G o. ( a e. NN0 |-> ( 1o X. { a } ) ) ) ) )
30 11 29 eqtrd
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> ( ( F .+b G ) o. ( a e. NN0 |-> ( 1o X. { a } ) ) ) = ( ( F o. ( a e. NN0 |-> ( 1o X. { a } ) ) ) oF .+ ( G o. ( a e. NN0 |-> ( 1o X. { a } ) ) ) ) )
31 1 ply1ring
 |-  ( R e. Ring -> Y e. Ring )
32 2 3 ringacl
 |-  ( ( Y e. Ring /\ F e. B /\ G e. B ) -> ( F .+b G ) e. B )
33 31 32 syl3an1
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> ( F .+b G ) e. B )
34 eqid
 |-  ( coe1 ` ( F .+b G ) ) = ( coe1 ` ( F .+b G ) )
35 34 2 1 22 coe1fval2
 |-  ( ( F .+b G ) e. B -> ( coe1 ` ( F .+b G ) ) = ( ( F .+b G ) o. ( a e. NN0 |-> ( 1o X. { a } ) ) ) )
36 33 35 syl
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> ( coe1 ` ( F .+b G ) ) = ( ( F .+b G ) o. ( a e. NN0 |-> ( 1o X. { a } ) ) ) )
37 eqid
 |-  ( coe1 ` F ) = ( coe1 ` F )
38 37 2 1 22 coe1fval2
 |-  ( F e. B -> ( coe1 ` F ) = ( F o. ( a e. NN0 |-> ( 1o X. { a } ) ) ) )
39 38 3ad2ant2
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> ( coe1 ` F ) = ( F o. ( a e. NN0 |-> ( 1o X. { a } ) ) ) )
40 eqid
 |-  ( coe1 ` G ) = ( coe1 ` G )
41 40 2 1 22 coe1fval2
 |-  ( G e. B -> ( coe1 ` G ) = ( G o. ( a e. NN0 |-> ( 1o X. { a } ) ) ) )
42 41 3ad2ant3
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> ( coe1 ` G ) = ( G o. ( a e. NN0 |-> ( 1o X. { a } ) ) ) )
43 39 42 oveq12d
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> ( ( coe1 ` F ) oF .+ ( coe1 ` G ) ) = ( ( F o. ( a e. NN0 |-> ( 1o X. { a } ) ) ) oF .+ ( G o. ( a e. NN0 |-> ( 1o X. { a } ) ) ) ) )
44 30 36 43 3eqtr4d
 |-  ( ( R e. Ring /\ F e. B /\ G e. B ) -> ( coe1 ` ( F .+b G ) ) = ( ( coe1 ` F ) oF .+ ( coe1 ` G ) ) )