| 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 ) } ) ) ) |