Step |
Hyp |
Ref |
Expression |
1 |
|
cygzn.b |
|- B = ( Base ` G ) |
2 |
|
cygzn.n |
|- N = if ( B e. Fin , ( # ` B ) , 0 ) |
3 |
|
cygzn.y |
|- Y = ( Z/nZ ` N ) |
4 |
|
cygzn.m |
|- .x. = ( .g ` G ) |
5 |
|
cygzn.l |
|- L = ( ZRHom ` Y ) |
6 |
|
cygzn.e |
|- E = { x e. B | ran ( n e. ZZ |-> ( n .x. x ) ) = B } |
7 |
|
cygzn.g |
|- ( ph -> G e. CycGrp ) |
8 |
|
cygzn.x |
|- ( ph -> X e. E ) |
9 |
|
cygzn.f |
|- F = ran ( m e. ZZ |-> <. ( L ` m ) , ( m .x. X ) >. ) |
10 |
|
fvexd |
|- ( ( ph /\ m e. ZZ ) -> ( L ` m ) e. _V ) |
11 |
|
cyggrp |
|- ( G e. CycGrp -> G e. Grp ) |
12 |
7 11
|
syl |
|- ( ph -> G e. Grp ) |
13 |
12
|
adantr |
|- ( ( ph /\ m e. ZZ ) -> G e. Grp ) |
14 |
|
simpr |
|- ( ( ph /\ m e. ZZ ) -> m e. ZZ ) |
15 |
6
|
ssrab3 |
|- E C_ B |
16 |
15 8
|
sselid |
|- ( ph -> X e. B ) |
17 |
16
|
adantr |
|- ( ( ph /\ m e. ZZ ) -> X e. B ) |
18 |
1 4
|
mulgcl |
|- ( ( G e. Grp /\ m e. ZZ /\ X e. B ) -> ( m .x. X ) e. B ) |
19 |
13 14 17 18
|
syl3anc |
|- ( ( ph /\ m e. ZZ ) -> ( m .x. X ) e. B ) |
20 |
|
fveq2 |
|- ( m = k -> ( L ` m ) = ( L ` k ) ) |
21 |
|
oveq1 |
|- ( m = k -> ( m .x. X ) = ( k .x. X ) ) |
22 |
1 2 3 4 5 6 7 8
|
cygznlem1 |
|- ( ( ph /\ ( m e. ZZ /\ k e. ZZ ) ) -> ( ( L ` m ) = ( L ` k ) <-> ( m .x. X ) = ( k .x. X ) ) ) |
23 |
22
|
biimpd |
|- ( ( ph /\ ( m e. ZZ /\ k e. ZZ ) ) -> ( ( L ` m ) = ( L ` k ) -> ( m .x. X ) = ( k .x. X ) ) ) |
24 |
23
|
exp32 |
|- ( ph -> ( m e. ZZ -> ( k e. ZZ -> ( ( L ` m ) = ( L ` k ) -> ( m .x. X ) = ( k .x. X ) ) ) ) ) |
25 |
24
|
3imp2 |
|- ( ( ph /\ ( m e. ZZ /\ k e. ZZ /\ ( L ` m ) = ( L ` k ) ) ) -> ( m .x. X ) = ( k .x. X ) ) |
26 |
9 10 19 20 21 25
|
fliftfund |
|- ( ph -> Fun F ) |
27 |
9 10 19
|
fliftf |
|- ( ph -> ( Fun F <-> F : ran ( m e. ZZ |-> ( L ` m ) ) --> B ) ) |
28 |
26 27
|
mpbid |
|- ( ph -> F : ran ( m e. ZZ |-> ( L ` m ) ) --> B ) |
29 |
|
hashcl |
|- ( B e. Fin -> ( # ` B ) e. NN0 ) |
30 |
29
|
adantl |
|- ( ( ph /\ B e. Fin ) -> ( # ` B ) e. NN0 ) |
31 |
|
0nn0 |
|- 0 e. NN0 |
32 |
31
|
a1i |
|- ( ( ph /\ -. B e. Fin ) -> 0 e. NN0 ) |
33 |
30 32
|
ifclda |
|- ( ph -> if ( B e. Fin , ( # ` B ) , 0 ) e. NN0 ) |
34 |
2 33
|
eqeltrid |
|- ( ph -> N e. NN0 ) |
35 |
|
eqid |
|- ( Base ` Y ) = ( Base ` Y ) |
36 |
3 35 5
|
znzrhfo |
|- ( N e. NN0 -> L : ZZ -onto-> ( Base ` Y ) ) |
37 |
34 36
|
syl |
|- ( ph -> L : ZZ -onto-> ( Base ` Y ) ) |
38 |
|
fof |
|- ( L : ZZ -onto-> ( Base ` Y ) -> L : ZZ --> ( Base ` Y ) ) |
39 |
37 38
|
syl |
|- ( ph -> L : ZZ --> ( Base ` Y ) ) |
40 |
39
|
feqmptd |
|- ( ph -> L = ( m e. ZZ |-> ( L ` m ) ) ) |
41 |
40
|
rneqd |
|- ( ph -> ran L = ran ( m e. ZZ |-> ( L ` m ) ) ) |
42 |
|
forn |
|- ( L : ZZ -onto-> ( Base ` Y ) -> ran L = ( Base ` Y ) ) |
43 |
37 42
|
syl |
|- ( ph -> ran L = ( Base ` Y ) ) |
44 |
41 43
|
eqtr3d |
|- ( ph -> ran ( m e. ZZ |-> ( L ` m ) ) = ( Base ` Y ) ) |
45 |
44
|
feq2d |
|- ( ph -> ( F : ran ( m e. ZZ |-> ( L ` m ) ) --> B <-> F : ( Base ` Y ) --> B ) ) |
46 |
28 45
|
mpbid |
|- ( ph -> F : ( Base ` Y ) --> B ) |