Metamath Proof Explorer


Theorem mnringmulrd

Description: The ring product of a monoid ring. (Contributed by Rohan Ridenour, 14-May-2024)

Ref Expression
Hypotheses mnringmulrd.1 โŠข ๐น = ( ๐‘… MndRing ๐‘€ )
mnringmulrd.2 โŠข ๐ต = ( Base โ€˜ ๐น )
mnringmulrd.3 โŠข ยท = ( .r โ€˜ ๐‘… )
mnringmulrd.4 โŠข 0 = ( 0g โ€˜ ๐‘… )
mnringmulrd.5 โŠข ๐ด = ( Base โ€˜ ๐‘€ )
mnringmulrd.6 โŠข + = ( +g โ€˜ ๐‘€ )
mnringmulrd.7 โŠข ( ๐œ‘ โ†’ ๐‘… โˆˆ ๐‘ˆ )
mnringmulrd.8 โŠข ( ๐œ‘ โ†’ ๐‘€ โˆˆ ๐‘Š )
Assertion mnringmulrd ( ๐œ‘ โ†’ ( ๐‘ฅ โˆˆ ๐ต , ๐‘ฆ โˆˆ ๐ต โ†ฆ ( ๐น ฮฃg ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) ) ) = ( .r โ€˜ ๐น ) )

Proof

