# Metamath Proof Explorer

## Theorem evl1muld

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

Ref Expression
`|- O = ( eval1 ` R )`
`|- P = ( Poly1 ` R )`
`|- B = ( Base ` R )`
`|- U = ( Base ` P )`
`|- ( ph -> R e. CRing )`
`|- ( ph -> Y e. B )`
`|- ( ph -> ( M e. U /\ ( ( O ` M ) ` Y ) = V ) )`
`|- ( 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
` |-  O = ( eval1 ` R )`
` |-  P = ( Poly1 ` R )`
` |-  B = ( Base ` R )`
` |-  U = ( Base ` P )`
` |-  ( ph -> R e. CRing )`
` |-  ( ph -> Y e. B )`
` |-  ( ph -> ( M e. U /\ ( ( O ` M ) ` Y ) = V ) )`
` |-  ( 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 ) ) )`