Metamath Proof Explorer


Theorem evl1muld

Description: Polynomial evaluation builder for multiplication of polynomials. (Contributed by Mario Carneiro, 4-Jul-2015)

Ref Expression
Hypotheses evl1addd.q
|- O = ( eval1 ` R )
evl1addd.p
|- P = ( Poly1 ` R )
evl1addd.b
|- B = ( Base ` R )
evl1addd.u
|- U = ( Base ` P )
evl1addd.1
|- ( ph -> R e. CRing )
evl1addd.2
|- ( ph -> Y e. B )
evl1addd.3
|- ( ph -> ( M e. U /\ ( ( O ` M ) ` Y ) = V ) )
evl1addd.4
|- ( ph -> ( N e. U /\ ( ( O ` N ) ` Y ) = W ) )
evl1muld.t
|- .xb = ( .r ` P )
evl1muld.s
|- .x. = ( .r ` R )
Assertion evl1muld
|- ( ph -> ( ( M .xb N ) e. U /\ ( ( O ` ( M .xb N ) ) ` Y ) = ( V .x. W ) ) )

Proof

Step Hyp Ref Expression
1 evl1addd.q
 |-  O = ( eval1 ` R )
2 evl1addd.p
 |-  P = ( Poly1 ` R )
3 evl1addd.b
 |-  B = ( Base ` R )
4 evl1addd.u
 |-  U = ( Base ` P )
5 evl1addd.1
 |-  ( ph -> R e. CRing )
6 evl1addd.2
 |-  ( ph -> Y e. B )
7 evl1addd.3
 |-  ( ph -> ( M e. U /\ ( ( O ` M ) ` Y ) = V ) )
8 evl1addd.4
 |-  ( ph -> ( N e. U /\ ( ( O ` N ) ` Y ) = W ) )
9 evl1muld.t
 |-  .xb = ( .r ` P )
10 evl1muld.s
 |-  .x. = ( .r ` R )
11 eqid
 |-  ( R ^s B ) = ( R ^s B )
12 1 2 11 3 evl1rhm
 |-  ( R e. CRing -> O e. ( P RingHom ( R ^s B ) ) )
13 5 12 syl
 |-  ( ph -> O e. ( P RingHom ( R ^s B ) ) )
14 rhmrcl1
 |-  ( O e. ( P RingHom ( R ^s B ) ) -> P e. Ring )
15 13 14 syl
 |-  ( ph -> P e. Ring )
16 7 simpld
 |-  ( ph -> M e. U )
17 8 simpld
 |-  ( ph -> N e. U )
18 4 9 ringcl
 |-  ( ( P e. Ring /\ M e. U /\ N e. U ) -> ( M .xb N ) e. U )
19 15 16 17 18 syl3anc
 |-  ( ph -> ( M .xb N ) e. U )
20 eqid
 |-  ( .r ` ( R ^s B ) ) = ( .r ` ( R ^s B ) )
21 4 9 20 rhmmul
 |-  ( ( O e. ( P RingHom ( R ^s B ) ) /\ M e. U /\ N e. U ) -> ( O ` ( M .xb N ) ) = ( ( O ` M ) ( .r ` ( R ^s B ) ) ( O ` N ) ) )
22 13 16 17 21 syl3anc
 |-  ( ph -> ( O ` ( M .xb N ) ) = ( ( O ` M ) ( .r ` ( R ^s B ) ) ( O ` N ) ) )
23 eqid
 |-  ( Base ` ( R ^s B ) ) = ( Base ` ( R ^s B ) )
24 3 fvexi
 |-  B e. _V
25 24 a1i
 |-  ( ph -> B e. _V )
26 4 23 rhmf
 |-  ( O e. ( P RingHom ( R ^s B ) ) -> O : U --> ( Base ` ( R ^s B ) ) )
27 13 26 syl
 |-  ( ph -> O : U --> ( Base ` ( R ^s B ) ) )
28 27 16 ffvelrnd
 |-  ( ph -> ( O ` M ) e. ( Base ` ( R ^s B ) ) )
29 27 17 ffvelrnd
 |-  ( ph -> ( O ` N ) e. ( Base ` ( R ^s B ) ) )
30 11 23 5 25 28 29 10 20 pwsmulrval
 |-  ( ph -> ( ( O ` M ) ( .r ` ( R ^s B ) ) ( O ` N ) ) = ( ( O ` M ) oF .x. ( O ` N ) ) )
31 22 30 eqtrd
 |-  ( ph -> ( O ` ( M .xb N ) ) = ( ( O ` M ) oF .x. ( O ` N ) ) )
32 31 fveq1d
 |-  ( ph -> ( ( O ` ( M .xb N ) ) ` Y ) = ( ( ( O ` M ) oF .x. ( O ` N ) ) ` Y ) )
33 11 3 23 5 25 28 pwselbas
 |-  ( ph -> ( O ` M ) : B --> B )
34 33 ffnd
 |-  ( ph -> ( O ` M ) Fn B )
35 11 3 23 5 25 29 pwselbas
 |-  ( ph -> ( O ` N ) : B --> B )
36 35 ffnd
 |-  ( ph -> ( O ` N ) Fn B )
37 fnfvof
 |-  ( ( ( ( O ` M ) Fn B /\ ( O ` N ) Fn B ) /\ ( B e. _V /\ Y e. B ) ) -> ( ( ( O ` M ) oF .x. ( O ` N ) ) ` Y ) = ( ( ( O ` M ) ` Y ) .x. ( ( O ` N ) ` Y ) ) )
38 34 36 25 6 37 syl22anc
 |-  ( ph -> ( ( ( O ` M ) oF .x. ( O ` N ) ) ` Y ) = ( ( ( O ` M ) ` Y ) .x. ( ( O ` N ) ` Y ) ) )
39 7 simprd
 |-  ( ph -> ( ( O ` M ) ` Y ) = V )
40 8 simprd
 |-  ( ph -> ( ( O ` N ) ` Y ) = W )
41 39 40 oveq12d
 |-  ( ph -> ( ( ( O ` M ) ` Y ) .x. ( ( O ` N ) ` Y ) ) = ( V .x. W ) )
42 32 38 41 3eqtrd
 |-  ( ph -> ( ( O ` ( M .xb N ) ) ` Y ) = ( V .x. W ) )
43 19 42 jca
 |-  ( ph -> ( ( M .xb N ) e. U /\ ( ( O ` ( M .xb N ) ) ` Y ) = ( V .x. W ) ) )