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