Metamath Proof Explorer


Theorem mnringvald

Description: Value of the monoid ring function. (Contributed by Rohan Ridenour, 14-May-2024)

Ref Expression
Hypotheses mnringvald.1 𝐹 = ( 𝑅 MndRing 𝑀 )
mnringvald.2 · = ( .r𝑅 )
mnringvald.3 0 = ( 0g𝑅 )
mnringvald.4 𝐴 = ( Base ‘ 𝑀 )
mnringvald.5 + = ( +g𝑀 )
mnringvald.6 𝑉 = ( 𝑅 freeLMod 𝐴 )
mnringvald.7 𝐵 = ( Base ‘ 𝑉 )
mnringvald.8 ( 𝜑𝑅𝑈 )
mnringvald.9 ( 𝜑𝑀𝑊 )
Assertion mnringvald ( 𝜑𝐹 = ( 𝑉 sSet ⟨ ( .r ‘ ndx ) , ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 𝑉 Σg ( 𝑎𝐴 , 𝑏𝐴 ↦ ( 𝑖𝐴 ↦ if ( 𝑖 = ( 𝑎 + 𝑏 ) , ( ( 𝑥𝑎 ) · ( 𝑦𝑏 ) ) , 0 ) ) ) ) ) ⟩ ) )

Proof

