| Step |
Hyp |
Ref |
Expression |
| 1 |
|
hashcl |
|- ( ( Base ` G ) e. Fin -> ( # ` ( Base ` G ) ) e. NN0 ) |
| 2 |
1
|
adantl |
|- ( ( G e. CycGrp /\ ( Base ` G ) e. Fin ) -> ( # ` ( Base ` G ) ) e. NN0 ) |
| 3 |
|
0nn0 |
|- 0 e. NN0 |
| 4 |
3
|
a1i |
|- ( ( G e. CycGrp /\ -. ( Base ` G ) e. Fin ) -> 0 e. NN0 ) |
| 5 |
2 4
|
ifclda |
|- ( G e. CycGrp -> if ( ( Base ` G ) e. Fin , ( # ` ( Base ` G ) ) , 0 ) e. NN0 ) |
| 6 |
|
eqid |
|- ( Base ` G ) = ( Base ` G ) |
| 7 |
|
eqid |
|- if ( ( Base ` G ) e. Fin , ( # ` ( Base ` G ) ) , 0 ) = if ( ( Base ` G ) e. Fin , ( # ` ( Base ` G ) ) , 0 ) |
| 8 |
|
eqid |
|- ( Z/nZ ` if ( ( Base ` G ) e. Fin , ( # ` ( Base ` G ) ) , 0 ) ) = ( Z/nZ ` if ( ( Base ` G ) e. Fin , ( # ` ( Base ` G ) ) , 0 ) ) |
| 9 |
6 7 8
|
cygzn |
|- ( G e. CycGrp -> G ~=g ( Z/nZ ` if ( ( Base ` G ) e. Fin , ( # ` ( Base ` G ) ) , 0 ) ) ) |
| 10 |
|
fveq2 |
|- ( n = if ( ( Base ` G ) e. Fin , ( # ` ( Base ` G ) ) , 0 ) -> ( Z/nZ ` n ) = ( Z/nZ ` if ( ( Base ` G ) e. Fin , ( # ` ( Base ` G ) ) , 0 ) ) ) |
| 11 |
10
|
breq2d |
|- ( n = if ( ( Base ` G ) e. Fin , ( # ` ( Base ` G ) ) , 0 ) -> ( G ~=g ( Z/nZ ` n ) <-> G ~=g ( Z/nZ ` if ( ( Base ` G ) e. Fin , ( # ` ( Base ` G ) ) , 0 ) ) ) ) |
| 12 |
11
|
rspcev |
|- ( ( if ( ( Base ` G ) e. Fin , ( # ` ( Base ` G ) ) , 0 ) e. NN0 /\ G ~=g ( Z/nZ ` if ( ( Base ` G ) e. Fin , ( # ` ( Base ` G ) ) , 0 ) ) ) -> E. n e. NN0 G ~=g ( Z/nZ ` n ) ) |
| 13 |
5 9 12
|
syl2anc |
|- ( G e. CycGrp -> E. n e. NN0 G ~=g ( Z/nZ ` n ) ) |
| 14 |
|
gicsym |
|- ( G ~=g ( Z/nZ ` n ) -> ( Z/nZ ` n ) ~=g G ) |
| 15 |
|
eqid |
|- ( Z/nZ ` n ) = ( Z/nZ ` n ) |
| 16 |
15
|
zncyg |
|- ( n e. NN0 -> ( Z/nZ ` n ) e. CycGrp ) |
| 17 |
|
giccyg |
|- ( ( Z/nZ ` n ) ~=g G -> ( ( Z/nZ ` n ) e. CycGrp -> G e. CycGrp ) ) |
| 18 |
14 16 17
|
syl2imc |
|- ( n e. NN0 -> ( G ~=g ( Z/nZ ` n ) -> G e. CycGrp ) ) |
| 19 |
18
|
rexlimiv |
|- ( E. n e. NN0 G ~=g ( Z/nZ ` n ) -> G e. CycGrp ) |
| 20 |
13 19
|
impbii |
|- ( G e. CycGrp <-> E. n e. NN0 G ~=g ( Z/nZ ` n ) ) |