Step |
Hyp |
Ref |
Expression |
1 |
|
cygctb.1 |
|- B = ( Base ` G ) |
2 |
|
cyggex.o |
|- E = ( gEx ` G ) |
3 |
1 2
|
cyggex |
|- ( ( G e. CycGrp /\ B e. Fin ) -> E = ( # ` B ) ) |
4 |
3
|
expcom |
|- ( B e. Fin -> ( G e. CycGrp -> E = ( # ` B ) ) ) |
5 |
4
|
adantl |
|- ( ( G e. Abel /\ B e. Fin ) -> ( G e. CycGrp -> E = ( # ` B ) ) ) |
6 |
|
simpll |
|- ( ( ( G e. Abel /\ B e. Fin ) /\ E = ( # ` B ) ) -> G e. Abel ) |
7 |
|
ablgrp |
|- ( G e. Abel -> G e. Grp ) |
8 |
7
|
ad2antrr |
|- ( ( ( G e. Abel /\ B e. Fin ) /\ E = ( # ` B ) ) -> G e. Grp ) |
9 |
|
simplr |
|- ( ( ( G e. Abel /\ B e. Fin ) /\ E = ( # ` B ) ) -> B e. Fin ) |
10 |
1 2
|
gexcl2 |
|- ( ( G e. Grp /\ B e. Fin ) -> E e. NN ) |
11 |
8 9 10
|
syl2anc |
|- ( ( ( G e. Abel /\ B e. Fin ) /\ E = ( # ` B ) ) -> E e. NN ) |
12 |
|
eqid |
|- ( od ` G ) = ( od ` G ) |
13 |
1 2 12
|
gexex |
|- ( ( G e. Abel /\ E e. NN ) -> E. x e. B ( ( od ` G ) ` x ) = E ) |
14 |
6 11 13
|
syl2anc |
|- ( ( ( G e. Abel /\ B e. Fin ) /\ E = ( # ` B ) ) -> E. x e. B ( ( od ` G ) ` x ) = E ) |
15 |
|
simplr |
|- ( ( ( ( G e. Abel /\ B e. Fin ) /\ E = ( # ` B ) ) /\ x e. B ) -> E = ( # ` B ) ) |
16 |
15
|
eqeq2d |
|- ( ( ( ( G e. Abel /\ B e. Fin ) /\ E = ( # ` B ) ) /\ x e. B ) -> ( ( ( od ` G ) ` x ) = E <-> ( ( od ` G ) ` x ) = ( # ` B ) ) ) |
17 |
|
eqid |
|- ( .g ` G ) = ( .g ` G ) |
18 |
|
eqid |
|- { y e. B | ran ( n e. ZZ |-> ( n ( .g ` G ) y ) ) = B } = { y e. B | ran ( n e. ZZ |-> ( n ( .g ` G ) y ) ) = B } |
19 |
1 17 18 12
|
cyggenod |
|- ( ( G e. Grp /\ B e. Fin ) -> ( x e. { y e. B | ran ( n e. ZZ |-> ( n ( .g ` G ) y ) ) = B } <-> ( x e. B /\ ( ( od ` G ) ` x ) = ( # ` B ) ) ) ) |
20 |
8 9 19
|
syl2anc |
|- ( ( ( G e. Abel /\ B e. Fin ) /\ E = ( # ` B ) ) -> ( x e. { y e. B | ran ( n e. ZZ |-> ( n ( .g ` G ) y ) ) = B } <-> ( x e. B /\ ( ( od ` G ) ` x ) = ( # ` B ) ) ) ) |
21 |
|
ne0i |
|- ( x e. { y e. B | ran ( n e. ZZ |-> ( n ( .g ` G ) y ) ) = B } -> { y e. B | ran ( n e. ZZ |-> ( n ( .g ` G ) y ) ) = B } =/= (/) ) |
22 |
1 17 18
|
iscyg2 |
|- ( G e. CycGrp <-> ( G e. Grp /\ { y e. B | ran ( n e. ZZ |-> ( n ( .g ` G ) y ) ) = B } =/= (/) ) ) |
23 |
22
|
baib |
|- ( G e. Grp -> ( G e. CycGrp <-> { y e. B | ran ( n e. ZZ |-> ( n ( .g ` G ) y ) ) = B } =/= (/) ) ) |
24 |
8 23
|
syl |
|- ( ( ( G e. Abel /\ B e. Fin ) /\ E = ( # ` B ) ) -> ( G e. CycGrp <-> { y e. B | ran ( n e. ZZ |-> ( n ( .g ` G ) y ) ) = B } =/= (/) ) ) |
25 |
21 24
|
syl5ibr |
|- ( ( ( G e. Abel /\ B e. Fin ) /\ E = ( # ` B ) ) -> ( x e. { y e. B | ran ( n e. ZZ |-> ( n ( .g ` G ) y ) ) = B } -> G e. CycGrp ) ) |
26 |
20 25
|
sylbird |
|- ( ( ( G e. Abel /\ B e. Fin ) /\ E = ( # ` B ) ) -> ( ( x e. B /\ ( ( od ` G ) ` x ) = ( # ` B ) ) -> G e. CycGrp ) ) |
27 |
26
|
expdimp |
|- ( ( ( ( G e. Abel /\ B e. Fin ) /\ E = ( # ` B ) ) /\ x e. B ) -> ( ( ( od ` G ) ` x ) = ( # ` B ) -> G e. CycGrp ) ) |
28 |
16 27
|
sylbid |
|- ( ( ( ( G e. Abel /\ B e. Fin ) /\ E = ( # ` B ) ) /\ x e. B ) -> ( ( ( od ` G ) ` x ) = E -> G e. CycGrp ) ) |
29 |
28
|
rexlimdva |
|- ( ( ( G e. Abel /\ B e. Fin ) /\ E = ( # ` B ) ) -> ( E. x e. B ( ( od ` G ) ` x ) = E -> G e. CycGrp ) ) |
30 |
14 29
|
mpd |
|- ( ( ( G e. Abel /\ B e. Fin ) /\ E = ( # ` B ) ) -> G e. CycGrp ) |
31 |
30
|
ex |
|- ( ( G e. Abel /\ B e. Fin ) -> ( E = ( # ` B ) -> G e. CycGrp ) ) |
32 |
5 31
|
impbid |
|- ( ( G e. Abel /\ B e. Fin ) -> ( G e. CycGrp <-> E = ( # ` B ) ) ) |