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
|- F = ( R freeLMod I )
Assertion frlmval
|- ( ( R e. V /\ I e. W ) -> F = ( R (+)m ( I X. { ( ringLMod ` R ) } ) ) )

Proof

Step Hyp Ref Expression
1 frlmval.f
 |-  F = ( R freeLMod I )
2 elex
 |-  ( R e. V -> R e. _V )
3 elex
 |-  ( I e. W -> I e. _V )
4 id
 |-  ( r = R -> r = R )
5 fveq2
 |-  ( r = R -> ( ringLMod ` r ) = ( ringLMod ` R ) )
6 5 sneqd
 |-  ( r = R -> { ( ringLMod ` r ) } = { ( ringLMod ` R ) } )
7 6 xpeq2d
 |-  ( r = R -> ( i X. { ( ringLMod ` r ) } ) = ( i X. { ( ringLMod ` R ) } ) )
8 4 7 oveq12d
 |-  ( r = R -> ( r (+)m ( i X. { ( ringLMod ` r ) } ) ) = ( R (+)m ( i X. { ( ringLMod ` R ) } ) ) )
9 xpeq1
 |-  ( i = I -> ( i X. { ( ringLMod ` R ) } ) = ( I X. { ( ringLMod ` R ) } ) )
10 9 oveq2d
 |-  ( i = I -> ( R (+)m ( i X. { ( ringLMod ` R ) } ) ) = ( R (+)m ( I X. { ( ringLMod ` R ) } ) ) )
11 df-frlm
 |-  freeLMod = ( r e. _V , i e. _V |-> ( r (+)m ( i X. { ( ringLMod ` r ) } ) ) )
12 ovex
 |-  ( R (+)m ( I X. { ( ringLMod ` R ) } ) ) e. _V
13 8 10 11 12 ovmpo
 |-  ( ( R e. _V /\ I e. _V ) -> ( R freeLMod I ) = ( R (+)m ( I X. { ( ringLMod ` R ) } ) ) )
14 2 3 13 syl2an
 |-  ( ( R e. V /\ I e. W ) -> ( R freeLMod I ) = ( R (+)m ( I X. { ( ringLMod ` R ) } ) ) )
15 1 14 eqtrid
 |-  ( ( R e. V /\ I e. W ) -> F = ( R (+)m ( I X. { ( ringLMod ` R ) } ) ) )