Step Hyp Ref Expression
1 mnringvald.1 𝐹 = ( 𝑅 MndRing 𝑀 )
2 mnringvald.2 · = ( .r𝑅 )
3 mnringvald.3 0 = ( 0g𝑅 )
4 mnringvald.4 𝐴 = ( Base ‘ 𝑀 )
5 mnringvald.5 + = ( +g𝑀 )
6 mnringvald.6 𝑉 = ( 𝑅 freeLMod 𝐴 )
7 mnringvald.7 𝐵 = ( Base ‘ 𝑉 )
8 mnringvald.8 ( 𝜑𝑅𝑈 )
9 mnringvald.9 ( 𝜑𝑀𝑊 )
10 8 elexd ( 𝜑𝑅 ∈ V )
11 9 elexd ( 𝜑𝑀 ∈ V )
12 nfv 𝑣 ( 𝑟 = 𝑅𝑚 = 𝑀 )
13 nfcvd ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) → 𝑣 ( 𝑉 sSet ⟨ ( .r ‘ ndx ) , ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 𝑉 Σg ( 𝑎𝐴 , 𝑏𝐴 ↦ ( 𝑖𝐴 ↦ if ( 𝑖 = ( 𝑎 + 𝑏 ) , ( ( 𝑥𝑎 ) · ( 𝑦𝑏 ) ) , 0 ) ) ) ) ) ⟩ ) )
14 ovexd ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) → ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ∈ V )
15 simpr ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) )
16 simpll ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → 𝑟 = 𝑅 )
17 fveq2 ( 𝑚 = 𝑀 → ( Base ‘ 𝑚 ) = ( Base ‘ 𝑀 ) )
18 17 4 eqtr4di ( 𝑚 = 𝑀 → ( Base ‘ 𝑚 ) = 𝐴 )
19 18 ad2antlr ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → ( Base ‘ 𝑚 ) = 𝐴 )
20 16 19 oveq12d ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) = ( 𝑅 freeLMod 𝐴 ) )
21 15 20 eqtrd ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → 𝑣 = ( 𝑅 freeLMod 𝐴 ) )
22 21 6 eqtr4di ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → 𝑣 = 𝑉 )
23 22 fveq2d ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → ( Base ‘ 𝑣 ) = ( Base ‘ 𝑉 ) )
24 23 7 eqtr4di ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → ( Base ‘ 𝑣 ) = 𝐵 )
25 fveq2 ( 𝑚 = 𝑀 → ( +g𝑚 ) = ( +g𝑀 ) )
26 25 5 eqtr4di ( 𝑚 = 𝑀 → ( +g𝑚 ) = + )
27 26 oveqd ( 𝑚 = 𝑀 → ( 𝑎 ( +g𝑚 ) 𝑏 ) = ( 𝑎 + 𝑏 ) )
28 27 ad2antlr ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → ( 𝑎 ( +g𝑚 ) 𝑏 ) = ( 𝑎 + 𝑏 ) )
29 28 eqeq2d ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → ( 𝑖 = ( 𝑎 ( +g𝑚 ) 𝑏 ) ↔ 𝑖 = ( 𝑎 + 𝑏 ) ) )
30 fveq2 ( 𝑟 = 𝑅 → ( .r𝑟 ) = ( .r𝑅 ) )
31 30 2 eqtr4di ( 𝑟 = 𝑅 → ( .r𝑟 ) = · )
32 31 oveqd ( 𝑟 = 𝑅 → ( ( 𝑥𝑎 ) ( .r𝑟 ) ( 𝑦𝑏 ) ) = ( ( 𝑥𝑎 ) · ( 𝑦𝑏 ) ) )
33 32 ad2antrr ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → ( ( 𝑥𝑎 ) ( .r𝑟 ) ( 𝑦𝑏 ) ) = ( ( 𝑥𝑎 ) · ( 𝑦𝑏 ) ) )
34 fveq2 ( 𝑟 = 𝑅 → ( 0g𝑟 ) = ( 0g𝑅 ) )
35 34 3 eqtr4di ( 𝑟 = 𝑅 → ( 0g𝑟 ) = 0 )
36 35 ad2antrr ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → ( 0g𝑟 ) = 0 )
37 29 33 36 ifbieq12d ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → if ( 𝑖 = ( 𝑎 ( +g𝑚 ) 𝑏 ) , ( ( 𝑥𝑎 ) ( .r𝑟 ) ( 𝑦𝑏 ) ) , ( 0g𝑟 ) ) = if ( 𝑖 = ( 𝑎 + 𝑏 ) , ( ( 𝑥𝑎 ) · ( 𝑦𝑏 ) ) , 0 ) )
38 19 37 mpteq12dv ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → ( 𝑖 ∈ ( Base ‘ 𝑚 ) ↦ if ( 𝑖 = ( 𝑎 ( +g𝑚 ) 𝑏 ) , ( ( 𝑥𝑎 ) ( .r𝑟 ) ( 𝑦𝑏 ) ) , ( 0g𝑟 ) ) ) = ( 𝑖𝐴 ↦ if ( 𝑖 = ( 𝑎 + 𝑏 ) , ( ( 𝑥𝑎 ) · ( 𝑦𝑏 ) ) , 0 ) ) )
39 19 19 38 mpoeq123dv ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → ( 𝑎 ∈ ( Base ‘ 𝑚 ) , 𝑏 ∈ ( Base ‘ 𝑚 ) ↦ ( 𝑖 ∈ ( Base ‘ 𝑚 ) ↦ if ( 𝑖 = ( 𝑎 ( +g𝑚 ) 𝑏 ) , ( ( 𝑥𝑎 ) ( .r𝑟 ) ( 𝑦𝑏 ) ) , ( 0g𝑟 ) ) ) ) = ( 𝑎𝐴 , 𝑏𝐴 ↦ ( 𝑖𝐴 ↦ if ( 𝑖 = ( 𝑎 + 𝑏 ) , ( ( 𝑥𝑎 ) · ( 𝑦𝑏 ) ) , 0 ) ) ) )
40 22 39 oveq12d ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → ( 𝑣 Σg ( 𝑎 ∈ ( Base ‘ 𝑚 ) , 𝑏 ∈ ( Base ‘ 𝑚 ) ↦ ( 𝑖 ∈ ( Base ‘ 𝑚 ) ↦ if ( 𝑖 = ( 𝑎 ( +g𝑚 ) 𝑏 ) , ( ( 𝑥𝑎 ) ( .r𝑟 ) ( 𝑦𝑏 ) ) , ( 0g𝑟 ) ) ) ) ) = ( 𝑉 Σg ( 𝑎𝐴 , 𝑏𝐴 ↦ ( 𝑖𝐴 ↦ if ( 𝑖 = ( 𝑎 + 𝑏 ) , ( ( 𝑥𝑎 ) · ( 𝑦𝑏 ) ) , 0 ) ) ) ) )
41 24 24 40 mpoeq123dv ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → ( 𝑥 ∈ ( Base ‘ 𝑣 ) , 𝑦 ∈ ( Base ‘ 𝑣 ) ↦ ( 𝑣 Σg ( 𝑎 ∈ ( Base ‘ 𝑚 ) , 𝑏 ∈ ( Base ‘ 𝑚 ) ↦ ( 𝑖 ∈ ( Base ‘ 𝑚 ) ↦ if ( 𝑖 = ( 𝑎 ( +g𝑚 ) 𝑏 ) , ( ( 𝑥𝑎 ) ( .r𝑟 ) ( 𝑦𝑏 ) ) , ( 0g𝑟 ) ) ) ) ) ) = ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 𝑉 Σg ( 𝑎𝐴 , 𝑏𝐴 ↦ ( 𝑖𝐴 ↦ if ( 𝑖 = ( 𝑎 + 𝑏 ) , ( ( 𝑥𝑎 ) · ( 𝑦𝑏 ) ) , 0 ) ) ) ) ) )
42 41 opeq2d ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → ⟨ ( .r ‘ ndx ) , ( 𝑥 ∈ ( Base ‘ 𝑣 ) , 𝑦 ∈ ( Base ‘ 𝑣 ) ↦ ( 𝑣 Σg ( 𝑎 ∈ ( Base ‘ 𝑚 ) , 𝑏 ∈ ( Base ‘ 𝑚 ) ↦ ( 𝑖 ∈ ( Base ‘ 𝑚 ) ↦ if ( 𝑖 = ( 𝑎 ( +g𝑚 ) 𝑏 ) , ( ( 𝑥𝑎 ) ( .r𝑟 ) ( 𝑦𝑏 ) ) , ( 0g𝑟 ) ) ) ) ) ) ⟩ = ⟨ ( .r ‘ ndx ) , ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 𝑉 Σg ( 𝑎𝐴 , 𝑏𝐴 ↦ ( 𝑖𝐴 ↦ if ( 𝑖 = ( 𝑎 + 𝑏 ) , ( ( 𝑥𝑎 ) · ( 𝑦𝑏 ) ) , 0 ) ) ) ) ) ⟩ )
43 22 42 oveq12d ( ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) ∧ 𝑣 = ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) ) → ( 𝑣 sSet ⟨ ( .r ‘ ndx ) , ( 𝑥 ∈ ( Base ‘ 𝑣 ) , 𝑦 ∈ ( Base ‘ 𝑣 ) ↦ ( 𝑣 Σg ( 𝑎 ∈ ( Base ‘ 𝑚 ) , 𝑏 ∈ ( Base ‘ 𝑚 ) ↦ ( 𝑖 ∈ ( Base ‘ 𝑚 ) ↦ if ( 𝑖 = ( 𝑎 ( +g𝑚 ) 𝑏 ) , ( ( 𝑥𝑎 ) ( .r𝑟 ) ( 𝑦𝑏 ) ) , ( 0g𝑟 ) ) ) ) ) ) ⟩ ) = ( 𝑉 sSet ⟨ ( .r ‘ ndx ) , ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 𝑉 Σg ( 𝑎𝐴 , 𝑏𝐴 ↦ ( 𝑖𝐴 ↦ if ( 𝑖 = ( 𝑎 + 𝑏 ) , ( ( 𝑥𝑎 ) · ( 𝑦𝑏 ) ) , 0 ) ) ) ) ) ⟩ ) )
44 12 13 14 43 csbiedf ( ( 𝑟 = 𝑅𝑚 = 𝑀 ) → ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) / 𝑣 ( 𝑣 sSet ⟨ ( .r ‘ ndx ) , ( 𝑥 ∈ ( Base ‘ 𝑣 ) , 𝑦 ∈ ( Base ‘ 𝑣 ) ↦ ( 𝑣 Σg ( 𝑎 ∈ ( Base ‘ 𝑚 ) , 𝑏 ∈ ( Base ‘ 𝑚 ) ↦ ( 𝑖 ∈ ( Base ‘ 𝑚 ) ↦ if ( 𝑖 = ( 𝑎 ( +g𝑚 ) 𝑏 ) , ( ( 𝑥𝑎 ) ( .r𝑟 ) ( 𝑦𝑏 ) ) , ( 0g𝑟 ) ) ) ) ) ) ⟩ ) = ( 𝑉 sSet ⟨ ( .r ‘ ndx ) , ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 𝑉 Σg ( 𝑎𝐴 , 𝑏𝐴 ↦ ( 𝑖𝐴 ↦ if ( 𝑖 = ( 𝑎 + 𝑏 ) , ( ( 𝑥𝑎 ) · ( 𝑦𝑏 ) ) , 0 ) ) ) ) ) ⟩ ) )
45 df-mnring MndRing = ( 𝑟 ∈ V , 𝑚 ∈ V ↦ ( 𝑟 freeLMod ( Base ‘ 𝑚 ) ) / 𝑣 ( 𝑣 sSet ⟨ ( .r ‘ ndx ) , ( 𝑥 ∈ ( Base ‘ 𝑣 ) , 𝑦 ∈ ( Base ‘ 𝑣 ) ↦ ( 𝑣 Σg ( 𝑎 ∈ ( Base ‘ 𝑚 ) , 𝑏 ∈ ( Base ‘ 𝑚 ) ↦ ( 𝑖 ∈ ( Base ‘ 𝑚 ) ↦ if ( 𝑖 = ( 𝑎 ( +g𝑚 ) 𝑏 ) , ( ( 𝑥𝑎 ) ( .r𝑟 ) ( 𝑦𝑏 ) ) , ( 0g𝑟 ) ) ) ) ) ) ⟩ ) )
46 ovex ( 𝑉 sSet ⟨ ( .r ‘ ndx ) , ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 𝑉 Σg ( 𝑎𝐴 , 𝑏𝐴 ↦ ( 𝑖𝐴 ↦ if ( 𝑖 = ( 𝑎 + 𝑏 ) , ( ( 𝑥𝑎 ) · ( 𝑦𝑏 ) ) , 0 ) ) ) ) ) ⟩ ) ∈ V
47 44 45 46 ovmpoa ( ( 𝑅 ∈ V ∧ 𝑀 ∈ V ) → ( 𝑅 MndRing 𝑀 ) = ( 𝑉 sSet ⟨ ( .r ‘ ndx ) , ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 𝑉 Σg ( 𝑎𝐴 , 𝑏𝐴 ↦ ( 𝑖𝐴 ↦ if ( 𝑖 = ( 𝑎 + 𝑏 ) , ( ( 𝑥𝑎 ) · ( 𝑦𝑏 ) ) , 0 ) ) ) ) ) ⟩ ) )
48 10 11 47 syl2anc ( 𝜑 → ( 𝑅 MndRing 𝑀 ) = ( 𝑉 sSet ⟨ ( .r ‘ ndx ) , ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 𝑉 Σg ( 𝑎𝐴 , 𝑏𝐴 ↦ ( 𝑖𝐴 ↦ if ( 𝑖 = ( 𝑎 + 𝑏 ) , ( ( 𝑥𝑎 ) · ( 𝑦𝑏 ) ) , 0 ) ) ) ) ) ⟩ ) )
49 1 48 syl5eq ( 𝜑𝐹 = ( 𝑉 sSet ⟨ ( .r ‘ ndx ) , ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 𝑉 Σg ( 𝑎𝐴 , 𝑏𝐴 ↦ ( 𝑖𝐴 ↦ if ( 𝑖 = ( 𝑎 + 𝑏 ) , ( ( 𝑥𝑎 ) · ( 𝑦𝑏 ) ) , 0 ) ) ) ) ) ⟩ ) )