Metamath Proof Explorer


Theorem frlmval

Description: Value of the "free module" function. (Contributed by Stefan O'Rear, 1-Feb-2015)

Ref Expression
Hypothesis frlmval.f 𝐹 = ( 𝑅 freeLMod 𝐼 )
Assertion frlmval ( ( 𝑅𝑉𝐼𝑊 ) → 𝐹 = ( 𝑅m ( 𝐼 × { ( ringLMod ‘ 𝑅 ) } ) ) )

Proof

Step Hyp Ref Expression
1 frlmval.f 𝐹 = ( 𝑅 freeLMod 𝐼 )
2 elex ( 𝑅𝑉𝑅 ∈ V )
3 elex ( 𝐼𝑊𝐼 ∈ V )
4 id ( 𝑟 = 𝑅𝑟 = 𝑅 )
5 fveq2 ( 𝑟 = 𝑅 → ( ringLMod ‘ 𝑟 ) = ( ringLMod ‘ 𝑅 ) )
6 5 sneqd ( 𝑟 = 𝑅 → { ( ringLMod ‘ 𝑟 ) } = { ( ringLMod ‘ 𝑅 ) } )
7 6 xpeq2d ( 𝑟 = 𝑅 → ( 𝑖 × { ( ringLMod ‘ 𝑟 ) } ) = ( 𝑖 × { ( ringLMod ‘ 𝑅 ) } ) )
8 4 7 oveq12d ( 𝑟 = 𝑅 → ( 𝑟m ( 𝑖 × { ( ringLMod ‘ 𝑟 ) } ) ) = ( 𝑅m ( 𝑖 × { ( ringLMod ‘ 𝑅 ) } ) ) )
9 xpeq1 ( 𝑖 = 𝐼 → ( 𝑖 × { ( ringLMod ‘ 𝑅 ) } ) = ( 𝐼 × { ( ringLMod ‘ 𝑅 ) } ) )
10 9 oveq2d ( 𝑖 = 𝐼 → ( 𝑅m ( 𝑖 × { ( ringLMod ‘ 𝑅 ) } ) ) = ( 𝑅m ( 𝐼 × { ( ringLMod ‘ 𝑅 ) } ) ) )
11 df-frlm freeLMod = ( 𝑟 ∈ V , 𝑖 ∈ V ↦ ( 𝑟m ( 𝑖 × { ( ringLMod ‘ 𝑟 ) } ) ) )
12 ovex ( 𝑅m ( 𝐼 × { ( ringLMod ‘ 𝑅 ) } ) ) ∈ V
13 8 10 11 12 ovmpo ( ( 𝑅 ∈ V ∧ 𝐼 ∈ V ) → ( 𝑅 freeLMod 𝐼 ) = ( 𝑅m ( 𝐼 × { ( ringLMod ‘ 𝑅 ) } ) ) )
14 2 3 13 syl2an ( ( 𝑅𝑉𝐼𝑊 ) → ( 𝑅 freeLMod 𝐼 ) = ( 𝑅m ( 𝐼 × { ( ringLMod ‘ 𝑅 ) } ) ) )
15 1 14 eqtrid ( ( 𝑅𝑉𝐼𝑊 ) → 𝐹 = ( 𝑅m ( 𝐼 × { ( ringLMod ‘ 𝑅 ) } ) ) )