Metamath Proof Explorer


Theorem psrmulcllem

Description: Closure of the power series multiplication operation. (Contributed by Mario Carneiro, 29-Dec-2014)

Ref Expression
Hypotheses psrmulcl.s 𝑆 = ( 𝐼 mPwSer 𝑅 )
psrmulcl.b 𝐵 = ( Base ‘ 𝑆 )
psrmulcl.t · = ( .r𝑆 )
psrmulcl.r ( 𝜑𝑅 ∈ Ring )
psrmulcl.x ( 𝜑𝑋𝐵 )
psrmulcl.y ( 𝜑𝑌𝐵 )
psrmulcl.d 𝐷 = { 𝑓 ∈ ( ℕ0m 𝐼 ) ∣ ( 𝑓 “ ℕ ) ∈ Fin }
Assertion psrmulcllem ( 𝜑 → ( 𝑋 · 𝑌 ) ∈ 𝐵 )

Proof

Step Hyp Ref Expression
1 psrmulcl.s 𝑆 = ( 𝐼 mPwSer 𝑅 )
2 psrmulcl.b 𝐵 = ( Base ‘ 𝑆 )
3 psrmulcl.t · = ( .r𝑆 )
4 psrmulcl.r ( 𝜑𝑅 ∈ Ring )
5 psrmulcl.x ( 𝜑𝑋𝐵 )
6 psrmulcl.y ( 𝜑𝑌𝐵 )
7 psrmulcl.d 𝐷 = { 𝑓 ∈ ( ℕ0m 𝐼 ) ∣ ( 𝑓 “ ℕ ) ∈ Fin }
8 eqid ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 )
9 eqid ( 0g𝑅 ) = ( 0g𝑅 )
10 4 adantr ( ( 𝜑𝑘𝐷 ) → 𝑅 ∈ Ring )
11 ringcmn ( 𝑅 ∈ Ring → 𝑅 ∈ CMnd )
12 10 11 syl ( ( 𝜑𝑘𝐷 ) → 𝑅 ∈ CMnd )
13 reldmpsr Rel dom mPwSer
14 13 1 2 elbasov ( 𝑋𝐵 → ( 𝐼 ∈ V ∧ 𝑅 ∈ V ) )
15 5 14 syl ( 𝜑 → ( 𝐼 ∈ V ∧ 𝑅 ∈ V ) )
16 15 simpld ( 𝜑𝐼 ∈ V )
17 7 psrbaglefi ( ( 𝐼 ∈ V ∧ 𝑘𝐷 ) → { 𝑦𝐷𝑦r𝑘 } ∈ Fin )
18 16 17 sylan ( ( 𝜑𝑘𝐷 ) → { 𝑦𝐷𝑦r𝑘 } ∈ Fin )
19 4 ad2antrr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝑅 ∈ Ring )
20 1 8 7 2 5 psrelbas ( 𝜑𝑋 : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
21 20 ad2antrr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝑋 : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
22 simpr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } )
23 breq1 ( 𝑦 = 𝑥 → ( 𝑦r𝑘𝑥r𝑘 ) )
24 23 elrab ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↔ ( 𝑥𝐷𝑥r𝑘 ) )
25 22 24 sylib ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → ( 𝑥𝐷𝑥r𝑘 ) )
26 25 simpld ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝑥𝐷 )
27 21 26 ffvelrnd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → ( 𝑋𝑥 ) ∈ ( Base ‘ 𝑅 ) )
28 1 8 7 2 6 psrelbas ( 𝜑𝑌 : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
29 28 ad2antrr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝑌 : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
30 16 ad2antrr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝐼 ∈ V )
31 simplr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝑘𝐷 )
32 7 psrbagf ( ( 𝐼 ∈ V ∧ 𝑥𝐷 ) → 𝑥 : 𝐼 ⟶ ℕ0 )
33 30 26 32 syl2anc ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝑥 : 𝐼 ⟶ ℕ0 )
34 25 simprd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝑥r𝑘 )
35 7 psrbagcon ( ( 𝐼 ∈ V ∧ ( 𝑘𝐷𝑥 : 𝐼 ⟶ ℕ0𝑥r𝑘 ) ) → ( ( 𝑘f𝑥 ) ∈ 𝐷 ∧ ( 𝑘f𝑥 ) ∘r𝑘 ) )
36 30 31 33 34 35 syl13anc ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → ( ( 𝑘f𝑥 ) ∈ 𝐷 ∧ ( 𝑘f𝑥 ) ∘r𝑘 ) )
37 36 simpld ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → ( 𝑘f𝑥 ) ∈ 𝐷 )
38 29 37 ffvelrnd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ∈ ( Base ‘ 𝑅 ) )
39 eqid ( .r𝑅 ) = ( .r𝑅 )
40 8 39 ringcl ( ( 𝑅 ∈ Ring ∧ ( 𝑋𝑥 ) ∈ ( Base ‘ 𝑅 ) ∧ ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ∈ ( Base ‘ 𝑅 ) ) → ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ∈ ( Base ‘ 𝑅 ) )
41 19 27 38 40 syl3anc ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ∈ ( Base ‘ 𝑅 ) )
42 41 fmpttd ( ( 𝜑𝑘𝐷 ) → ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) : { 𝑦𝐷𝑦r𝑘 } ⟶ ( Base ‘ 𝑅 ) )
43 fvexd ( ( 𝜑𝑘𝐷 ) → ( 0g𝑅 ) ∈ V )
44 42 18 43 fdmfifsupp ( ( 𝜑𝑘𝐷 ) → ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) finSupp ( 0g𝑅 ) )
45 8 9 12 18 42 44 gsumcl ( ( 𝜑𝑘𝐷 ) → ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) ∈ ( Base ‘ 𝑅 ) )
46 45 fmpttd ( 𝜑 → ( 𝑘𝐷 ↦ ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) ) : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
47 fvex ( Base ‘ 𝑅 ) ∈ V
48 ovex ( ℕ0m 𝐼 ) ∈ V
49 7 48 rabex2 𝐷 ∈ V
50 47 49 elmap ( ( 𝑘𝐷 ↦ ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) ) ∈ ( ( Base ‘ 𝑅 ) ↑m 𝐷 ) ↔ ( 𝑘𝐷 ↦ ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) ) : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
51 46 50 sylibr ( 𝜑 → ( 𝑘𝐷 ↦ ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) ) ∈ ( ( Base ‘ 𝑅 ) ↑m 𝐷 ) )
52 1 2 39 3 7 5 6 psrmulfval ( 𝜑 → ( 𝑋 · 𝑌 ) = ( 𝑘𝐷 ↦ ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) ) )
53 1 8 7 2 16 psrbas ( 𝜑𝐵 = ( ( Base ‘ 𝑅 ) ↑m 𝐷 ) )
54 51 52 53 3eltr4d ( 𝜑 → ( 𝑋 · 𝑌 ) ∈ 𝐵 )