Metamath Proof Explorer


Theorem coe1sclmul

Description: Coefficient vector of a polynomial multiplied on the left by a scalar. (Contributed by Stefan O'Rear, 29-Mar-2015)

Ref Expression
Hypotheses coe1sclmul.p
|- P = ( Poly1 ` R )
coe1sclmul.b
|- B = ( Base ` P )
coe1sclmul.k
|- K = ( Base ` R )
coe1sclmul.a
|- A = ( algSc ` P )
coe1sclmul.t
|- .xb = ( .r ` P )
coe1sclmul.u
|- .x. = ( .r ` R )
Assertion coe1sclmul
|- ( ( R e. Ring /\ X e. K /\ Y e. B ) -> ( coe1 ` ( ( A ` X ) .xb Y ) ) = ( ( NN0 X. { X } ) oF .x. ( coe1 ` Y ) ) )

Proof

Step Hyp Ref Expression
1 coe1sclmul.p
 |-  P = ( Poly1 ` R )
2 coe1sclmul.b
 |-  B = ( Base ` P )
3 coe1sclmul.k
 |-  K = ( Base ` R )
4 coe1sclmul.a
 |-  A = ( algSc ` P )
5 coe1sclmul.t
 |-  .xb = ( .r ` P )
6 coe1sclmul.u
 |-  .x. = ( .r ` R )
7 eqid
 |-  ( 0g ` R ) = ( 0g ` R )
8 eqid
 |-  ( var1 ` R ) = ( var1 ` R )
9 eqid
 |-  ( .s ` P ) = ( .s ` P )
10 eqid
 |-  ( mulGrp ` P ) = ( mulGrp ` P )
11 eqid
 |-  ( .g ` ( mulGrp ` P ) ) = ( .g ` ( mulGrp ` P ) )
12 simp3
 |-  ( ( R e. Ring /\ X e. K /\ Y e. B ) -> Y e. B )
13 simp1
 |-  ( ( R e. Ring /\ X e. K /\ Y e. B ) -> R e. Ring )
14 simp2
 |-  ( ( R e. Ring /\ X e. K /\ Y e. B ) -> X e. K )
15 0nn0
 |-  0 e. NN0
16 15 a1i
 |-  ( ( R e. Ring /\ X e. K /\ Y e. B ) -> 0 e. NN0 )
17 7 3 1 8 9 10 11 2 5 6 12 13 14 16 coe1tmmul
 |-  ( ( R e. Ring /\ X e. K /\ Y e. B ) -> ( coe1 ` ( ( X ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) .xb Y ) ) = ( x e. NN0 |-> if ( 0 <_ x , ( X .x. ( ( coe1 ` Y ) ` ( x - 0 ) ) ) , ( 0g ` R ) ) ) )
18 3 1 8 9 10 11 4 ply1scltm
 |-  ( ( R e. Ring /\ X e. K ) -> ( A ` X ) = ( X ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) )
19 18 3adant3
 |-  ( ( R e. Ring /\ X e. K /\ Y e. B ) -> ( A ` X ) = ( X ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) )
20 19 fvoveq1d
 |-  ( ( R e. Ring /\ X e. K /\ Y e. B ) -> ( coe1 ` ( ( A ` X ) .xb Y ) ) = ( coe1 ` ( ( X ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) .xb Y ) ) )
21 nn0ex
 |-  NN0 e. _V
22 21 a1i
 |-  ( ( R e. Ring /\ X e. K /\ Y e. B ) -> NN0 e. _V )
23 simpl2
 |-  ( ( ( R e. Ring /\ X e. K /\ Y e. B ) /\ x e. NN0 ) -> X e. K )
24 fvexd
 |-  ( ( ( R e. Ring /\ X e. K /\ Y e. B ) /\ x e. NN0 ) -> ( ( coe1 ` Y ) ` x ) e. _V )
25 fconstmpt
 |-  ( NN0 X. { X } ) = ( x e. NN0 |-> X )
26 25 a1i
 |-  ( ( R e. Ring /\ X e. K /\ Y e. B ) -> ( NN0 X. { X } ) = ( x e. NN0 |-> X ) )
27 eqid
 |-  ( coe1 ` Y ) = ( coe1 ` Y )
28 27 2 1 3 coe1f
 |-  ( Y e. B -> ( coe1 ` Y ) : NN0 --> K )
29 28 3ad2ant3
 |-  ( ( R e. Ring /\ X e. K /\ Y e. B ) -> ( coe1 ` Y ) : NN0 --> K )
30 29 feqmptd
 |-  ( ( R e. Ring /\ X e. K /\ Y e. B ) -> ( coe1 ` Y ) = ( x e. NN0 |-> ( ( coe1 ` Y ) ` x ) ) )
31 22 23 24 26 30 offval2
 |-  ( ( R e. Ring /\ X e. K /\ Y e. B ) -> ( ( NN0 X. { X } ) oF .x. ( coe1 ` Y ) ) = ( x e. NN0 |-> ( X .x. ( ( coe1 ` Y ) ` x ) ) ) )
32 nn0ge0
 |-  ( x e. NN0 -> 0 <_ x )
33 32 iftrued
 |-  ( x e. NN0 -> if ( 0 <_ x , ( X .x. ( ( coe1 ` Y ) ` ( x - 0 ) ) ) , ( 0g ` R ) ) = ( X .x. ( ( coe1 ` Y ) ` ( x - 0 ) ) ) )
34 nn0cn
 |-  ( x e. NN0 -> x e. CC )
35 34 subid1d
 |-  ( x e. NN0 -> ( x - 0 ) = x )
36 35 fveq2d
 |-  ( x e. NN0 -> ( ( coe1 ` Y ) ` ( x - 0 ) ) = ( ( coe1 ` Y ) ` x ) )
37 36 oveq2d
 |-  ( x e. NN0 -> ( X .x. ( ( coe1 ` Y ) ` ( x - 0 ) ) ) = ( X .x. ( ( coe1 ` Y ) ` x ) ) )
38 33 37 eqtrd
 |-  ( x e. NN0 -> if ( 0 <_ x , ( X .x. ( ( coe1 ` Y ) ` ( x - 0 ) ) ) , ( 0g ` R ) ) = ( X .x. ( ( coe1 ` Y ) ` x ) ) )
39 38 mpteq2ia
 |-  ( x e. NN0 |-> if ( 0 <_ x , ( X .x. ( ( coe1 ` Y ) ` ( x - 0 ) ) ) , ( 0g ` R ) ) ) = ( x e. NN0 |-> ( X .x. ( ( coe1 ` Y ) ` x ) ) )
40 31 39 eqtr4di
 |-  ( ( R e. Ring /\ X e. K /\ Y e. B ) -> ( ( NN0 X. { X } ) oF .x. ( coe1 ` Y ) ) = ( x e. NN0 |-> if ( 0 <_ x , ( X .x. ( ( coe1 ` Y ) ` ( x - 0 ) ) ) , ( 0g ` R ) ) ) )
41 17 20 40 3eqtr4d
 |-  ( ( R e. Ring /\ X e. K /\ Y e. B ) -> ( coe1 ` ( ( A ` X ) .xb Y ) ) = ( ( NN0 X. { X } ) oF .x. ( coe1 ` Y ) ) )