Metamath Proof Explorer


Theorem mplmon2mul

Description: Product of scaled monomials. (Contributed by Stefan O'Rear, 8-Mar-2015)

Ref Expression
Hypotheses mplmon2cl.p 𝑃 = ( 𝐼 mPoly 𝑅 )
mplmon2cl.d 𝐷 = { 𝑓 ∈ ( ℕ0m 𝐼 ) ∣ ( 𝑓 “ ℕ ) ∈ Fin }
mplmon2cl.z 0 = ( 0g𝑅 )
mplmon2cl.c 𝐶 = ( Base ‘ 𝑅 )
mplmon2cl.i ( 𝜑𝐼𝑊 )
mplmon2mul.r ( 𝜑𝑅 ∈ CRing )
mplmon2mul.t = ( .r𝑃 )
mplmon2mul.u · = ( .r𝑅 )
mplmon2mul.x ( 𝜑𝑋𝐷 )
mplmon2mul.y ( 𝜑𝑌𝐷 )
mplmon2mul.f ( 𝜑𝐹𝐶 )
mplmon2mul.g ( 𝜑𝐺𝐶 )
Assertion mplmon2mul ( 𝜑 → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 𝐹 , 0 ) ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 𝐺 , 0 ) ) ) = ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 𝐹 · 𝐺 ) , 0 ) ) )

Proof

