| Step |
Hyp |
Ref |
Expression |
| 1 |
|
frlmval.f |
|- F = ( R freeLMod I ) |
| 2 |
|
frlmbas.n |
|- N = ( Base ` R ) |
| 3 |
|
frlmbas.z |
|- .0. = ( 0g ` R ) |
| 4 |
|
frlmbas.b |
|- B = { k e. ( N ^m I ) | k finSupp .0. } |
| 5 |
|
fvex |
|- ( ringLMod ` R ) e. _V |
| 6 |
|
fnconstg |
|- ( ( ringLMod ` R ) e. _V -> ( I X. { ( ringLMod ` R ) } ) Fn I ) |
| 7 |
5 6
|
ax-mp |
|- ( I X. { ( ringLMod ` R ) } ) Fn I |
| 8 |
|
eqid |
|- ( R Xs_ ( I X. { ( ringLMod ` R ) } ) ) = ( R Xs_ ( I X. { ( ringLMod ` R ) } ) ) |
| 9 |
|
eqid |
|- { k e. ( Base ` ( R Xs_ ( I X. { ( ringLMod ` R ) } ) ) ) | dom ( k \ ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ) e. Fin } = { k e. ( Base ` ( R Xs_ ( I X. { ( ringLMod ` R ) } ) ) ) | dom ( k \ ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ) e. Fin } |
| 10 |
8 9
|
dsmmbas2 |
|- ( ( ( I X. { ( ringLMod ` R ) } ) Fn I /\ I e. W ) -> { k e. ( Base ` ( R Xs_ ( I X. { ( ringLMod ` R ) } ) ) ) | dom ( k \ ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ) e. Fin } = ( Base ` ( R (+)m ( I X. { ( ringLMod ` R ) } ) ) ) ) |
| 11 |
7 10
|
mpan |
|- ( I e. W -> { k e. ( Base ` ( R Xs_ ( I X. { ( ringLMod ` R ) } ) ) ) | dom ( k \ ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ) e. Fin } = ( Base ` ( R (+)m ( I X. { ( ringLMod ` R ) } ) ) ) ) |
| 12 |
11
|
adantl |
|- ( ( R e. V /\ I e. W ) -> { k e. ( Base ` ( R Xs_ ( I X. { ( ringLMod ` R ) } ) ) ) | dom ( k \ ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ) e. Fin } = ( Base ` ( R (+)m ( I X. { ( ringLMod ` R ) } ) ) ) ) |
| 13 |
|
fvco2 |
|- ( ( ( I X. { ( ringLMod ` R ) } ) Fn I /\ x e. I ) -> ( ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ` x ) = ( 0g ` ( ( I X. { ( ringLMod ` R ) } ) ` x ) ) ) |
| 14 |
7 13
|
mpan |
|- ( x e. I -> ( ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ` x ) = ( 0g ` ( ( I X. { ( ringLMod ` R ) } ) ` x ) ) ) |
| 15 |
14
|
adantl |
|- ( ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) /\ x e. I ) -> ( ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ` x ) = ( 0g ` ( ( I X. { ( ringLMod ` R ) } ) ` x ) ) ) |
| 16 |
5
|
fvconst2 |
|- ( x e. I -> ( ( I X. { ( ringLMod ` R ) } ) ` x ) = ( ringLMod ` R ) ) |
| 17 |
16
|
adantl |
|- ( ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) /\ x e. I ) -> ( ( I X. { ( ringLMod ` R ) } ) ` x ) = ( ringLMod ` R ) ) |
| 18 |
17
|
fveq2d |
|- ( ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) /\ x e. I ) -> ( 0g ` ( ( I X. { ( ringLMod ` R ) } ) ` x ) ) = ( 0g ` ( ringLMod ` R ) ) ) |
| 19 |
|
rlm0 |
|- ( 0g ` R ) = ( 0g ` ( ringLMod ` R ) ) |
| 20 |
3 19
|
eqtri |
|- .0. = ( 0g ` ( ringLMod ` R ) ) |
| 21 |
18 20
|
eqtr4di |
|- ( ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) /\ x e. I ) -> ( 0g ` ( ( I X. { ( ringLMod ` R ) } ) ` x ) ) = .0. ) |
| 22 |
15 21
|
eqtrd |
|- ( ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) /\ x e. I ) -> ( ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ` x ) = .0. ) |
| 23 |
22
|
neeq2d |
|- ( ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) /\ x e. I ) -> ( ( k ` x ) =/= ( ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ` x ) <-> ( k ` x ) =/= .0. ) ) |
| 24 |
23
|
rabbidva |
|- ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) -> { x e. I | ( k ` x ) =/= ( ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ` x ) } = { x e. I | ( k ` x ) =/= .0. } ) |
| 25 |
|
elmapfn |
|- ( k e. ( N ^m I ) -> k Fn I ) |
| 26 |
25
|
adantl |
|- ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) -> k Fn I ) |
| 27 |
|
fn0g |
|- 0g Fn _V |
| 28 |
|
ssv |
|- ran ( I X. { ( ringLMod ` R ) } ) C_ _V |
| 29 |
|
fnco |
|- ( ( 0g Fn _V /\ ( I X. { ( ringLMod ` R ) } ) Fn I /\ ran ( I X. { ( ringLMod ` R ) } ) C_ _V ) -> ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) Fn I ) |
| 30 |
27 7 28 29
|
mp3an |
|- ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) Fn I |
| 31 |
|
fndmdif |
|- ( ( k Fn I /\ ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) Fn I ) -> dom ( k \ ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ) = { x e. I | ( k ` x ) =/= ( ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ` x ) } ) |
| 32 |
26 30 31
|
sylancl |
|- ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) -> dom ( k \ ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ) = { x e. I | ( k ` x ) =/= ( ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ` x ) } ) |
| 33 |
|
simplr |
|- ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) -> I e. W ) |
| 34 |
3
|
fvexi |
|- .0. e. _V |
| 35 |
34
|
a1i |
|- ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) -> .0. e. _V ) |
| 36 |
|
suppvalfn |
|- ( ( k Fn I /\ I e. W /\ .0. e. _V ) -> ( k supp .0. ) = { x e. I | ( k ` x ) =/= .0. } ) |
| 37 |
26 33 35 36
|
syl3anc |
|- ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) -> ( k supp .0. ) = { x e. I | ( k ` x ) =/= .0. } ) |
| 38 |
24 32 37
|
3eqtr4d |
|- ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) -> dom ( k \ ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ) = ( k supp .0. ) ) |
| 39 |
38
|
eleq1d |
|- ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) -> ( dom ( k \ ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ) e. Fin <-> ( k supp .0. ) e. Fin ) ) |
| 40 |
|
elmapfun |
|- ( k e. ( N ^m I ) -> Fun k ) |
| 41 |
|
id |
|- ( k e. ( N ^m I ) -> k e. ( N ^m I ) ) |
| 42 |
34
|
a1i |
|- ( k e. ( N ^m I ) -> .0. e. _V ) |
| 43 |
40 41 42
|
3jca |
|- ( k e. ( N ^m I ) -> ( Fun k /\ k e. ( N ^m I ) /\ .0. e. _V ) ) |
| 44 |
43
|
adantl |
|- ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) -> ( Fun k /\ k e. ( N ^m I ) /\ .0. e. _V ) ) |
| 45 |
|
funisfsupp |
|- ( ( Fun k /\ k e. ( N ^m I ) /\ .0. e. _V ) -> ( k finSupp .0. <-> ( k supp .0. ) e. Fin ) ) |
| 46 |
44 45
|
syl |
|- ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) -> ( k finSupp .0. <-> ( k supp .0. ) e. Fin ) ) |
| 47 |
39 46
|
bitr4d |
|- ( ( ( R e. V /\ I e. W ) /\ k e. ( N ^m I ) ) -> ( dom ( k \ ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ) e. Fin <-> k finSupp .0. ) ) |
| 48 |
47
|
rabbidva |
|- ( ( R e. V /\ I e. W ) -> { k e. ( N ^m I ) | dom ( k \ ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ) e. Fin } = { k e. ( N ^m I ) | k finSupp .0. } ) |
| 49 |
|
eqid |
|- ( ( ringLMod ` R ) ^s I ) = ( ( ringLMod ` R ) ^s I ) |
| 50 |
|
rlmbas |
|- ( Base ` R ) = ( Base ` ( ringLMod ` R ) ) |
| 51 |
2 50
|
eqtri |
|- N = ( Base ` ( ringLMod ` R ) ) |
| 52 |
49 51
|
pwsbas |
|- ( ( ( ringLMod ` R ) e. _V /\ I e. W ) -> ( N ^m I ) = ( Base ` ( ( ringLMod ` R ) ^s I ) ) ) |
| 53 |
5 52
|
mpan |
|- ( I e. W -> ( N ^m I ) = ( Base ` ( ( ringLMod ` R ) ^s I ) ) ) |
| 54 |
53
|
adantl |
|- ( ( R e. V /\ I e. W ) -> ( N ^m I ) = ( Base ` ( ( ringLMod ` R ) ^s I ) ) ) |
| 55 |
|
eqid |
|- ( Scalar ` ( ringLMod ` R ) ) = ( Scalar ` ( ringLMod ` R ) ) |
| 56 |
49 55
|
pwsval |
|- ( ( ( ringLMod ` R ) e. _V /\ I e. W ) -> ( ( ringLMod ` R ) ^s I ) = ( ( Scalar ` ( ringLMod ` R ) ) Xs_ ( I X. { ( ringLMod ` R ) } ) ) ) |
| 57 |
5 56
|
mpan |
|- ( I e. W -> ( ( ringLMod ` R ) ^s I ) = ( ( Scalar ` ( ringLMod ` R ) ) Xs_ ( I X. { ( ringLMod ` R ) } ) ) ) |
| 58 |
57
|
adantl |
|- ( ( R e. V /\ I e. W ) -> ( ( ringLMod ` R ) ^s I ) = ( ( Scalar ` ( ringLMod ` R ) ) Xs_ ( I X. { ( ringLMod ` R ) } ) ) ) |
| 59 |
|
rlmsca |
|- ( R e. V -> R = ( Scalar ` ( ringLMod ` R ) ) ) |
| 60 |
59
|
adantr |
|- ( ( R e. V /\ I e. W ) -> R = ( Scalar ` ( ringLMod ` R ) ) ) |
| 61 |
60
|
oveq1d |
|- ( ( R e. V /\ I e. W ) -> ( R Xs_ ( I X. { ( ringLMod ` R ) } ) ) = ( ( Scalar ` ( ringLMod ` R ) ) Xs_ ( I X. { ( ringLMod ` R ) } ) ) ) |
| 62 |
58 61
|
eqtr4d |
|- ( ( R e. V /\ I e. W ) -> ( ( ringLMod ` R ) ^s I ) = ( R Xs_ ( I X. { ( ringLMod ` R ) } ) ) ) |
| 63 |
62
|
fveq2d |
|- ( ( R e. V /\ I e. W ) -> ( Base ` ( ( ringLMod ` R ) ^s I ) ) = ( Base ` ( R Xs_ ( I X. { ( ringLMod ` R ) } ) ) ) ) |
| 64 |
54 63
|
eqtrd |
|- ( ( R e. V /\ I e. W ) -> ( N ^m I ) = ( Base ` ( R Xs_ ( I X. { ( ringLMod ` R ) } ) ) ) ) |
| 65 |
64
|
rabeqdv |
|- ( ( R e. V /\ I e. W ) -> { k e. ( N ^m I ) | dom ( k \ ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ) e. Fin } = { k e. ( Base ` ( R Xs_ ( I X. { ( ringLMod ` R ) } ) ) ) | dom ( k \ ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ) e. Fin } ) |
| 66 |
48 65
|
eqtr3d |
|- ( ( R e. V /\ I e. W ) -> { k e. ( N ^m I ) | k finSupp .0. } = { k e. ( Base ` ( R Xs_ ( I X. { ( ringLMod ` R ) } ) ) ) | dom ( k \ ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ) e. Fin } ) |
| 67 |
4 66
|
eqtrid |
|- ( ( R e. V /\ I e. W ) -> B = { k e. ( Base ` ( R Xs_ ( I X. { ( ringLMod ` R ) } ) ) ) | dom ( k \ ( 0g o. ( I X. { ( ringLMod ` R ) } ) ) ) e. Fin } ) |
| 68 |
1
|
frlmval |
|- ( ( R e. V /\ I e. W ) -> F = ( R (+)m ( I X. { ( ringLMod ` R ) } ) ) ) |
| 69 |
68
|
fveq2d |
|- ( ( R e. V /\ I e. W ) -> ( Base ` F ) = ( Base ` ( R (+)m ( I X. { ( ringLMod ` R ) } ) ) ) ) |
| 70 |
12 67 69
|
3eqtr4d |
|- ( ( R e. V /\ I e. W ) -> B = ( Base ` F ) ) |