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