Step Hyp Ref Expression
1 mplmon2cl.p 𝑃 = ( 𝐼 mPoly 𝑅 )
2 mplmon2cl.d 𝐷 = { 𝑓 ∈ ( ℕ0m 𝐼 ) ∣ ( 𝑓 “ ℕ ) ∈ Fin }
3 mplmon2cl.z 0 = ( 0g𝑅 )
4 mplmon2cl.c 𝐶 = ( Base ‘ 𝑅 )
5 mplmon2cl.i ( 𝜑𝐼𝑊 )
6 mplmon2mul.r ( 𝜑𝑅 ∈ CRing )
7 mplmon2mul.t = ( .r𝑃 )
8 mplmon2mul.u · = ( .r𝑅 )
9 mplmon2mul.x ( 𝜑𝑋𝐷 )
10 mplmon2mul.y ( 𝜑𝑌𝐷 )
11 mplmon2mul.f ( 𝜑𝐹𝐶 )
12 mplmon2mul.g ( 𝜑𝐺𝐶 )
13 1 mplassa ( ( 𝐼𝑊𝑅 ∈ CRing ) → 𝑃 ∈ AssAlg )
14 5 6 13 syl2anc ( 𝜑𝑃 ∈ AssAlg )
15 1 5 6 mplsca ( 𝜑𝑅 = ( Scalar ‘ 𝑃 ) )
16 15 fveq2d ( 𝜑 → ( Base ‘ 𝑅 ) = ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
17 4 16 eqtrid ( 𝜑𝐶 = ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
18 11 17 eleqtrd ( 𝜑𝐹 ∈ ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
19 eqid ( Base ‘ 𝑃 ) = ( Base ‘ 𝑃 )
20 eqid ( 1r𝑅 ) = ( 1r𝑅 )
21 crngring ( 𝑅 ∈ CRing → 𝑅 ∈ Ring )
22 6 21 syl ( 𝜑𝑅 ∈ Ring )
23 1 19 3 20 2 5 22 9 mplmon ( 𝜑 → ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ∈ ( Base ‘ 𝑃 ) )
24 assalmod ( 𝑃 ∈ AssAlg → 𝑃 ∈ LMod )
25 14 24 syl ( 𝜑𝑃 ∈ LMod )
26 12 17 eleqtrd ( 𝜑𝐺 ∈ ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
27 1 19 3 20 2 5 22 10 mplmon ( 𝜑 → ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ∈ ( Base ‘ 𝑃 ) )
28 eqid ( Scalar ‘ 𝑃 ) = ( Scalar ‘ 𝑃 )
29 eqid ( ·𝑠𝑃 ) = ( ·𝑠𝑃 )
30 eqid ( Base ‘ ( Scalar ‘ 𝑃 ) ) = ( Base ‘ ( Scalar ‘ 𝑃 ) )
31 19 28 29 30 lmodvscl ( ( 𝑃 ∈ LMod ∧ 𝐺 ∈ ( Base ‘ ( Scalar ‘ 𝑃 ) ) ∧ ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ∈ ( Base ‘ 𝑃 ) ) → ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ∈ ( Base ‘ 𝑃 ) )
32 25 26 27 31 syl3anc ( 𝜑 → ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ∈ ( Base ‘ 𝑃 ) )
33 19 28 30 29 7 assaass ( ( 𝑃 ∈ AssAlg ∧ ( 𝐹 ∈ ( Base ‘ ( Scalar ‘ 𝑃 ) ) ∧ ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ∈ ( Base ‘ 𝑃 ) ∧ ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ∈ ( Base ‘ 𝑃 ) ) ) → ( ( 𝐹 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ) ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ) = ( 𝐹 ( ·𝑠𝑃 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ) ) )
34 14 18 23 32 33 syl13anc ( 𝜑 → ( ( 𝐹 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ) ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ) = ( 𝐹 ( ·𝑠𝑃 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ) ) )
35 19 28 30 29 7 assaassr ( ( 𝑃 ∈ AssAlg ∧ ( 𝐺 ∈ ( Base ‘ ( Scalar ‘ 𝑃 ) ) ∧ ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ∈ ( Base ‘ 𝑃 ) ∧ ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ∈ ( Base ‘ 𝑃 ) ) ) → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ) = ( 𝐺 ( ·𝑠𝑃 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ) )
36 14 26 23 27 35 syl13anc ( 𝜑 → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ) = ( 𝐺 ( ·𝑠𝑃 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ) )
37 36 oveq2d ( 𝜑 → ( 𝐹 ( ·𝑠𝑃 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ) ) = ( 𝐹 ( ·𝑠𝑃 ) ( 𝐺 ( ·𝑠𝑃 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ) ) )
38 1 19 3 20 2 5 22 9 7 10 mplmonmul ( 𝜑 → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) = ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 1r𝑅 ) , 0 ) ) )
39 38 oveq2d ( 𝜑 → ( 𝐺 ( ·𝑠𝑃 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ) = ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 1r𝑅 ) , 0 ) ) ) )
40 39 oveq2d ( 𝜑 → ( 𝐹 ( ·𝑠𝑃 ) ( 𝐺 ( ·𝑠𝑃 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ) ) = ( 𝐹 ( ·𝑠𝑃 ) ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 1r𝑅 ) , 0 ) ) ) ) )
41 2 psrbagaddcl ( ( 𝑋𝐷𝑌𝐷 ) → ( 𝑋f + 𝑌 ) ∈ 𝐷 )
42 9 10 41 syl2anc ( 𝜑 → ( 𝑋f + 𝑌 ) ∈ 𝐷 )
43 1 19 3 20 2 5 22 42 mplmon ( 𝜑 → ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 1r𝑅 ) , 0 ) ) ∈ ( Base ‘ 𝑃 ) )
44 eqid ( .r ‘ ( Scalar ‘ 𝑃 ) ) = ( .r ‘ ( Scalar ‘ 𝑃 ) )
45 19 28 29 30 44 lmodvsass ( ( 𝑃 ∈ LMod ∧ ( 𝐹 ∈ ( Base ‘ ( Scalar ‘ 𝑃 ) ) ∧ 𝐺 ∈ ( Base ‘ ( Scalar ‘ 𝑃 ) ) ∧ ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 1r𝑅 ) , 0 ) ) ∈ ( Base ‘ 𝑃 ) ) ) → ( ( 𝐹 ( .r ‘ ( Scalar ‘ 𝑃 ) ) 𝐺 ) ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 1r𝑅 ) , 0 ) ) ) = ( 𝐹 ( ·𝑠𝑃 ) ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 1r𝑅 ) , 0 ) ) ) ) )
46 25 18 26 43 45 syl13anc ( 𝜑 → ( ( 𝐹 ( .r ‘ ( Scalar ‘ 𝑃 ) ) 𝐺 ) ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 1r𝑅 ) , 0 ) ) ) = ( 𝐹 ( ·𝑠𝑃 ) ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 1r𝑅 ) , 0 ) ) ) ) )
47 15 fveq2d ( 𝜑 → ( .r𝑅 ) = ( .r ‘ ( Scalar ‘ 𝑃 ) ) )
48 8 47 eqtr2id ( 𝜑 → ( .r ‘ ( Scalar ‘ 𝑃 ) ) = · )
49 48 oveqd ( 𝜑 → ( 𝐹 ( .r ‘ ( Scalar ‘ 𝑃 ) ) 𝐺 ) = ( 𝐹 · 𝐺 ) )
50 49 oveq1d ( 𝜑 → ( ( 𝐹 ( .r ‘ ( Scalar ‘ 𝑃 ) ) 𝐺 ) ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 1r𝑅 ) , 0 ) ) ) = ( ( 𝐹 · 𝐺 ) ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 1r𝑅 ) , 0 ) ) ) )
51 40 46 50 3eqtr2d ( 𝜑 → ( 𝐹 ( ·𝑠𝑃 ) ( 𝐺 ( ·𝑠𝑃 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ) ) = ( ( 𝐹 · 𝐺 ) ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 1r𝑅 ) , 0 ) ) ) )
52 34 37 51 3eqtrd ( 𝜑 → ( ( 𝐹 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ) ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ) = ( ( 𝐹 · 𝐺 ) ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 1r𝑅 ) , 0 ) ) ) )
53 1 29 2 20 3 4 5 22 9 11 mplmon2 ( 𝜑 → ( 𝐹 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ) = ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 𝐹 , 0 ) ) )
54 1 29 2 20 3 4 5 22 10 12 mplmon2 ( 𝜑 → ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) = ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 𝐺 , 0 ) ) )
55 53 54 oveq12d ( 𝜑 → ( ( 𝐹 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , ( 1r𝑅 ) , 0 ) ) ) ( 𝐺 ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , ( 1r𝑅 ) , 0 ) ) ) ) = ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 𝐹 , 0 ) ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 𝐺 , 0 ) ) ) )
56 4 8 ringcl ( ( 𝑅 ∈ Ring ∧ 𝐹𝐶𝐺𝐶 ) → ( 𝐹 · 𝐺 ) ∈ 𝐶 )
57 22 11 12 56 syl3anc ( 𝜑 → ( 𝐹 · 𝐺 ) ∈ 𝐶 )
58 1 29 2 20 3 4 5 22 42 57 mplmon2 ( 𝜑 → ( ( 𝐹 · 𝐺 ) ( ·𝑠𝑃 ) ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 1r𝑅 ) , 0 ) ) ) = ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 𝐹 · 𝐺 ) , 0 ) ) )
59 52 55 58 3eqtr3d ( 𝜑 → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 𝐹 , 0 ) ) ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 𝐺 , 0 ) ) ) = ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , ( 𝐹 · 𝐺 ) , 0 ) ) )