Step |
Hyp |
Ref |
Expression |
1 |
|
hashcl |
|- ( S e. Fin -> ( # ` S ) e. NN0 ) |
2 |
1
|
adantl |
|- ( ( S =/= (/) /\ S e. Fin ) -> ( # ` S ) e. NN0 ) |
3 |
|
eqid |
|- ( Z/nZ ` ( # ` S ) ) = ( Z/nZ ` ( # ` S ) ) |
4 |
3
|
zncrng |
|- ( ( # ` S ) e. NN0 -> ( Z/nZ ` ( # ` S ) ) e. CRing ) |
5 |
|
crngring |
|- ( ( Z/nZ ` ( # ` S ) ) e. CRing -> ( Z/nZ ` ( # ` S ) ) e. Ring ) |
6 |
|
ringabl |
|- ( ( Z/nZ ` ( # ` S ) ) e. Ring -> ( Z/nZ ` ( # ` S ) ) e. Abel ) |
7 |
2 4 5 6
|
4syl |
|- ( ( S =/= (/) /\ S e. Fin ) -> ( Z/nZ ` ( # ` S ) ) e. Abel ) |
8 |
|
hashnncl |
|- ( S e. Fin -> ( ( # ` S ) e. NN <-> S =/= (/) ) ) |
9 |
8
|
biimparc |
|- ( ( S =/= (/) /\ S e. Fin ) -> ( # ` S ) e. NN ) |
10 |
|
eqid |
|- ( Base ` ( Z/nZ ` ( # ` S ) ) ) = ( Base ` ( Z/nZ ` ( # ` S ) ) ) |
11 |
3 10
|
znhash |
|- ( ( # ` S ) e. NN -> ( # ` ( Base ` ( Z/nZ ` ( # ` S ) ) ) ) = ( # ` S ) ) |
12 |
9 11
|
syl |
|- ( ( S =/= (/) /\ S e. Fin ) -> ( # ` ( Base ` ( Z/nZ ` ( # ` S ) ) ) ) = ( # ` S ) ) |
13 |
12
|
eqcomd |
|- ( ( S =/= (/) /\ S e. Fin ) -> ( # ` S ) = ( # ` ( Base ` ( Z/nZ ` ( # ` S ) ) ) ) ) |
14 |
|
simpr |
|- ( ( S =/= (/) /\ S e. Fin ) -> S e. Fin ) |
15 |
3 10
|
znfi |
|- ( ( # ` S ) e. NN -> ( Base ` ( Z/nZ ` ( # ` S ) ) ) e. Fin ) |
16 |
9 15
|
syl |
|- ( ( S =/= (/) /\ S e. Fin ) -> ( Base ` ( Z/nZ ` ( # ` S ) ) ) e. Fin ) |
17 |
|
hashen |
|- ( ( S e. Fin /\ ( Base ` ( Z/nZ ` ( # ` S ) ) ) e. Fin ) -> ( ( # ` S ) = ( # ` ( Base ` ( Z/nZ ` ( # ` S ) ) ) ) <-> S ~~ ( Base ` ( Z/nZ ` ( # ` S ) ) ) ) ) |
18 |
14 16 17
|
syl2anc |
|- ( ( S =/= (/) /\ S e. Fin ) -> ( ( # ` S ) = ( # ` ( Base ` ( Z/nZ ` ( # ` S ) ) ) ) <-> S ~~ ( Base ` ( Z/nZ ` ( # ` S ) ) ) ) ) |
19 |
13 18
|
mpbid |
|- ( ( S =/= (/) /\ S e. Fin ) -> S ~~ ( Base ` ( Z/nZ ` ( # ` S ) ) ) ) |
20 |
10
|
isnumbasgrplem1 |
|- ( ( ( Z/nZ ` ( # ` S ) ) e. Abel /\ S ~~ ( Base ` ( Z/nZ ` ( # ` S ) ) ) ) -> S e. ( Base " Abel ) ) |
21 |
7 19 20
|
syl2anc |
|- ( ( S =/= (/) /\ S e. Fin ) -> S e. ( Base " Abel ) ) |
22 |
21
|
adantll |
|- ( ( ( S e. dom card /\ S =/= (/) ) /\ S e. Fin ) -> S e. ( Base " Abel ) ) |
23 |
|
2nn0 |
|- 2 e. NN0 |
24 |
|
eqid |
|- ( Z/nZ ` 2 ) = ( Z/nZ ` 2 ) |
25 |
24
|
zncrng |
|- ( 2 e. NN0 -> ( Z/nZ ` 2 ) e. CRing ) |
26 |
|
crngring |
|- ( ( Z/nZ ` 2 ) e. CRing -> ( Z/nZ ` 2 ) e. Ring ) |
27 |
23 25 26
|
mp2b |
|- ( Z/nZ ` 2 ) e. Ring |
28 |
|
eqid |
|- ( ( Z/nZ ` 2 ) freeLMod S ) = ( ( Z/nZ ` 2 ) freeLMod S ) |
29 |
28
|
frlmlmod |
|- ( ( ( Z/nZ ` 2 ) e. Ring /\ S e. dom card ) -> ( ( Z/nZ ` 2 ) freeLMod S ) e. LMod ) |
30 |
27 29
|
mpan |
|- ( S e. dom card -> ( ( Z/nZ ` 2 ) freeLMod S ) e. LMod ) |
31 |
|
lmodabl |
|- ( ( ( Z/nZ ` 2 ) freeLMod S ) e. LMod -> ( ( Z/nZ ` 2 ) freeLMod S ) e. Abel ) |
32 |
30 31
|
syl |
|- ( S e. dom card -> ( ( Z/nZ ` 2 ) freeLMod S ) e. Abel ) |
33 |
32
|
ad2antrr |
|- ( ( ( S e. dom card /\ S =/= (/) ) /\ -. S e. Fin ) -> ( ( Z/nZ ` 2 ) freeLMod S ) e. Abel ) |
34 |
|
eqid |
|- ( Base ` ( ( Z/nZ ` 2 ) freeLMod S ) ) = ( Base ` ( ( Z/nZ ` 2 ) freeLMod S ) ) |
35 |
24 28 34
|
frlmpwfi |
|- ( S e. dom card -> ( Base ` ( ( Z/nZ ` 2 ) freeLMod S ) ) ~~ ( ~P S i^i Fin ) ) |
36 |
35
|
ad2antrr |
|- ( ( ( S e. dom card /\ S =/= (/) ) /\ -. S e. Fin ) -> ( Base ` ( ( Z/nZ ` 2 ) freeLMod S ) ) ~~ ( ~P S i^i Fin ) ) |
37 |
|
simpll |
|- ( ( ( S e. dom card /\ S =/= (/) ) /\ -. S e. Fin ) -> S e. dom card ) |
38 |
|
numinfctb |
|- ( ( S e. dom card /\ -. S e. Fin ) -> _om ~<_ S ) |
39 |
38
|
adantlr |
|- ( ( ( S e. dom card /\ S =/= (/) ) /\ -. S e. Fin ) -> _om ~<_ S ) |
40 |
|
infpwfien |
|- ( ( S e. dom card /\ _om ~<_ S ) -> ( ~P S i^i Fin ) ~~ S ) |
41 |
37 39 40
|
syl2anc |
|- ( ( ( S e. dom card /\ S =/= (/) ) /\ -. S e. Fin ) -> ( ~P S i^i Fin ) ~~ S ) |
42 |
|
entr |
|- ( ( ( Base ` ( ( Z/nZ ` 2 ) freeLMod S ) ) ~~ ( ~P S i^i Fin ) /\ ( ~P S i^i Fin ) ~~ S ) -> ( Base ` ( ( Z/nZ ` 2 ) freeLMod S ) ) ~~ S ) |
43 |
36 41 42
|
syl2anc |
|- ( ( ( S e. dom card /\ S =/= (/) ) /\ -. S e. Fin ) -> ( Base ` ( ( Z/nZ ` 2 ) freeLMod S ) ) ~~ S ) |
44 |
43
|
ensymd |
|- ( ( ( S e. dom card /\ S =/= (/) ) /\ -. S e. Fin ) -> S ~~ ( Base ` ( ( Z/nZ ` 2 ) freeLMod S ) ) ) |
45 |
34
|
isnumbasgrplem1 |
|- ( ( ( ( Z/nZ ` 2 ) freeLMod S ) e. Abel /\ S ~~ ( Base ` ( ( Z/nZ ` 2 ) freeLMod S ) ) ) -> S e. ( Base " Abel ) ) |
46 |
33 44 45
|
syl2anc |
|- ( ( ( S e. dom card /\ S =/= (/) ) /\ -. S e. Fin ) -> S e. ( Base " Abel ) ) |
47 |
22 46
|
pm2.61dan |
|- ( ( S e. dom card /\ S =/= (/) ) -> S e. ( Base " Abel ) ) |