Metamath Proof Explorer


Theorem psrcom

Description: Commutative law for the ring of power series. (Contributed by Mario Carneiro, 7-Jan-2015)

Ref Expression
Hypotheses psrring.s 𝑆 = ( 𝐼 mPwSer 𝑅 )
psrring.i ( 𝜑𝐼𝑉 )
psrring.r ( 𝜑𝑅 ∈ Ring )
psrass.d 𝐷 = { 𝑓 ∈ ( ℕ0m 𝐼 ) ∣ ( 𝑓 “ ℕ ) ∈ Fin }
psrass.t × = ( .r𝑆 )
psrass.b 𝐵 = ( Base ‘ 𝑆 )
psrass.x ( 𝜑𝑋𝐵 )
psrass.y ( 𝜑𝑌𝐵 )
psrcom.c ( 𝜑𝑅 ∈ CRing )
Assertion psrcom ( 𝜑 → ( 𝑋 × 𝑌 ) = ( 𝑌 × 𝑋 ) )

Proof

Step Hyp Ref Expression
1 psrring.s 𝑆 = ( 𝐼 mPwSer 𝑅 )
2 psrring.i ( 𝜑𝐼𝑉 )
3 psrring.r ( 𝜑𝑅 ∈ Ring )
4 psrass.d 𝐷 = { 𝑓 ∈ ( ℕ0m 𝐼 ) ∣ ( 𝑓 “ ℕ ) ∈ Fin }
5 psrass.t × = ( .r𝑆 )
6 psrass.b 𝐵 = ( Base ‘ 𝑆 )
7 psrass.x ( 𝜑𝑋𝐵 )
8 psrass.y ( 𝜑𝑌𝐵 )
9 psrcom.c ( 𝜑𝑅 ∈ CRing )
10 eqid ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 )
11 eqid ( 0g𝑅 ) = ( 0g𝑅 )
12 ringcmn ( 𝑅 ∈ Ring → 𝑅 ∈ CMnd )
13 3 12 syl ( 𝜑𝑅 ∈ CMnd )
14 13 adantr ( ( 𝜑𝑥𝐷 ) → 𝑅 ∈ CMnd )
15 4 psrbaglefi ( 𝑥𝐷 → { 𝑔𝐷𝑔r𝑥 } ∈ Fin )
16 15 adantl ( ( 𝜑𝑥𝐷 ) → { 𝑔𝐷𝑔r𝑥 } ∈ Fin )
17 3 ad2antrr ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑅 ∈ Ring )
18 1 10 4 6 7 psrelbas ( 𝜑𝑋 : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
19 18 ad2antrr ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑋 : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
20 breq1 ( 𝑔 = 𝑘 → ( 𝑔r𝑥𝑘r𝑥 ) )
21 20 elrab ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↔ ( 𝑘𝐷𝑘r𝑥 ) )
22 21 bilani ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( 𝑘𝐷𝑘r𝑥 ) )
23 22 simpld ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑘𝐷 )
24 19 23 ffvelcdmd ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( 𝑋𝑘 ) ∈ ( Base ‘ 𝑅 ) )
25 1 10 4 6 8 psrelbas ( 𝜑𝑌 : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
26 25 ad2antrr ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑌 : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
27 simplr ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑥𝐷 )
28 4 psrbagf ( 𝑘𝐷𝑘 : 𝐼 ⟶ ℕ0 )
29 23 28 syl ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑘 : 𝐼 ⟶ ℕ0 )
30 22 simprd ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑘r𝑥 )
31 4 psrbagcon ( ( 𝑥𝐷𝑘 : 𝐼 ⟶ ℕ0𝑘r𝑥 ) → ( ( 𝑥f𝑘 ) ∈ 𝐷 ∧ ( 𝑥f𝑘 ) ∘r𝑥 ) )
32 27 29 30 31 syl3anc ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( ( 𝑥f𝑘 ) ∈ 𝐷 ∧ ( 𝑥f𝑘 ) ∘r𝑥 ) )
33 32 simpld ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( 𝑥f𝑘 ) ∈ 𝐷 )
34 26 33 ffvelcdmd ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ∈ ( Base ‘ 𝑅 ) )
35 eqid ( .r𝑅 ) = ( .r𝑅 )
36 10 35 ringcl ( ( 𝑅 ∈ Ring ∧ ( 𝑋𝑘 ) ∈ ( Base ‘ 𝑅 ) ∧ ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ∈ ( Base ‘ 𝑅 ) ) → ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ∈ ( Base ‘ 𝑅 ) )
37 17 24 34 36 syl3anc ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ∈ ( Base ‘ 𝑅 ) )
38 37 fmpttd ( ( 𝜑𝑥𝐷 ) → ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) : { 𝑔𝐷𝑔r𝑥 } ⟶ ( Base ‘ 𝑅 ) )
39 ovex ( ℕ0m 𝐼 ) ∈ V
40 4 39 rabex2 𝐷 ∈ V
41 40 a1i ( ( 𝜑𝑥𝐷 ) → 𝐷 ∈ V )
42 rabexg ( 𝐷 ∈ V → { 𝑔𝐷𝑔r𝑥 } ∈ V )
43 41 42 syl ( ( 𝜑𝑥𝐷 ) → { 𝑔𝐷𝑔r𝑥 } ∈ V )
44 43 mptexd ( ( 𝜑𝑥𝐷 ) → ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) ∈ V )
45 funmpt Fun ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) )
46 45 a1i ( ( 𝜑𝑥𝐷 ) → Fun ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) )
47 fvexd ( ( 𝜑𝑥𝐷 ) → ( 0g𝑅 ) ∈ V )
48 suppssdm ( ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) supp ( 0g𝑅 ) ) ⊆ dom ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) )
49 eqid ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) = ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) )
50 49 dmmptss dom ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) ⊆ { 𝑔𝐷𝑔r𝑥 }
51 48 50 sstri ( ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) supp ( 0g𝑅 ) ) ⊆ { 𝑔𝐷𝑔r𝑥 }
52 51 a1i ( ( 𝜑𝑥𝐷 ) → ( ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) supp ( 0g𝑅 ) ) ⊆ { 𝑔𝐷𝑔r𝑥 } )
53 suppssfifsupp ( ( ( ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) ∈ V ∧ Fun ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) ∧ ( 0g𝑅 ) ∈ V ) ∧ ( { 𝑔𝐷𝑔r𝑥 } ∈ Fin ∧ ( ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) supp ( 0g𝑅 ) ) ⊆ { 𝑔𝐷𝑔r𝑥 } ) ) → ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) finSupp ( 0g𝑅 ) )
54 44 46 47 16 52 53 syl32anc ( ( 𝜑𝑥𝐷 ) → ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) finSupp ( 0g𝑅 ) )
55 eqid { 𝑔𝐷𝑔r𝑥 } = { 𝑔𝐷𝑔r𝑥 }
56 4 55 psrbagconf1o ( 𝑥𝐷 → ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( 𝑥f𝑗 ) ) : { 𝑔𝐷𝑔r𝑥 } –1-1-onto→ { 𝑔𝐷𝑔r𝑥 } )
57 56 adantl ( ( 𝜑𝑥𝐷 ) → ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( 𝑥f𝑗 ) ) : { 𝑔𝐷𝑔r𝑥 } –1-1-onto→ { 𝑔𝐷𝑔r𝑥 } )
58 10 11 14 16 38 54 57 gsumf1o ( ( 𝜑𝑥𝐷 ) → ( 𝑅 Σg ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) ) = ( 𝑅 Σg ( ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) ∘ ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( 𝑥f𝑗 ) ) ) ) )
59 simplr ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑥𝐷 )
60 simpr ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } )
61 4 55 psrbagconcl ( ( 𝑥𝐷𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( 𝑥f𝑗 ) ∈ { 𝑔𝐷𝑔r𝑥 } )
62 59 60 61 syl2anc ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( 𝑥f𝑗 ) ∈ { 𝑔𝐷𝑔r𝑥 } )
63 eqidd ( ( 𝜑𝑥𝐷 ) → ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( 𝑥f𝑗 ) ) = ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( 𝑥f𝑗 ) ) )
64 eqidd ( ( 𝜑𝑥𝐷 ) → ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) = ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) )
65 fveq2 ( 𝑘 = ( 𝑥f𝑗 ) → ( 𝑋𝑘 ) = ( 𝑋 ‘ ( 𝑥f𝑗 ) ) )
66 oveq2 ( 𝑘 = ( 𝑥f𝑗 ) → ( 𝑥f𝑘 ) = ( 𝑥f − ( 𝑥f𝑗 ) ) )
67 66 fveq2d ( 𝑘 = ( 𝑥f𝑗 ) → ( 𝑌 ‘ ( 𝑥f𝑘 ) ) = ( 𝑌 ‘ ( 𝑥f − ( 𝑥f𝑗 ) ) ) )
68 65 67 oveq12d ( 𝑘 = ( 𝑥f𝑗 ) → ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) = ( ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f − ( 𝑥f𝑗 ) ) ) ) )
69 62 63 64 68 fmptco ( ( 𝜑𝑥𝐷 ) → ( ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) ∘ ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( 𝑥f𝑗 ) ) ) = ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f − ( 𝑥f𝑗 ) ) ) ) ) )
70 4 psrbagf ( 𝑥𝐷𝑥 : 𝐼 ⟶ ℕ0 )
71 70 adantl ( ( 𝜑𝑥𝐷 ) → 𝑥 : 𝐼 ⟶ ℕ0 )
72 71 adantr ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑥 : 𝐼 ⟶ ℕ0 )
73 72 ffvelcdmda ( ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) ∧ 𝑧𝐼 ) → ( 𝑥𝑧 ) ∈ ℕ0 )
74 breq1 ( 𝑔 = 𝑗 → ( 𝑔r𝑥𝑗r𝑥 ) )
75 74 elrab ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↔ ( 𝑗𝐷𝑗r𝑥 ) )
76 75 bilani ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( 𝑗𝐷𝑗r𝑥 ) )
77 76 simpld ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑗𝐷 )
78 4 psrbagf ( 𝑗𝐷𝑗 : 𝐼 ⟶ ℕ0 )
79 77 78 syl ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑗 : 𝐼 ⟶ ℕ0 )
80 79 ffvelcdmda ( ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) ∧ 𝑧𝐼 ) → ( 𝑗𝑧 ) ∈ ℕ0 )
81 nn0cn ( ( 𝑥𝑧 ) ∈ ℕ0 → ( 𝑥𝑧 ) ∈ ℂ )
82 nn0cn ( ( 𝑗𝑧 ) ∈ ℕ0 → ( 𝑗𝑧 ) ∈ ℂ )
83 nncan ( ( ( 𝑥𝑧 ) ∈ ℂ ∧ ( 𝑗𝑧 ) ∈ ℂ ) → ( ( 𝑥𝑧 ) − ( ( 𝑥𝑧 ) − ( 𝑗𝑧 ) ) ) = ( 𝑗𝑧 ) )
84 81 82 83 syl2an ( ( ( 𝑥𝑧 ) ∈ ℕ0 ∧ ( 𝑗𝑧 ) ∈ ℕ0 ) → ( ( 𝑥𝑧 ) − ( ( 𝑥𝑧 ) − ( 𝑗𝑧 ) ) ) = ( 𝑗𝑧 ) )
85 73 80 84 syl2anc ( ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) ∧ 𝑧𝐼 ) → ( ( 𝑥𝑧 ) − ( ( 𝑥𝑧 ) − ( 𝑗𝑧 ) ) ) = ( 𝑗𝑧 ) )
86 85 mpteq2dva ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( 𝑧𝐼 ↦ ( ( 𝑥𝑧 ) − ( ( 𝑥𝑧 ) − ( 𝑗𝑧 ) ) ) ) = ( 𝑧𝐼 ↦ ( 𝑗𝑧 ) ) )
87 2 ad2antrr ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝐼𝑉 )
88 ovex ( ( 𝑥𝑧 ) − ( 𝑗𝑧 ) ) ∈ V
89 88 a1i ( ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) ∧ 𝑧𝐼 ) → ( ( 𝑥𝑧 ) − ( 𝑗𝑧 ) ) ∈ V )
90 72 feqmptd ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑥 = ( 𝑧𝐼 ↦ ( 𝑥𝑧 ) ) )
91 79 feqmptd ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑗 = ( 𝑧𝐼 ↦ ( 𝑗𝑧 ) ) )
92 87 73 80 90 91 offval2 ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( 𝑥f𝑗 ) = ( 𝑧𝐼 ↦ ( ( 𝑥𝑧 ) − ( 𝑗𝑧 ) ) ) )
93 87 73 89 90 92 offval2 ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( 𝑥f − ( 𝑥f𝑗 ) ) = ( 𝑧𝐼 ↦ ( ( 𝑥𝑧 ) − ( ( 𝑥𝑧 ) − ( 𝑗𝑧 ) ) ) ) )
94 86 93 91 3eqtr4d ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( 𝑥f − ( 𝑥f𝑗 ) ) = 𝑗 )
95 94 fveq2d ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( 𝑌 ‘ ( 𝑥f − ( 𝑥f𝑗 ) ) ) = ( 𝑌𝑗 ) )
96 95 oveq2d ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f − ( 𝑥f𝑗 ) ) ) ) = ( ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ( .r𝑅 ) ( 𝑌𝑗 ) ) )
97 9 ad2antrr ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑅 ∈ CRing )
98 18 ad2antrr ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑋 : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
99 76 simprd ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑗r𝑥 )
100 4 psrbagcon ( ( 𝑥𝐷𝑗 : 𝐼 ⟶ ℕ0𝑗r𝑥 ) → ( ( 𝑥f𝑗 ) ∈ 𝐷 ∧ ( 𝑥f𝑗 ) ∘r𝑥 ) )
101 59 79 99 100 syl3anc ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( ( 𝑥f𝑗 ) ∈ 𝐷 ∧ ( 𝑥f𝑗 ) ∘r𝑥 ) )
102 101 simpld ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( 𝑥f𝑗 ) ∈ 𝐷 )
103 98 102 ffvelcdmd ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ∈ ( Base ‘ 𝑅 ) )
104 25 ad2antrr ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → 𝑌 : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
105 104 77 ffvelcdmd ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( 𝑌𝑗 ) ∈ ( Base ‘ 𝑅 ) )
106 10 35 crngcom ( ( 𝑅 ∈ CRing ∧ ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ∈ ( Base ‘ 𝑅 ) ∧ ( 𝑌𝑗 ) ∈ ( Base ‘ 𝑅 ) ) → ( ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ( .r𝑅 ) ( 𝑌𝑗 ) ) = ( ( 𝑌𝑗 ) ( .r𝑅 ) ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ) )
107 97 103 105 106 syl3anc ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ( .r𝑅 ) ( 𝑌𝑗 ) ) = ( ( 𝑌𝑗 ) ( .r𝑅 ) ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ) )
108 96 107 eqtrd ( ( ( 𝜑𝑥𝐷 ) ∧ 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ) → ( ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f − ( 𝑥f𝑗 ) ) ) ) = ( ( 𝑌𝑗 ) ( .r𝑅 ) ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ) )
109 108 mpteq2dva ( ( 𝜑𝑥𝐷 ) → ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f − ( 𝑥f𝑗 ) ) ) ) ) = ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑌𝑗 ) ( .r𝑅 ) ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ) ) )
110 69 109 eqtrd ( ( 𝜑𝑥𝐷 ) → ( ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) ∘ ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( 𝑥f𝑗 ) ) ) = ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑌𝑗 ) ( .r𝑅 ) ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ) ) )
111 110 oveq2d ( ( 𝜑𝑥𝐷 ) → ( 𝑅 Σg ( ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) ∘ ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( 𝑥f𝑗 ) ) ) ) = ( 𝑅 Σg ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑌𝑗 ) ( .r𝑅 ) ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ) ) ) )
112 58 111 eqtrd ( ( 𝜑𝑥𝐷 ) → ( 𝑅 Σg ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) ) = ( 𝑅 Σg ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑌𝑗 ) ( .r𝑅 ) ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ) ) ) )
113 112 mpteq2dva ( 𝜑 → ( 𝑥𝐷 ↦ ( 𝑅 Σg ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) ) ) = ( 𝑥𝐷 ↦ ( 𝑅 Σg ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑌𝑗 ) ( .r𝑅 ) ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ) ) ) ) )
114 1 6 35 5 4 7 8 psrmulfval ( 𝜑 → ( 𝑋 × 𝑌 ) = ( 𝑥𝐷 ↦ ( 𝑅 Σg ( 𝑘 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑋𝑘 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑥f𝑘 ) ) ) ) ) ) )
115 1 6 35 5 4 8 7 psrmulfval ( 𝜑 → ( 𝑌 × 𝑋 ) = ( 𝑥𝐷 ↦ ( 𝑅 Σg ( 𝑗 ∈ { 𝑔𝐷𝑔r𝑥 } ↦ ( ( 𝑌𝑗 ) ( .r𝑅 ) ( 𝑋 ‘ ( 𝑥f𝑗 ) ) ) ) ) ) )
116 113 114 115 3eqtr4d ( 𝜑 → ( 𝑋 × 𝑌 ) = ( 𝑌 × 𝑋 ) )