Metamath Proof Explorer


Theorem iscyg

Description: Definition of a cyclic group. (Contributed by Mario Carneiro, 21-Apr-2016)

Ref Expression
Hypotheses iscyg.1 𝐵 = ( Base ‘ 𝐺 )
iscyg.2 · = ( .g𝐺 )
Assertion iscyg ( 𝐺 ∈ CycGrp ↔ ( 𝐺 ∈ Grp ∧ ∃ 𝑥𝐵 ran ( 𝑛 ∈ ℤ ↦ ( 𝑛 · 𝑥 ) ) = 𝐵 ) )

Proof

Step Hyp Ref Expression
1 iscyg.1 𝐵 = ( Base ‘ 𝐺 )
2 iscyg.2 · = ( .g𝐺 )
3 fveq2 ( 𝑔 = 𝐺 → ( Base ‘ 𝑔 ) = ( Base ‘ 𝐺 ) )
4 3 1 eqtr4di ( 𝑔 = 𝐺 → ( Base ‘ 𝑔 ) = 𝐵 )
5 fveq2 ( 𝑔 = 𝐺 → ( .g𝑔 ) = ( .g𝐺 ) )
6 5 2 eqtr4di ( 𝑔 = 𝐺 → ( .g𝑔 ) = · )
7 6 oveqd ( 𝑔 = 𝐺 → ( 𝑛 ( .g𝑔 ) 𝑥 ) = ( 𝑛 · 𝑥 ) )
8 7 mpteq2dv ( 𝑔 = 𝐺 → ( 𝑛 ∈ ℤ ↦ ( 𝑛 ( .g𝑔 ) 𝑥 ) ) = ( 𝑛 ∈ ℤ ↦ ( 𝑛 · 𝑥 ) ) )
9 8 rneqd ( 𝑔 = 𝐺 → ran ( 𝑛 ∈ ℤ ↦ ( 𝑛 ( .g𝑔 ) 𝑥 ) ) = ran ( 𝑛 ∈ ℤ ↦ ( 𝑛 · 𝑥 ) ) )
10 9 4 eqeq12d ( 𝑔 = 𝐺 → ( ran ( 𝑛 ∈ ℤ ↦ ( 𝑛 ( .g𝑔 ) 𝑥 ) ) = ( Base ‘ 𝑔 ) ↔ ran ( 𝑛 ∈ ℤ ↦ ( 𝑛 · 𝑥 ) ) = 𝐵 ) )
11 4 10 rexeqbidv ( 𝑔 = 𝐺 → ( ∃ 𝑥 ∈ ( Base ‘ 𝑔 ) ran ( 𝑛 ∈ ℤ ↦ ( 𝑛 ( .g𝑔 ) 𝑥 ) ) = ( Base ‘ 𝑔 ) ↔ ∃ 𝑥𝐵 ran ( 𝑛 ∈ ℤ ↦ ( 𝑛 · 𝑥 ) ) = 𝐵 ) )
12 df-cyg CycGrp = { 𝑔 ∈ Grp ∣ ∃ 𝑥 ∈ ( Base ‘ 𝑔 ) ran ( 𝑛 ∈ ℤ ↦ ( 𝑛 ( .g𝑔 ) 𝑥 ) ) = ( Base ‘ 𝑔 ) }
13 11 12 elrab2 ( 𝐺 ∈ CycGrp ↔ ( 𝐺 ∈ Grp ∧ ∃ 𝑥𝐵 ran ( 𝑛 ∈ ℤ ↦ ( 𝑛 · 𝑥 ) ) = 𝐵 ) )