Step Hyp Ref Expression
1 mnringmulrd.1 โŠข ๐น = ( ๐‘… MndRing ๐‘€ )
2 mnringmulrd.2 โŠข ๐ต = ( Base โ€˜ ๐น )
3 mnringmulrd.3 โŠข ยท = ( .r โ€˜ ๐‘… )
4 mnringmulrd.4 โŠข 0 = ( 0g โ€˜ ๐‘… )
5 mnringmulrd.5 โŠข ๐ด = ( Base โ€˜ ๐‘€ )
6 mnringmulrd.6 โŠข + = ( +g โ€˜ ๐‘€ )
7 mnringmulrd.7 โŠข ( ๐œ‘ โ†’ ๐‘… โˆˆ ๐‘ˆ )
8 mnringmulrd.8 โŠข ( ๐œ‘ โ†’ ๐‘€ โˆˆ ๐‘Š )
9 eqid โŠข ( ๐‘… freeLMod ๐ด ) = ( ๐‘… freeLMod ๐ด )
10 1 2 5 9 7 8 mnringbaserd โŠข ( ๐œ‘ โ†’ ๐ต = ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) )
11 5 fvexi โŠข ๐ด โˆˆ V
12 11 11 mpoex โŠข ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) โˆˆ V
13 12 a1i โŠข ( ๐œ‘ โ†’ ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) โˆˆ V )
14 1 ovexi โŠข ๐น โˆˆ V
15 14 a1i โŠข ( ๐œ‘ โ†’ ๐น โˆˆ V )
16 ovex โŠข ( ๐‘… freeLMod ๐ด ) โˆˆ V
17 16 a1i โŠข ( ๐œ‘ โ†’ ( ๐‘… freeLMod ๐ด ) โˆˆ V )
18 2 10 eqtr3id โŠข ( ๐œ‘ โ†’ ( Base โ€˜ ๐น ) = ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) )
19 1 5 9 7 8 mnringaddgd โŠข ( ๐œ‘ โ†’ ( +g โ€˜ ( ๐‘… freeLMod ๐ด ) ) = ( +g โ€˜ ๐น ) )
20 19 eqcomd โŠข ( ๐œ‘ โ†’ ( +g โ€˜ ๐น ) = ( +g โ€˜ ( ๐‘… freeLMod ๐ด ) ) )
21 13 15 17 18 20 gsumpropd โŠข ( ๐œ‘ โ†’ ( ๐น ฮฃg ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) ) = ( ( ๐‘… freeLMod ๐ด ) ฮฃg ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) ) )
22 10 10 21 mpoeq123dv โŠข ( ๐œ‘ โ†’ ( ๐‘ฅ โˆˆ ๐ต , ๐‘ฆ โˆˆ ๐ต โ†ฆ ( ๐น ฮฃg ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) ) ) = ( ๐‘ฅ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) , ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) โ†ฆ ( ( ๐‘… freeLMod ๐ด ) ฮฃg ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) ) ) )
23 fvex โŠข ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) โˆˆ V
24 23 23 mpoex โŠข ( ๐‘ฅ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) , ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) โ†ฆ ( ( ๐‘… freeLMod ๐ด ) ฮฃg ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) ) ) โˆˆ V
25 mulridx โŠข .r = Slot ( .r โ€˜ ndx )
26 25 setsid โŠข ( ( ( ๐‘… freeLMod ๐ด ) โˆˆ V โˆง ( ๐‘ฅ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) , ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) โ†ฆ ( ( ๐‘… freeLMod ๐ด ) ฮฃg ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) ) ) โˆˆ V ) โ†’ ( ๐‘ฅ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) , ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) โ†ฆ ( ( ๐‘… freeLMod ๐ด ) ฮฃg ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) ) ) = ( .r โ€˜ ( ( ๐‘… freeLMod ๐ด ) sSet โŸจ ( .r โ€˜ ndx ) , ( ๐‘ฅ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) , ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) โ†ฆ ( ( ๐‘… freeLMod ๐ด ) ฮฃg ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) ) ) โŸฉ ) ) )
27 16 24 26 mp2an โŠข ( ๐‘ฅ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) , ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) โ†ฆ ( ( ๐‘… freeLMod ๐ด ) ฮฃg ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) ) ) = ( .r โ€˜ ( ( ๐‘… freeLMod ๐ด ) sSet โŸจ ( .r โ€˜ ndx ) , ( ๐‘ฅ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) , ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) โ†ฆ ( ( ๐‘… freeLMod ๐ด ) ฮฃg ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) ) ) โŸฉ ) )
28 eqid โŠข ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) = ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) )
29 1 3 4 5 6 9 28 7 8 mnringvald โŠข ( ๐œ‘ โ†’ ๐น = ( ( ๐‘… freeLMod ๐ด ) sSet โŸจ ( .r โ€˜ ndx ) , ( ๐‘ฅ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) , ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) โ†ฆ ( ( ๐‘… freeLMod ๐ด ) ฮฃg ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) ) ) โŸฉ ) )
30 29 fveq2d โŠข ( ๐œ‘ โ†’ ( .r โ€˜ ๐น ) = ( .r โ€˜ ( ( ๐‘… freeLMod ๐ด ) sSet โŸจ ( .r โ€˜ ndx ) , ( ๐‘ฅ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) , ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) โ†ฆ ( ( ๐‘… freeLMod ๐ด ) ฮฃg ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) ) ) โŸฉ ) ) )
31 27 30 eqtr4id โŠข ( ๐œ‘ โ†’ ( ๐‘ฅ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) , ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐‘… freeLMod ๐ด ) ) โ†ฆ ( ( ๐‘… freeLMod ๐ด ) ฮฃg ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) ) ) = ( .r โ€˜ ๐น ) )
32 22 31 eqtrd โŠข ( ๐œ‘ โ†’ ( ๐‘ฅ โˆˆ ๐ต , ๐‘ฆ โˆˆ ๐ต โ†ฆ ( ๐น ฮฃg ( ๐‘Ž โˆˆ ๐ด , ๐‘ โˆˆ ๐ด โ†ฆ ( ๐‘– โˆˆ ๐ด โ†ฆ if ( ๐‘– = ( ๐‘Ž + ๐‘ ) , ( ( ๐‘ฅ โ€˜ ๐‘Ž ) ยท ( ๐‘ฆ โ€˜ ๐‘ ) ) , 0 ) ) ) ) ) = ( .r โ€˜ ๐น ) )