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