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