Metamath Proof Explorer


Theorem cyggeninv

Description: The inverse of a cyclic generator is a generator. (Contributed by Mario Carneiro, 21-Apr-2016)

Ref Expression
Hypotheses iscyg.1 𝐵 = ( Base ‘ 𝐺 )
iscyg.2 · = ( .g𝐺 )
iscyg3.e 𝐸 = { 𝑥𝐵 ∣ ran ( 𝑛 ∈ ℤ ↦ ( 𝑛 · 𝑥 ) ) = 𝐵 }
cyggeninv.n 𝑁 = ( invg𝐺 )
Assertion cyggeninv ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) → ( 𝑁𝑋 ) ∈ 𝐸 )

Proof

Step Hyp Ref Expression
1 iscyg.1 𝐵 = ( Base ‘ 𝐺 )
2 iscyg.2 · = ( .g𝐺 )
3 iscyg3.e 𝐸 = { 𝑥𝐵 ∣ ran ( 𝑛 ∈ ℤ ↦ ( 𝑛 · 𝑥 ) ) = 𝐵 }
4 cyggeninv.n 𝑁 = ( invg𝐺 )
5 1 2 3 iscyggen2 ( 𝐺 ∈ Grp → ( 𝑋𝐸 ↔ ( 𝑋𝐵 ∧ ∀ 𝑦𝐵𝑛 ∈ ℤ 𝑦 = ( 𝑛 · 𝑋 ) ) ) )
6 5 simprbda ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) → 𝑋𝐵 )
7 1 4 grpinvcl ( ( 𝐺 ∈ Grp ∧ 𝑋𝐵 ) → ( 𝑁𝑋 ) ∈ 𝐵 )
8 6 7 syldan ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) → ( 𝑁𝑋 ) ∈ 𝐵 )
9 5 simplbda ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) → ∀ 𝑦𝐵𝑛 ∈ ℤ 𝑦 = ( 𝑛 · 𝑋 ) )
10 oveq1 ( 𝑛 = 𝑚 → ( 𝑛 · 𝑋 ) = ( 𝑚 · 𝑋 ) )
11 10 eqeq2d ( 𝑛 = 𝑚 → ( 𝑦 = ( 𝑛 · 𝑋 ) ↔ 𝑦 = ( 𝑚 · 𝑋 ) ) )
12 11 cbvrexvw ( ∃ 𝑛 ∈ ℤ 𝑦 = ( 𝑛 · 𝑋 ) ↔ ∃ 𝑚 ∈ ℤ 𝑦 = ( 𝑚 · 𝑋 ) )
13 znegcl ( 𝑚 ∈ ℤ → - 𝑚 ∈ ℤ )
14 13 adantl ( ( ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) ∧ 𝑦𝐵 ) ∧ 𝑚 ∈ ℤ ) → - 𝑚 ∈ ℤ )
15 simpr ( ( ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) ∧ 𝑦𝐵 ) ∧ 𝑚 ∈ ℤ ) → 𝑚 ∈ ℤ )
16 15 zcnd ( ( ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) ∧ 𝑦𝐵 ) ∧ 𝑚 ∈ ℤ ) → 𝑚 ∈ ℂ )
17 16 negnegd ( ( ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) ∧ 𝑦𝐵 ) ∧ 𝑚 ∈ ℤ ) → - - 𝑚 = 𝑚 )
18 17 oveq1d ( ( ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) ∧ 𝑦𝐵 ) ∧ 𝑚 ∈ ℤ ) → ( - - 𝑚 · 𝑋 ) = ( 𝑚 · 𝑋 ) )
19 simplll ( ( ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) ∧ 𝑦𝐵 ) ∧ 𝑚 ∈ ℤ ) → 𝐺 ∈ Grp )
20 6 ad2antrr ( ( ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) ∧ 𝑦𝐵 ) ∧ 𝑚 ∈ ℤ ) → 𝑋𝐵 )
21 1 2 4 mulgneg2 ( ( 𝐺 ∈ Grp ∧ - 𝑚 ∈ ℤ ∧ 𝑋𝐵 ) → ( - - 𝑚 · 𝑋 ) = ( - 𝑚 · ( 𝑁𝑋 ) ) )
22 19 14 20 21 syl3anc ( ( ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) ∧ 𝑦𝐵 ) ∧ 𝑚 ∈ ℤ ) → ( - - 𝑚 · 𝑋 ) = ( - 𝑚 · ( 𝑁𝑋 ) ) )
23 18 22 eqtr3d ( ( ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) ∧ 𝑦𝐵 ) ∧ 𝑚 ∈ ℤ ) → ( 𝑚 · 𝑋 ) = ( - 𝑚 · ( 𝑁𝑋 ) ) )
24 oveq1 ( 𝑛 = - 𝑚 → ( 𝑛 · ( 𝑁𝑋 ) ) = ( - 𝑚 · ( 𝑁𝑋 ) ) )
25 24 rspceeqv ( ( - 𝑚 ∈ ℤ ∧ ( 𝑚 · 𝑋 ) = ( - 𝑚 · ( 𝑁𝑋 ) ) ) → ∃ 𝑛 ∈ ℤ ( 𝑚 · 𝑋 ) = ( 𝑛 · ( 𝑁𝑋 ) ) )
26 14 23 25 syl2anc ( ( ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) ∧ 𝑦𝐵 ) ∧ 𝑚 ∈ ℤ ) → ∃ 𝑛 ∈ ℤ ( 𝑚 · 𝑋 ) = ( 𝑛 · ( 𝑁𝑋 ) ) )
27 eqeq1 ( 𝑦 = ( 𝑚 · 𝑋 ) → ( 𝑦 = ( 𝑛 · ( 𝑁𝑋 ) ) ↔ ( 𝑚 · 𝑋 ) = ( 𝑛 · ( 𝑁𝑋 ) ) ) )
28 27 rexbidv ( 𝑦 = ( 𝑚 · 𝑋 ) → ( ∃ 𝑛 ∈ ℤ 𝑦 = ( 𝑛 · ( 𝑁𝑋 ) ) ↔ ∃ 𝑛 ∈ ℤ ( 𝑚 · 𝑋 ) = ( 𝑛 · ( 𝑁𝑋 ) ) ) )
29 26 28 syl5ibrcom ( ( ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) ∧ 𝑦𝐵 ) ∧ 𝑚 ∈ ℤ ) → ( 𝑦 = ( 𝑚 · 𝑋 ) → ∃ 𝑛 ∈ ℤ 𝑦 = ( 𝑛 · ( 𝑁𝑋 ) ) ) )
30 29 rexlimdva ( ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) ∧ 𝑦𝐵 ) → ( ∃ 𝑚 ∈ ℤ 𝑦 = ( 𝑚 · 𝑋 ) → ∃ 𝑛 ∈ ℤ 𝑦 = ( 𝑛 · ( 𝑁𝑋 ) ) ) )
31 12 30 syl5bi ( ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) ∧ 𝑦𝐵 ) → ( ∃ 𝑛 ∈ ℤ 𝑦 = ( 𝑛 · 𝑋 ) → ∃ 𝑛 ∈ ℤ 𝑦 = ( 𝑛 · ( 𝑁𝑋 ) ) ) )
32 31 ralimdva ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) → ( ∀ 𝑦𝐵𝑛 ∈ ℤ 𝑦 = ( 𝑛 · 𝑋 ) → ∀ 𝑦𝐵𝑛 ∈ ℤ 𝑦 = ( 𝑛 · ( 𝑁𝑋 ) ) ) )
33 9 32 mpd ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) → ∀ 𝑦𝐵𝑛 ∈ ℤ 𝑦 = ( 𝑛 · ( 𝑁𝑋 ) ) )
34 1 2 3 iscyggen2 ( 𝐺 ∈ Grp → ( ( 𝑁𝑋 ) ∈ 𝐸 ↔ ( ( 𝑁𝑋 ) ∈ 𝐵 ∧ ∀ 𝑦𝐵𝑛 ∈ ℤ 𝑦 = ( 𝑛 · ( 𝑁𝑋 ) ) ) ) )
35 34 adantr ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) → ( ( 𝑁𝑋 ) ∈ 𝐸 ↔ ( ( 𝑁𝑋 ) ∈ 𝐵 ∧ ∀ 𝑦𝐵𝑛 ∈ ℤ 𝑦 = ( 𝑛 · ( 𝑁𝑋 ) ) ) ) )
36 8 33 35 mpbir2and ( ( 𝐺 ∈ Grp ∧ 𝑋𝐸 ) → ( 𝑁𝑋 ) ∈ 𝐸 )