| 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 |  | eqid |  |-  ( Base ` Y ) = ( Base ` Y ) | 
						
							| 11 |  | eqid |  |-  ( +g ` Y ) = ( +g ` Y ) | 
						
							| 12 |  | eqid |  |-  ( +g ` G ) = ( +g ` G ) | 
						
							| 13 |  | hashcl |  |-  ( B e. Fin -> ( # ` B ) e. NN0 ) | 
						
							| 14 | 13 | adantl |  |-  ( ( ph /\ B e. Fin ) -> ( # ` B ) e. NN0 ) | 
						
							| 15 |  | 0nn0 |  |-  0 e. NN0 | 
						
							| 16 | 15 | a1i |  |-  ( ( ph /\ -. B e. Fin ) -> 0 e. NN0 ) | 
						
							| 17 | 14 16 | ifclda |  |-  ( ph -> if ( B e. Fin , ( # ` B ) , 0 ) e. NN0 ) | 
						
							| 18 | 2 17 | eqeltrid |  |-  ( ph -> N e. NN0 ) | 
						
							| 19 | 3 | zncrng |  |-  ( N e. NN0 -> Y e. CRing ) | 
						
							| 20 |  | crngring |  |-  ( Y e. CRing -> Y e. Ring ) | 
						
							| 21 |  | ringgrp |  |-  ( Y e. Ring -> Y e. Grp ) | 
						
							| 22 | 18 19 20 21 | 4syl |  |-  ( ph -> Y e. Grp ) | 
						
							| 23 |  | cyggrp |  |-  ( G e. CycGrp -> G e. Grp ) | 
						
							| 24 | 7 23 | syl |  |-  ( ph -> G e. Grp ) | 
						
							| 25 | 1 2 3 4 5 6 7 8 9 | cygznlem2a |  |-  ( ph -> F : ( Base ` Y ) --> B ) | 
						
							| 26 | 3 10 5 | znzrhfo |  |-  ( N e. NN0 -> L : ZZ -onto-> ( Base ` Y ) ) | 
						
							| 27 | 18 26 | syl |  |-  ( ph -> L : ZZ -onto-> ( Base ` Y ) ) | 
						
							| 28 |  | foelrn |  |-  ( ( L : ZZ -onto-> ( Base ` Y ) /\ a e. ( Base ` Y ) ) -> E. i e. ZZ a = ( L ` i ) ) | 
						
							| 29 | 27 28 | sylan |  |-  ( ( ph /\ a e. ( Base ` Y ) ) -> E. i e. ZZ a = ( L ` i ) ) | 
						
							| 30 |  | foelrn |  |-  ( ( L : ZZ -onto-> ( Base ` Y ) /\ b e. ( Base ` Y ) ) -> E. j e. ZZ b = ( L ` j ) ) | 
						
							| 31 | 27 30 | sylan |  |-  ( ( ph /\ b e. ( Base ` Y ) ) -> E. j e. ZZ b = ( L ` j ) ) | 
						
							| 32 | 29 31 | anim12dan |  |-  ( ( ph /\ ( a e. ( Base ` Y ) /\ b e. ( Base ` Y ) ) ) -> ( E. i e. ZZ a = ( L ` i ) /\ E. j e. ZZ b = ( L ` j ) ) ) | 
						
							| 33 |  | reeanv |  |-  ( E. i e. ZZ E. j e. ZZ ( a = ( L ` i ) /\ b = ( L ` j ) ) <-> ( E. i e. ZZ a = ( L ` i ) /\ E. j e. ZZ b = ( L ` j ) ) ) | 
						
							| 34 | 24 | adantr |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> G e. Grp ) | 
						
							| 35 |  | simprl |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> i e. ZZ ) | 
						
							| 36 |  | simprr |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> j e. ZZ ) | 
						
							| 37 | 1 4 6 | iscyggen |  |-  ( X e. E <-> ( X e. B /\ ran ( n e. ZZ |-> ( n .x. X ) ) = B ) ) | 
						
							| 38 | 37 | simplbi |  |-  ( X e. E -> X e. B ) | 
						
							| 39 | 8 38 | syl |  |-  ( ph -> X e. B ) | 
						
							| 40 | 39 | adantr |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> X e. B ) | 
						
							| 41 | 1 4 12 | mulgdir |  |-  ( ( G e. Grp /\ ( i e. ZZ /\ j e. ZZ /\ X e. B ) ) -> ( ( i + j ) .x. X ) = ( ( i .x. X ) ( +g ` G ) ( j .x. X ) ) ) | 
						
							| 42 | 34 35 36 40 41 | syl13anc |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> ( ( i + j ) .x. X ) = ( ( i .x. X ) ( +g ` G ) ( j .x. X ) ) ) | 
						
							| 43 | 18 19 | syl |  |-  ( ph -> Y e. CRing ) | 
						
							| 44 | 5 | zrhrhm |  |-  ( Y e. Ring -> L e. ( ZZring RingHom Y ) ) | 
						
							| 45 |  | rhmghm |  |-  ( L e. ( ZZring RingHom Y ) -> L e. ( ZZring GrpHom Y ) ) | 
						
							| 46 | 43 20 44 45 | 4syl |  |-  ( ph -> L e. ( ZZring GrpHom Y ) ) | 
						
							| 47 | 46 | adantr |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> L e. ( ZZring GrpHom Y ) ) | 
						
							| 48 |  | zringbas |  |-  ZZ = ( Base ` ZZring ) | 
						
							| 49 |  | zringplusg |  |-  + = ( +g ` ZZring ) | 
						
							| 50 | 48 49 11 | ghmlin |  |-  ( ( L e. ( ZZring GrpHom Y ) /\ i e. ZZ /\ j e. ZZ ) -> ( L ` ( i + j ) ) = ( ( L ` i ) ( +g ` Y ) ( L ` j ) ) ) | 
						
							| 51 | 47 35 36 50 | syl3anc |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> ( L ` ( i + j ) ) = ( ( L ` i ) ( +g ` Y ) ( L ` j ) ) ) | 
						
							| 52 | 51 | fveq2d |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> ( F ` ( L ` ( i + j ) ) ) = ( F ` ( ( L ` i ) ( +g ` Y ) ( L ` j ) ) ) ) | 
						
							| 53 |  | zaddcl |  |-  ( ( i e. ZZ /\ j e. ZZ ) -> ( i + j ) e. ZZ ) | 
						
							| 54 | 1 2 3 4 5 6 7 8 9 | cygznlem2 |  |-  ( ( ph /\ ( i + j ) e. ZZ ) -> ( F ` ( L ` ( i + j ) ) ) = ( ( i + j ) .x. X ) ) | 
						
							| 55 | 53 54 | sylan2 |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> ( F ` ( L ` ( i + j ) ) ) = ( ( i + j ) .x. X ) ) | 
						
							| 56 | 52 55 | eqtr3d |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> ( F ` ( ( L ` i ) ( +g ` Y ) ( L ` j ) ) ) = ( ( i + j ) .x. X ) ) | 
						
							| 57 | 1 2 3 4 5 6 7 8 9 | cygznlem2 |  |-  ( ( ph /\ i e. ZZ ) -> ( F ` ( L ` i ) ) = ( i .x. X ) ) | 
						
							| 58 | 57 | adantrr |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> ( F ` ( L ` i ) ) = ( i .x. X ) ) | 
						
							| 59 | 1 2 3 4 5 6 7 8 9 | cygznlem2 |  |-  ( ( ph /\ j e. ZZ ) -> ( F ` ( L ` j ) ) = ( j .x. X ) ) | 
						
							| 60 | 59 | adantrl |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> ( F ` ( L ` j ) ) = ( j .x. X ) ) | 
						
							| 61 | 58 60 | oveq12d |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> ( ( F ` ( L ` i ) ) ( +g ` G ) ( F ` ( L ` j ) ) ) = ( ( i .x. X ) ( +g ` G ) ( j .x. X ) ) ) | 
						
							| 62 | 42 56 61 | 3eqtr4d |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> ( F ` ( ( L ` i ) ( +g ` Y ) ( L ` j ) ) ) = ( ( F ` ( L ` i ) ) ( +g ` G ) ( F ` ( L ` j ) ) ) ) | 
						
							| 63 |  | oveq12 |  |-  ( ( a = ( L ` i ) /\ b = ( L ` j ) ) -> ( a ( +g ` Y ) b ) = ( ( L ` i ) ( +g ` Y ) ( L ` j ) ) ) | 
						
							| 64 | 63 | fveq2d |  |-  ( ( a = ( L ` i ) /\ b = ( L ` j ) ) -> ( F ` ( a ( +g ` Y ) b ) ) = ( F ` ( ( L ` i ) ( +g ` Y ) ( L ` j ) ) ) ) | 
						
							| 65 |  | fveq2 |  |-  ( a = ( L ` i ) -> ( F ` a ) = ( F ` ( L ` i ) ) ) | 
						
							| 66 |  | fveq2 |  |-  ( b = ( L ` j ) -> ( F ` b ) = ( F ` ( L ` j ) ) ) | 
						
							| 67 | 65 66 | oveqan12d |  |-  ( ( a = ( L ` i ) /\ b = ( L ` j ) ) -> ( ( F ` a ) ( +g ` G ) ( F ` b ) ) = ( ( F ` ( L ` i ) ) ( +g ` G ) ( F ` ( L ` j ) ) ) ) | 
						
							| 68 | 64 67 | eqeq12d |  |-  ( ( a = ( L ` i ) /\ b = ( L ` j ) ) -> ( ( F ` ( a ( +g ` Y ) b ) ) = ( ( F ` a ) ( +g ` G ) ( F ` b ) ) <-> ( F ` ( ( L ` i ) ( +g ` Y ) ( L ` j ) ) ) = ( ( F ` ( L ` i ) ) ( +g ` G ) ( F ` ( L ` j ) ) ) ) ) | 
						
							| 69 | 62 68 | syl5ibrcom |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> ( ( a = ( L ` i ) /\ b = ( L ` j ) ) -> ( F ` ( a ( +g ` Y ) b ) ) = ( ( F ` a ) ( +g ` G ) ( F ` b ) ) ) ) | 
						
							| 70 | 69 | rexlimdvva |  |-  ( ph -> ( E. i e. ZZ E. j e. ZZ ( a = ( L ` i ) /\ b = ( L ` j ) ) -> ( F ` ( a ( +g ` Y ) b ) ) = ( ( F ` a ) ( +g ` G ) ( F ` b ) ) ) ) | 
						
							| 71 | 33 70 | biimtrrid |  |-  ( ph -> ( ( E. i e. ZZ a = ( L ` i ) /\ E. j e. ZZ b = ( L ` j ) ) -> ( F ` ( a ( +g ` Y ) b ) ) = ( ( F ` a ) ( +g ` G ) ( F ` b ) ) ) ) | 
						
							| 72 | 71 | imp |  |-  ( ( ph /\ ( E. i e. ZZ a = ( L ` i ) /\ E. j e. ZZ b = ( L ` j ) ) ) -> ( F ` ( a ( +g ` Y ) b ) ) = ( ( F ` a ) ( +g ` G ) ( F ` b ) ) ) | 
						
							| 73 | 32 72 | syldan |  |-  ( ( ph /\ ( a e. ( Base ` Y ) /\ b e. ( Base ` Y ) ) ) -> ( F ` ( a ( +g ` Y ) b ) ) = ( ( F ` a ) ( +g ` G ) ( F ` b ) ) ) | 
						
							| 74 | 10 1 11 12 22 24 25 73 | isghmd |  |-  ( ph -> F e. ( Y GrpHom G ) ) | 
						
							| 75 | 58 60 | eqeq12d |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> ( ( F ` ( L ` i ) ) = ( F ` ( L ` j ) ) <-> ( i .x. X ) = ( j .x. X ) ) ) | 
						
							| 76 | 1 2 3 4 5 6 7 8 | cygznlem1 |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> ( ( L ` i ) = ( L ` j ) <-> ( i .x. X ) = ( j .x. X ) ) ) | 
						
							| 77 | 75 76 | bitr4d |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> ( ( F ` ( L ` i ) ) = ( F ` ( L ` j ) ) <-> ( L ` i ) = ( L ` j ) ) ) | 
						
							| 78 | 77 | biimpd |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> ( ( F ` ( L ` i ) ) = ( F ` ( L ` j ) ) -> ( L ` i ) = ( L ` j ) ) ) | 
						
							| 79 | 65 66 | eqeqan12d |  |-  ( ( a = ( L ` i ) /\ b = ( L ` j ) ) -> ( ( F ` a ) = ( F ` b ) <-> ( F ` ( L ` i ) ) = ( F ` ( L ` j ) ) ) ) | 
						
							| 80 |  | eqeq12 |  |-  ( ( a = ( L ` i ) /\ b = ( L ` j ) ) -> ( a = b <-> ( L ` i ) = ( L ` j ) ) ) | 
						
							| 81 | 79 80 | imbi12d |  |-  ( ( a = ( L ` i ) /\ b = ( L ` j ) ) -> ( ( ( F ` a ) = ( F ` b ) -> a = b ) <-> ( ( F ` ( L ` i ) ) = ( F ` ( L ` j ) ) -> ( L ` i ) = ( L ` j ) ) ) ) | 
						
							| 82 | 78 81 | syl5ibrcom |  |-  ( ( ph /\ ( i e. ZZ /\ j e. ZZ ) ) -> ( ( a = ( L ` i ) /\ b = ( L ` j ) ) -> ( ( F ` a ) = ( F ` b ) -> a = b ) ) ) | 
						
							| 83 | 82 | rexlimdvva |  |-  ( ph -> ( E. i e. ZZ E. j e. ZZ ( a = ( L ` i ) /\ b = ( L ` j ) ) -> ( ( F ` a ) = ( F ` b ) -> a = b ) ) ) | 
						
							| 84 | 33 83 | biimtrrid |  |-  ( ph -> ( ( E. i e. ZZ a = ( L ` i ) /\ E. j e. ZZ b = ( L ` j ) ) -> ( ( F ` a ) = ( F ` b ) -> a = b ) ) ) | 
						
							| 85 | 84 | imp |  |-  ( ( ph /\ ( E. i e. ZZ a = ( L ` i ) /\ E. j e. ZZ b = ( L ` j ) ) ) -> ( ( F ` a ) = ( F ` b ) -> a = b ) ) | 
						
							| 86 | 32 85 | syldan |  |-  ( ( ph /\ ( a e. ( Base ` Y ) /\ b e. ( Base ` Y ) ) ) -> ( ( F ` a ) = ( F ` b ) -> a = b ) ) | 
						
							| 87 | 86 | ralrimivva |  |-  ( ph -> A. a e. ( Base ` Y ) A. b e. ( Base ` Y ) ( ( F ` a ) = ( F ` b ) -> a = b ) ) | 
						
							| 88 |  | dff13 |  |-  ( F : ( Base ` Y ) -1-1-> B <-> ( F : ( Base ` Y ) --> B /\ A. a e. ( Base ` Y ) A. b e. ( Base ` Y ) ( ( F ` a ) = ( F ` b ) -> a = b ) ) ) | 
						
							| 89 | 25 87 88 | sylanbrc |  |-  ( ph -> F : ( Base ` Y ) -1-1-> B ) | 
						
							| 90 | 1 4 6 | iscyggen2 |  |-  ( G e. Grp -> ( X e. E <-> ( X e. B /\ A. z e. B E. n e. ZZ z = ( n .x. X ) ) ) ) | 
						
							| 91 | 24 90 | syl |  |-  ( ph -> ( X e. E <-> ( X e. B /\ A. z e. B E. n e. ZZ z = ( n .x. X ) ) ) ) | 
						
							| 92 | 8 91 | mpbid |  |-  ( ph -> ( X e. B /\ A. z e. B E. n e. ZZ z = ( n .x. X ) ) ) | 
						
							| 93 | 92 | simprd |  |-  ( ph -> A. z e. B E. n e. ZZ z = ( n .x. X ) ) | 
						
							| 94 |  | oveq1 |  |-  ( n = j -> ( n .x. X ) = ( j .x. X ) ) | 
						
							| 95 | 94 | eqeq2d |  |-  ( n = j -> ( z = ( n .x. X ) <-> z = ( j .x. X ) ) ) | 
						
							| 96 | 95 | cbvrexvw |  |-  ( E. n e. ZZ z = ( n .x. X ) <-> E. j e. ZZ z = ( j .x. X ) ) | 
						
							| 97 | 27 | adantr |  |-  ( ( ph /\ z e. B ) -> L : ZZ -onto-> ( Base ` Y ) ) | 
						
							| 98 |  | fof |  |-  ( L : ZZ -onto-> ( Base ` Y ) -> L : ZZ --> ( Base ` Y ) ) | 
						
							| 99 | 97 98 | syl |  |-  ( ( ph /\ z e. B ) -> L : ZZ --> ( Base ` Y ) ) | 
						
							| 100 | 99 | ffvelcdmda |  |-  ( ( ( ph /\ z e. B ) /\ j e. ZZ ) -> ( L ` j ) e. ( Base ` Y ) ) | 
						
							| 101 | 59 | adantlr |  |-  ( ( ( ph /\ z e. B ) /\ j e. ZZ ) -> ( F ` ( L ` j ) ) = ( j .x. X ) ) | 
						
							| 102 | 101 | eqcomd |  |-  ( ( ( ph /\ z e. B ) /\ j e. ZZ ) -> ( j .x. X ) = ( F ` ( L ` j ) ) ) | 
						
							| 103 |  | fveq2 |  |-  ( a = ( L ` j ) -> ( F ` a ) = ( F ` ( L ` j ) ) ) | 
						
							| 104 | 103 | rspceeqv |  |-  ( ( ( L ` j ) e. ( Base ` Y ) /\ ( j .x. X ) = ( F ` ( L ` j ) ) ) -> E. a e. ( Base ` Y ) ( j .x. X ) = ( F ` a ) ) | 
						
							| 105 | 100 102 104 | syl2anc |  |-  ( ( ( ph /\ z e. B ) /\ j e. ZZ ) -> E. a e. ( Base ` Y ) ( j .x. X ) = ( F ` a ) ) | 
						
							| 106 |  | eqeq1 |  |-  ( z = ( j .x. X ) -> ( z = ( F ` a ) <-> ( j .x. X ) = ( F ` a ) ) ) | 
						
							| 107 | 106 | rexbidv |  |-  ( z = ( j .x. X ) -> ( E. a e. ( Base ` Y ) z = ( F ` a ) <-> E. a e. ( Base ` Y ) ( j .x. X ) = ( F ` a ) ) ) | 
						
							| 108 | 105 107 | syl5ibrcom |  |-  ( ( ( ph /\ z e. B ) /\ j e. ZZ ) -> ( z = ( j .x. X ) -> E. a e. ( Base ` Y ) z = ( F ` a ) ) ) | 
						
							| 109 | 108 | rexlimdva |  |-  ( ( ph /\ z e. B ) -> ( E. j e. ZZ z = ( j .x. X ) -> E. a e. ( Base ` Y ) z = ( F ` a ) ) ) | 
						
							| 110 | 96 109 | biimtrid |  |-  ( ( ph /\ z e. B ) -> ( E. n e. ZZ z = ( n .x. X ) -> E. a e. ( Base ` Y ) z = ( F ` a ) ) ) | 
						
							| 111 | 110 | ralimdva |  |-  ( ph -> ( A. z e. B E. n e. ZZ z = ( n .x. X ) -> A. z e. B E. a e. ( Base ` Y ) z = ( F ` a ) ) ) | 
						
							| 112 | 93 111 | mpd |  |-  ( ph -> A. z e. B E. a e. ( Base ` Y ) z = ( F ` a ) ) | 
						
							| 113 |  | dffo3 |  |-  ( F : ( Base ` Y ) -onto-> B <-> ( F : ( Base ` Y ) --> B /\ A. z e. B E. a e. ( Base ` Y ) z = ( F ` a ) ) ) | 
						
							| 114 | 25 112 113 | sylanbrc |  |-  ( ph -> F : ( Base ` Y ) -onto-> B ) | 
						
							| 115 |  | df-f1o |  |-  ( F : ( Base ` Y ) -1-1-onto-> B <-> ( F : ( Base ` Y ) -1-1-> B /\ F : ( Base ` Y ) -onto-> B ) ) | 
						
							| 116 | 89 114 115 | sylanbrc |  |-  ( ph -> F : ( Base ` Y ) -1-1-onto-> B ) | 
						
							| 117 | 10 1 | isgim |  |-  ( F e. ( Y GrpIso G ) <-> ( F e. ( Y GrpHom G ) /\ F : ( Base ` Y ) -1-1-onto-> B ) ) | 
						
							| 118 | 74 116 117 | sylanbrc |  |-  ( ph -> F e. ( Y GrpIso G ) ) | 
						
							| 119 |  | brgici |  |-  ( F e. ( Y GrpIso G ) -> Y ~=g G ) | 
						
							| 120 |  | gicsym |  |-  ( Y ~=g G -> G ~=g Y ) | 
						
							| 121 | 118 119 120 | 3syl |  |-  ( ph -> G ~=g Y ) |