Metamath Proof Explorer


Theorem iscyggen2

Description: The property of being a cyclic generator for a group. (Contributed by Mario Carneiro, 21-Apr-2016)

Ref Expression
Hypotheses iscyg.1
|- B = ( Base ` G )
iscyg.2
|- .x. = ( .g ` G )
iscyg3.e
|- E = { x e. B | ran ( n e. ZZ |-> ( n .x. x ) ) = B }
Assertion iscyggen2
|- ( G e. Grp -> ( X e. E <-> ( X e. B /\ A. y e. B E. n e. ZZ y = ( n .x. X ) ) ) )

Proof

Step Hyp Ref Expression
1 iscyg.1
 |-  B = ( Base ` G )
2 iscyg.2
 |-  .x. = ( .g ` G )
3 iscyg3.e
 |-  E = { x e. B | ran ( n e. ZZ |-> ( n .x. x ) ) = B }
4 1 2 3 iscyggen
 |-  ( X e. E <-> ( X e. B /\ ran ( n e. ZZ |-> ( n .x. X ) ) = B ) )
5 1 2 mulgcl
 |-  ( ( G e. Grp /\ n e. ZZ /\ X e. B ) -> ( n .x. X ) e. B )
6 5 3expa
 |-  ( ( ( G e. Grp /\ n e. ZZ ) /\ X e. B ) -> ( n .x. X ) e. B )
7 6 an32s
 |-  ( ( ( G e. Grp /\ X e. B ) /\ n e. ZZ ) -> ( n .x. X ) e. B )
8 7 fmpttd
 |-  ( ( G e. Grp /\ X e. B ) -> ( n e. ZZ |-> ( n .x. X ) ) : ZZ --> B )
9 frn
 |-  ( ( n e. ZZ |-> ( n .x. X ) ) : ZZ --> B -> ran ( n e. ZZ |-> ( n .x. X ) ) C_ B )
10 eqss
 |-  ( ran ( n e. ZZ |-> ( n .x. X ) ) = B <-> ( ran ( n e. ZZ |-> ( n .x. X ) ) C_ B /\ B C_ ran ( n e. ZZ |-> ( n .x. X ) ) ) )
11 10 baib
 |-  ( ran ( n e. ZZ |-> ( n .x. X ) ) C_ B -> ( ran ( n e. ZZ |-> ( n .x. X ) ) = B <-> B C_ ran ( n e. ZZ |-> ( n .x. X ) ) ) )
12 8 9 11 3syl
 |-  ( ( G e. Grp /\ X e. B ) -> ( ran ( n e. ZZ |-> ( n .x. X ) ) = B <-> B C_ ran ( n e. ZZ |-> ( n .x. X ) ) ) )
13 dfss3
 |-  ( B C_ ran ( n e. ZZ |-> ( n .x. X ) ) <-> A. y e. B y e. ran ( n e. ZZ |-> ( n .x. X ) ) )
14 eqid
 |-  ( n e. ZZ |-> ( n .x. X ) ) = ( n e. ZZ |-> ( n .x. X ) )
15 ovex
 |-  ( n .x. X ) e. _V
16 14 15 elrnmpti
 |-  ( y e. ran ( n e. ZZ |-> ( n .x. X ) ) <-> E. n e. ZZ y = ( n .x. X ) )
17 16 ralbii
 |-  ( A. y e. B y e. ran ( n e. ZZ |-> ( n .x. X ) ) <-> A. y e. B E. n e. ZZ y = ( n .x. X ) )
18 13 17 bitri
 |-  ( B C_ ran ( n e. ZZ |-> ( n .x. X ) ) <-> A. y e. B E. n e. ZZ y = ( n .x. X ) )
19 12 18 bitrdi
 |-  ( ( G e. Grp /\ X e. B ) -> ( ran ( n e. ZZ |-> ( n .x. X ) ) = B <-> A. y e. B E. n e. ZZ y = ( n .x. X ) ) )
20 19 pm5.32da
 |-  ( G e. Grp -> ( ( X e. B /\ ran ( n e. ZZ |-> ( n .x. X ) ) = B ) <-> ( X e. B /\ A. y e. B E. n e. ZZ y = ( n .x. X ) ) ) )
21 4 20 syl5bb
 |-  ( G e. Grp -> ( X e. E <-> ( X e. B /\ A. y e. B E. n e. ZZ y = ( n .x. X ) ) ) )