MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  frgpcyg Structured version   Visualization version   GIF version

Theorem frgpcyg 21494
Description: A free group is cyclic iff it has zero or one generator. (Contributed by Mario Carneiro, 21-Apr-2016.) (Proof shortened by AV, 18-Apr-2021.)
Hypothesis
Ref Expression
frgpcyg.g 𝐺 = (freeGrp‘𝐼)
Assertion
Ref Expression
frgpcyg (𝐼 ≼ 1o𝐺 ∈ CycGrp)

Proof of Theorem frgpcyg
Dummy variables 𝑓 𝑔 𝑛 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 brdom2 8994 . . 3 (𝐼 ≼ 1o ↔ (𝐼 ≺ 1o𝐼 ≈ 1o))
2 sdom1 9258 . . . . 5 (𝐼 ≺ 1o𝐼 = ∅)
3 frgpcyg.g . . . . . . 7 𝐺 = (freeGrp‘𝐼)
4 fveq2 6891 . . . . . . 7 (𝐼 = ∅ → (freeGrp‘𝐼) = (freeGrp‘∅))
53, 4eqtrid 2779 . . . . . 6 (𝐼 = ∅ → 𝐺 = (freeGrp‘∅))
6 0ex 5301 . . . . . . . 8 ∅ ∈ V
7 eqid 2727 . . . . . . . . 9 (freeGrp‘∅) = (freeGrp‘∅)
87frgpgrp 19708 . . . . . . . 8 (∅ ∈ V → (freeGrp‘∅) ∈ Grp)
96, 8ax-mp 5 . . . . . . 7 (freeGrp‘∅) ∈ Grp
10 eqid 2727 . . . . . . . 8 (Base‘(freeGrp‘∅)) = (Base‘(freeGrp‘∅))
117, 100frgp 19725 . . . . . . 7 (Base‘(freeGrp‘∅)) ≈ 1o
12100cyg 19839 . . . . . . 7 (((freeGrp‘∅) ∈ Grp ∧ (Base‘(freeGrp‘∅)) ≈ 1o) → (freeGrp‘∅) ∈ CycGrp)
139, 11, 12mp2an 691 . . . . . 6 (freeGrp‘∅) ∈ CycGrp
145, 13eqeltrdi 2836 . . . . 5 (𝐼 = ∅ → 𝐺 ∈ CycGrp)
152, 14sylbi 216 . . . 4 (𝐼 ≺ 1o𝐺 ∈ CycGrp)
16 eqid 2727 . . . . 5 (Base‘𝐺) = (Base‘𝐺)
17 eqid 2727 . . . . 5 (.g𝐺) = (.g𝐺)
18 relen 8960 . . . . . . 7 Rel ≈
1918brrelex1i 5728 . . . . . 6 (𝐼 ≈ 1o𝐼 ∈ V)
203frgpgrp 19708 . . . . . 6 (𝐼 ∈ V → 𝐺 ∈ Grp)
2119, 20syl 17 . . . . 5 (𝐼 ≈ 1o𝐺 ∈ Grp)
22 eqid 2727 . . . . . . . 8 ( ~FG𝐼) = ( ~FG𝐼)
23 eqid 2727 . . . . . . . 8 (varFGrp𝐼) = (varFGrp𝐼)
2422, 23, 3, 16vrgpf 19714 . . . . . . 7 (𝐼 ∈ V → (varFGrp𝐼):𝐼⟶(Base‘𝐺))
2519, 24syl 17 . . . . . 6 (𝐼 ≈ 1o → (varFGrp𝐼):𝐼⟶(Base‘𝐺))
26 en1uniel 9044 . . . . . 6 (𝐼 ≈ 1o 𝐼𝐼)
2725, 26ffvelcdmd 7089 . . . . 5 (𝐼 ≈ 1o → ((varFGrp𝐼)‘ 𝐼) ∈ (Base‘𝐺))
28 zringgrp 21365 . . . . . . . . 9 ring ∈ Grp
2919uniexd 7741 . . . . . . . . . . 11 (𝐼 ≈ 1o 𝐼 ∈ V)
30 1zzd 12615 . . . . . . . . . . 11 (𝐼 ≈ 1o → 1 ∈ ℤ)
3129, 30fsnd 6876 . . . . . . . . . 10 (𝐼 ≈ 1o → {⟨ 𝐼, 1⟩}:{ 𝐼}⟶ℤ)
32 en1b 9039 . . . . . . . . . . . 12 (𝐼 ≈ 1o𝐼 = { 𝐼})
3332biimpi 215 . . . . . . . . . . 11 (𝐼 ≈ 1o𝐼 = { 𝐼})
3433feq2d 6702 . . . . . . . . . 10 (𝐼 ≈ 1o → ({⟨ 𝐼, 1⟩}:𝐼⟶ℤ ↔ {⟨ 𝐼, 1⟩}:{ 𝐼}⟶ℤ))
3531, 34mpbird 257 . . . . . . . . 9 (𝐼 ≈ 1o → {⟨ 𝐼, 1⟩}:𝐼⟶ℤ)
36 zringbas 21366 . . . . . . . . . 10 ℤ = (Base‘ℤring)
373, 36, 23frgpup3 19724 . . . . . . . . 9 ((ℤring ∈ Grp ∧ 𝐼 ∈ V ∧ {⟨ 𝐼, 1⟩}:𝐼⟶ℤ) → ∃!𝑓 ∈ (𝐺 GrpHom ℤring)(𝑓 ∘ (varFGrp𝐼)) = {⟨ 𝐼, 1⟩})
3828, 19, 35, 37mp3an2i 1463 . . . . . . . 8 (𝐼 ≈ 1o → ∃!𝑓 ∈ (𝐺 GrpHom ℤring)(𝑓 ∘ (varFGrp𝐼)) = {⟨ 𝐼, 1⟩})
3938adantr 480 . . . . . . 7 ((𝐼 ≈ 1o𝑥 ∈ (Base‘𝐺)) → ∃!𝑓 ∈ (𝐺 GrpHom ℤring)(𝑓 ∘ (varFGrp𝐼)) = {⟨ 𝐼, 1⟩})
40 reurex 3375 . . . . . . 7 (∃!𝑓 ∈ (𝐺 GrpHom ℤring)(𝑓 ∘ (varFGrp𝐼)) = {⟨ 𝐼, 1⟩} → ∃𝑓 ∈ (𝐺 GrpHom ℤring)(𝑓 ∘ (varFGrp𝐼)) = {⟨ 𝐼, 1⟩})
4139, 40syl 17 . . . . . 6 ((𝐼 ≈ 1o𝑥 ∈ (Base‘𝐺)) → ∃𝑓 ∈ (𝐺 GrpHom ℤring)(𝑓 ∘ (varFGrp𝐼)) = {⟨ 𝐼, 1⟩})
42 fveq1 6890 . . . . . . . . . 10 ((𝑓 ∘ (varFGrp𝐼)) = {⟨ 𝐼, 1⟩} → ((𝑓 ∘ (varFGrp𝐼))‘ 𝐼) = ({⟨ 𝐼, 1⟩}‘ 𝐼))
4325, 26fvco3d 6992 . . . . . . . . . . 11 (𝐼 ≈ 1o → ((𝑓 ∘ (varFGrp𝐼))‘ 𝐼) = (𝑓‘((varFGrp𝐼)‘ 𝐼)))
44 1z 12614 . . . . . . . . . . . 12 1 ∈ ℤ
45 fvsng 7183 . . . . . . . . . . . 12 (( 𝐼 ∈ V ∧ 1 ∈ ℤ) → ({⟨ 𝐼, 1⟩}‘ 𝐼) = 1)
4629, 44, 45sylancl 585 . . . . . . . . . . 11 (𝐼 ≈ 1o → ({⟨ 𝐼, 1⟩}‘ 𝐼) = 1)
4743, 46eqeq12d 2743 . . . . . . . . . 10 (𝐼 ≈ 1o → (((𝑓 ∘ (varFGrp𝐼))‘ 𝐼) = ({⟨ 𝐼, 1⟩}‘ 𝐼) ↔ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1))
4842, 47imbitrid 243 . . . . . . . . 9 (𝐼 ≈ 1o → ((𝑓 ∘ (varFGrp𝐼)) = {⟨ 𝐼, 1⟩} → (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1))
4948ad2antrr 725 . . . . . . . 8 (((𝐼 ≈ 1o𝑥 ∈ (Base‘𝐺)) ∧ 𝑓 ∈ (𝐺 GrpHom ℤring)) → ((𝑓 ∘ (varFGrp𝐼)) = {⟨ 𝐼, 1⟩} → (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1))
5016, 36ghmf 19165 . . . . . . . . . . . . 13 (𝑓 ∈ (𝐺 GrpHom ℤring) → 𝑓:(Base‘𝐺)⟶ℤ)
5150ad2antrl 727 . . . . . . . . . . . 12 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → 𝑓:(Base‘𝐺)⟶ℤ)
5251ffvelcdmda 7088 . . . . . . . . . . 11 (((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) ∧ 𝑥 ∈ (Base‘𝐺)) → (𝑓𝑥) ∈ ℤ)
5352an32s 651 . . . . . . . . . 10 (((𝐼 ≈ 1o𝑥 ∈ (Base‘𝐺)) ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → (𝑓𝑥) ∈ ℤ)
54 mptresid 6048 . . . . . . . . . . . . . 14 ( I ↾ (Base‘𝐺)) = (𝑥 ∈ (Base‘𝐺) ↦ 𝑥)
553, 16, 23frgpup3 19724 . . . . . . . . . . . . . . . . . 18 ((𝐺 ∈ Grp ∧ 𝐼 ∈ V ∧ (varFGrp𝐼):𝐼⟶(Base‘𝐺)) → ∃!𝑔 ∈ (𝐺 GrpHom 𝐺)(𝑔 ∘ (varFGrp𝐼)) = (varFGrp𝐼))
5621, 19, 25, 55syl3anc 1369 . . . . . . . . . . . . . . . . 17 (𝐼 ≈ 1o → ∃!𝑔 ∈ (𝐺 GrpHom 𝐺)(𝑔 ∘ (varFGrp𝐼)) = (varFGrp𝐼))
57 reurmo 3374 . . . . . . . . . . . . . . . . 17 (∃!𝑔 ∈ (𝐺 GrpHom 𝐺)(𝑔 ∘ (varFGrp𝐼)) = (varFGrp𝐼) → ∃*𝑔 ∈ (𝐺 GrpHom 𝐺)(𝑔 ∘ (varFGrp𝐼)) = (varFGrp𝐼))
5856, 57syl 17 . . . . . . . . . . . . . . . 16 (𝐼 ≈ 1o → ∃*𝑔 ∈ (𝐺 GrpHom 𝐺)(𝑔 ∘ (varFGrp𝐼)) = (varFGrp𝐼))
5958adantr 480 . . . . . . . . . . . . . . 15 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → ∃*𝑔 ∈ (𝐺 GrpHom 𝐺)(𝑔 ∘ (varFGrp𝐼)) = (varFGrp𝐼))
6021adantr 480 . . . . . . . . . . . . . . . 16 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → 𝐺 ∈ Grp)
6116idghm 19176 . . . . . . . . . . . . . . . 16 (𝐺 ∈ Grp → ( I ↾ (Base‘𝐺)) ∈ (𝐺 GrpHom 𝐺))
6260, 61syl 17 . . . . . . . . . . . . . . 15 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → ( I ↾ (Base‘𝐺)) ∈ (𝐺 GrpHom 𝐺))
6325adantr 480 . . . . . . . . . . . . . . . 16 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → (varFGrp𝐼):𝐼⟶(Base‘𝐺))
64 fcoi2 6766 . . . . . . . . . . . . . . . 16 ((varFGrp𝐼):𝐼⟶(Base‘𝐺) → (( I ↾ (Base‘𝐺)) ∘ (varFGrp𝐼)) = (varFGrp𝐼))
6563, 64syl 17 . . . . . . . . . . . . . . 15 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → (( I ↾ (Base‘𝐺)) ∘ (varFGrp𝐼)) = (varFGrp𝐼))
6651feqmptd 6961 . . . . . . . . . . . . . . . . 17 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → 𝑓 = (𝑥 ∈ (Base‘𝐺) ↦ (𝑓𝑥)))
67 eqidd 2728 . . . . . . . . . . . . . . . . 17 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → (𝑛 ∈ ℤ ↦ (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼))) = (𝑛 ∈ ℤ ↦ (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼))))
68 oveq1 7421 . . . . . . . . . . . . . . . . 17 (𝑛 = (𝑓𝑥) → (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼)) = ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼)))
6952, 66, 67, 68fmptco 7132 . . . . . . . . . . . . . . . 16 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → ((𝑛 ∈ ℤ ↦ (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼))) ∘ 𝑓) = (𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))))
7027adantr 480 . . . . . . . . . . . . . . . . . 18 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → ((varFGrp𝐼)‘ 𝐼) ∈ (Base‘𝐺))
71 eqid 2727 . . . . . . . . . . . . . . . . . . 19 (𝑛 ∈ ℤ ↦ (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼))) = (𝑛 ∈ ℤ ↦ (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼)))
7217, 71, 16mulgghm2 21389 . . . . . . . . . . . . . . . . . 18 ((𝐺 ∈ Grp ∧ ((varFGrp𝐼)‘ 𝐼) ∈ (Base‘𝐺)) → (𝑛 ∈ ℤ ↦ (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼))) ∈ (ℤring GrpHom 𝐺))
7360, 70, 72syl2anc 583 . . . . . . . . . . . . . . . . 17 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → (𝑛 ∈ ℤ ↦ (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼))) ∈ (ℤring GrpHom 𝐺))
74 simprl 770 . . . . . . . . . . . . . . . . 17 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → 𝑓 ∈ (𝐺 GrpHom ℤring))
75 ghmco 19181 . . . . . . . . . . . . . . . . 17 (((𝑛 ∈ ℤ ↦ (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼))) ∈ (ℤring GrpHom 𝐺) ∧ 𝑓 ∈ (𝐺 GrpHom ℤring)) → ((𝑛 ∈ ℤ ↦ (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼))) ∘ 𝑓) ∈ (𝐺 GrpHom 𝐺))
7673, 74, 75syl2anc 583 . . . . . . . . . . . . . . . 16 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → ((𝑛 ∈ ℤ ↦ (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼))) ∘ 𝑓) ∈ (𝐺 GrpHom 𝐺))
7769, 76eqeltrrd 2829 . . . . . . . . . . . . . . 15 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → (𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))) ∈ (𝐺 GrpHom 𝐺))
7833adantr 480 . . . . . . . . . . . . . . . . . . . 20 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → 𝐼 = { 𝐼})
7978eleq2d 2814 . . . . . . . . . . . . . . . . . . 19 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → (𝑦𝐼𝑦 ∈ { 𝐼}))
80 simprr 772 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)
8180oveq1d 7429 . . . . . . . . . . . . . . . . . . . . 21 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → ((𝑓‘((varFGrp𝐼)‘ 𝐼))(.g𝐺)((varFGrp𝐼)‘ 𝐼)) = (1(.g𝐺)((varFGrp𝐼)‘ 𝐼)))
8216, 17mulg1 19027 . . . . . . . . . . . . . . . . . . . . . 22 (((varFGrp𝐼)‘ 𝐼) ∈ (Base‘𝐺) → (1(.g𝐺)((varFGrp𝐼)‘ 𝐼)) = ((varFGrp𝐼)‘ 𝐼))
8370, 82syl 17 . . . . . . . . . . . . . . . . . . . . 21 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → (1(.g𝐺)((varFGrp𝐼)‘ 𝐼)) = ((varFGrp𝐼)‘ 𝐼))
8481, 83eqtrd 2767 . . . . . . . . . . . . . . . . . . . 20 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → ((𝑓‘((varFGrp𝐼)‘ 𝐼))(.g𝐺)((varFGrp𝐼)‘ 𝐼)) = ((varFGrp𝐼)‘ 𝐼))
85 elsni 4641 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑦 ∈ { 𝐼} → 𝑦 = 𝐼)
8685fveq2d 6895 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑦 ∈ { 𝐼} → ((varFGrp𝐼)‘𝑦) = ((varFGrp𝐼)‘ 𝐼))
8786fveq2d 6895 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 ∈ { 𝐼} → (𝑓‘((varFGrp𝐼)‘𝑦)) = (𝑓‘((varFGrp𝐼)‘ 𝐼)))
8887oveq1d 7429 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 ∈ { 𝐼} → ((𝑓‘((varFGrp𝐼)‘𝑦))(.g𝐺)((varFGrp𝐼)‘ 𝐼)) = ((𝑓‘((varFGrp𝐼)‘ 𝐼))(.g𝐺)((varFGrp𝐼)‘ 𝐼)))
8988, 86eqeq12d 2743 . . . . . . . . . . . . . . . . . . . 20 (𝑦 ∈ { 𝐼} → (((𝑓‘((varFGrp𝐼)‘𝑦))(.g𝐺)((varFGrp𝐼)‘ 𝐼)) = ((varFGrp𝐼)‘𝑦) ↔ ((𝑓‘((varFGrp𝐼)‘ 𝐼))(.g𝐺)((varFGrp𝐼)‘ 𝐼)) = ((varFGrp𝐼)‘ 𝐼)))
9084, 89syl5ibrcom 246 . . . . . . . . . . . . . . . . . . 19 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → (𝑦 ∈ { 𝐼} → ((𝑓‘((varFGrp𝐼)‘𝑦))(.g𝐺)((varFGrp𝐼)‘ 𝐼)) = ((varFGrp𝐼)‘𝑦)))
9179, 90sylbid 239 . . . . . . . . . . . . . . . . . 18 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → (𝑦𝐼 → ((𝑓‘((varFGrp𝐼)‘𝑦))(.g𝐺)((varFGrp𝐼)‘ 𝐼)) = ((varFGrp𝐼)‘𝑦)))
9291imp 406 . . . . . . . . . . . . . . . . 17 (((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) ∧ 𝑦𝐼) → ((𝑓‘((varFGrp𝐼)‘𝑦))(.g𝐺)((varFGrp𝐼)‘ 𝐼)) = ((varFGrp𝐼)‘𝑦))
9392mpteq2dva 5242 . . . . . . . . . . . . . . . 16 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → (𝑦𝐼 ↦ ((𝑓‘((varFGrp𝐼)‘𝑦))(.g𝐺)((varFGrp𝐼)‘ 𝐼))) = (𝑦𝐼 ↦ ((varFGrp𝐼)‘𝑦)))
9463ffvelcdmda 7088 . . . . . . . . . . . . . . . . 17 (((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) ∧ 𝑦𝐼) → ((varFGrp𝐼)‘𝑦) ∈ (Base‘𝐺))
9563feqmptd 6961 . . . . . . . . . . . . . . . . 17 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → (varFGrp𝐼) = (𝑦𝐼 ↦ ((varFGrp𝐼)‘𝑦)))
96 eqidd 2728 . . . . . . . . . . . . . . . . 17 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → (𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))) = (𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))))
97 fveq2 6891 . . . . . . . . . . . . . . . . . 18 (𝑥 = ((varFGrp𝐼)‘𝑦) → (𝑓𝑥) = (𝑓‘((varFGrp𝐼)‘𝑦)))
9897oveq1d 7429 . . . . . . . . . . . . . . . . 17 (𝑥 = ((varFGrp𝐼)‘𝑦) → ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼)) = ((𝑓‘((varFGrp𝐼)‘𝑦))(.g𝐺)((varFGrp𝐼)‘ 𝐼)))
9994, 95, 96, 98fmptco 7132 . . . . . . . . . . . . . . . 16 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → ((𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))) ∘ (varFGrp𝐼)) = (𝑦𝐼 ↦ ((𝑓‘((varFGrp𝐼)‘𝑦))(.g𝐺)((varFGrp𝐼)‘ 𝐼))))
10093, 99, 953eqtr4d 2777 . . . . . . . . . . . . . . 15 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → ((𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))) ∘ (varFGrp𝐼)) = (varFGrp𝐼))
101 coeq1 5854 . . . . . . . . . . . . . . . . 17 (𝑔 = ( I ↾ (Base‘𝐺)) → (𝑔 ∘ (varFGrp𝐼)) = (( I ↾ (Base‘𝐺)) ∘ (varFGrp𝐼)))
102101eqeq1d 2729 . . . . . . . . . . . . . . . 16 (𝑔 = ( I ↾ (Base‘𝐺)) → ((𝑔 ∘ (varFGrp𝐼)) = (varFGrp𝐼) ↔ (( I ↾ (Base‘𝐺)) ∘ (varFGrp𝐼)) = (varFGrp𝐼)))
103 coeq1 5854 . . . . . . . . . . . . . . . . 17 (𝑔 = (𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))) → (𝑔 ∘ (varFGrp𝐼)) = ((𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))) ∘ (varFGrp𝐼)))
104103eqeq1d 2729 . . . . . . . . . . . . . . . 16 (𝑔 = (𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))) → ((𝑔 ∘ (varFGrp𝐼)) = (varFGrp𝐼) ↔ ((𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))) ∘ (varFGrp𝐼)) = (varFGrp𝐼)))
105102, 104rmoi 3881 . . . . . . . . . . . . . . 15 ((∃*𝑔 ∈ (𝐺 GrpHom 𝐺)(𝑔 ∘ (varFGrp𝐼)) = (varFGrp𝐼) ∧ (( I ↾ (Base‘𝐺)) ∈ (𝐺 GrpHom 𝐺) ∧ (( I ↾ (Base‘𝐺)) ∘ (varFGrp𝐼)) = (varFGrp𝐼)) ∧ ((𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))) ∈ (𝐺 GrpHom 𝐺) ∧ ((𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))) ∘ (varFGrp𝐼)) = (varFGrp𝐼))) → ( I ↾ (Base‘𝐺)) = (𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))))
10659, 62, 65, 77, 100, 105syl122anc 1377 . . . . . . . . . . . . . 14 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → ( I ↾ (Base‘𝐺)) = (𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))))
10754, 106eqtr3id 2781 . . . . . . . . . . . . 13 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → (𝑥 ∈ (Base‘𝐺) ↦ 𝑥) = (𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))))
108 mpteqb 7018 . . . . . . . . . . . . . 14 (∀𝑥 ∈ (Base‘𝐺)𝑥 ∈ (Base‘𝐺) → ((𝑥 ∈ (Base‘𝐺) ↦ 𝑥) = (𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))) ↔ ∀𝑥 ∈ (Base‘𝐺)𝑥 = ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))))
109 id 22 . . . . . . . . . . . . . 14 (𝑥 ∈ (Base‘𝐺) → 𝑥 ∈ (Base‘𝐺))
110108, 109mprg 3062 . . . . . . . . . . . . 13 ((𝑥 ∈ (Base‘𝐺) ↦ 𝑥) = (𝑥 ∈ (Base‘𝐺) ↦ ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))) ↔ ∀𝑥 ∈ (Base‘𝐺)𝑥 = ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼)))
111107, 110sylib 217 . . . . . . . . . . . 12 ((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → ∀𝑥 ∈ (Base‘𝐺)𝑥 = ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼)))
112111r19.21bi 3243 . . . . . . . . . . 11 (((𝐼 ≈ 1o ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) ∧ 𝑥 ∈ (Base‘𝐺)) → 𝑥 = ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼)))
113112an32s 651 . . . . . . . . . 10 (((𝐼 ≈ 1o𝑥 ∈ (Base‘𝐺)) ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → 𝑥 = ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼)))
11468rspceeqv 3629 . . . . . . . . . 10 (((𝑓𝑥) ∈ ℤ ∧ 𝑥 = ((𝑓𝑥)(.g𝐺)((varFGrp𝐼)‘ 𝐼))) → ∃𝑛 ∈ ℤ 𝑥 = (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼)))
11553, 113, 114syl2anc 583 . . . . . . . . 9 (((𝐼 ≈ 1o𝑥 ∈ (Base‘𝐺)) ∧ (𝑓 ∈ (𝐺 GrpHom ℤring) ∧ (𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1)) → ∃𝑛 ∈ ℤ 𝑥 = (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼)))
116115expr 456 . . . . . . . 8 (((𝐼 ≈ 1o𝑥 ∈ (Base‘𝐺)) ∧ 𝑓 ∈ (𝐺 GrpHom ℤring)) → ((𝑓‘((varFGrp𝐼)‘ 𝐼)) = 1 → ∃𝑛 ∈ ℤ 𝑥 = (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼))))
11749, 116syld 47 . . . . . . 7 (((𝐼 ≈ 1o𝑥 ∈ (Base‘𝐺)) ∧ 𝑓 ∈ (𝐺 GrpHom ℤring)) → ((𝑓 ∘ (varFGrp𝐼)) = {⟨ 𝐼, 1⟩} → ∃𝑛 ∈ ℤ 𝑥 = (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼))))
118117rexlimdva 3150 . . . . . 6 ((𝐼 ≈ 1o𝑥 ∈ (Base‘𝐺)) → (∃𝑓 ∈ (𝐺 GrpHom ℤring)(𝑓 ∘ (varFGrp𝐼)) = {⟨ 𝐼, 1⟩} → ∃𝑛 ∈ ℤ 𝑥 = (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼))))
11941, 118mpd 15 . . . . 5 ((𝐼 ≈ 1o𝑥 ∈ (Base‘𝐺)) → ∃𝑛 ∈ ℤ 𝑥 = (𝑛(.g𝐺)((varFGrp𝐼)‘ 𝐼)))
12016, 17, 21, 27, 119iscygd 19833 . . . 4 (𝐼 ≈ 1o𝐺 ∈ CycGrp)
12115, 120jaoi 856 . . 3 ((𝐼 ≺ 1o𝐼 ≈ 1o) → 𝐺 ∈ CycGrp)
1221, 121sylbi 216 . 2 (𝐼 ≼ 1o𝐺 ∈ CycGrp)
123 cygabl 19837 . . 3 (𝐺 ∈ CycGrp → 𝐺 ∈ Abel)
1243frgpnabl 19821 . . . . 5 (1o𝐼 → ¬ 𝐺 ∈ Abel)
125124con2i 139 . . . 4 (𝐺 ∈ Abel → ¬ 1o𝐼)
126 ablgrp 19731 . . . . . 6 (𝐺 ∈ Abel → 𝐺 ∈ Grp)
127 eqid 2727 . . . . . . 7 (0g𝐺) = (0g𝐺)
12816, 127grpidcl 18913 . . . . . 6 (𝐺 ∈ Grp → (0g𝐺) ∈ (Base‘𝐺))
1293, 16elbasfv 17177 . . . . . 6 ((0g𝐺) ∈ (Base‘𝐺) → 𝐼 ∈ V)
130126, 128, 1293syl 18 . . . . 5 (𝐺 ∈ Abel → 𝐼 ∈ V)
131 1onn 8654 . . . . . 6 1o ∈ ω
132 nnfi 9183 . . . . . 6 (1o ∈ ω → 1o ∈ Fin)
133131, 132ax-mp 5 . . . . 5 1o ∈ Fin
134 fidomtri2 10009 . . . . 5 ((𝐼 ∈ V ∧ 1o ∈ Fin) → (𝐼 ≼ 1o ↔ ¬ 1o𝐼))
135130, 133, 134sylancl 585 . . . 4 (𝐺 ∈ Abel → (𝐼 ≼ 1o ↔ ¬ 1o𝐼))
136125, 135mpbird 257 . . 3 (𝐺 ∈ Abel → 𝐼 ≼ 1o)
137123, 136syl 17 . 2 (𝐺 ∈ CycGrp → 𝐼 ≼ 1o)
138122, 137impbii 208 1 (𝐼 ≼ 1o𝐺 ∈ CycGrp)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 205  wa 395  wo 846   = wceq 1534  wcel 2099  wral 3056  wrex 3065  ∃!wreu 3369  ∃*wrmo 3370  Vcvv 3469  c0 4318  {csn 4624  cop 4630   cuni 4903   class class class wbr 5142  cmpt 5225   I cid 5569  cres 5674  ccom 5676  wf 6538  cfv 6542  (class class class)co 7414  ωcom 7864  1oc1o 8473  cen 8952  cdom 8953  csdm 8954  Fincfn 8955  1c1 11131  cz 12580  Basecbs 17171  0gc0g 17412  Grpcgrp 18881  .gcmg 19014   GrpHom cghm 19158   ~FG cefg 19652  freeGrpcfrgp 19653  varFGrpcvrgp 19654  Abelcabl 19727  CycGrpccyg 19823  ringczring 21359
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1790  ax-4 1804  ax-5 1906  ax-6 1964  ax-7 2004  ax-8 2101  ax-9 2109  ax-10 2130  ax-11 2147  ax-12 2164  ax-ext 2698  ax-rep 5279  ax-sep 5293  ax-nul 5300  ax-pow 5359  ax-pr 5423  ax-un 7734  ax-cnex 11186  ax-resscn 11187  ax-1cn 11188  ax-icn 11189  ax-addcl 11190  ax-addrcl 11191  ax-mulcl 11192  ax-mulrcl 11193  ax-mulcom 11194  ax-addass 11195  ax-mulass 11196  ax-distr 11197  ax-i2m1 11198  ax-1ne0 11199  ax-1rid 11200  ax-rnegex 11201  ax-rrecex 11202  ax-cnre 11203  ax-pre-lttri 11204  ax-pre-lttrn 11205  ax-pre-ltadd 11206  ax-pre-mulgt0 11207  ax-addf 11209
This theorem depends on definitions:  df-bi 206  df-an 396  df-or 847  df-3or 1086  df-3an 1087  df-tru 1537  df-fal 1547  df-ex 1775  df-nf 1779  df-sb 2061  df-mo 2529  df-eu 2558  df-clab 2705  df-cleq 2719  df-clel 2805  df-nfc 2880  df-ne 2936  df-nel 3042  df-ral 3057  df-rex 3066  df-rmo 3371  df-reu 3372  df-rab 3428  df-v 3471  df-sbc 3775  df-csb 3890  df-dif 3947  df-un 3949  df-in 3951  df-ss 3961  df-pss 3963  df-nul 4319  df-if 4525  df-pw 4600  df-sn 4625  df-pr 4627  df-tp 4629  df-op 4631  df-ot 4633  df-uni 4904  df-int 4945  df-iun 4993  df-iin 4994  df-br 5143  df-opab 5205  df-mpt 5226  df-tr 5260  df-id 5570  df-eprel 5576  df-po 5584  df-so 5585  df-fr 5627  df-we 5629  df-xp 5678  df-rel 5679  df-cnv 5680  df-co 5681  df-dm 5682  df-rn 5683  df-res 5684  df-ima 5685  df-pred 6299  df-ord 6366  df-on 6367  df-lim 6368  df-suc 6369  df-iota 6494  df-fun 6544  df-fn 6545  df-f 6546  df-f1 6547  df-fo 6548  df-f1o 6549  df-fv 6550  df-riota 7370  df-ov 7417  df-oprab 7418  df-mpo 7419  df-om 7865  df-1st 7987  df-2nd 7988  df-frecs 8280  df-wrecs 8311  df-recs 8385  df-rdg 8424  df-1o 8480  df-2o 8481  df-er 8718  df-ec 8720  df-qs 8724  df-map 8838  df-en 8956  df-dom 8957  df-sdom 8958  df-fin 8959  df-sup 9457  df-inf 9458  df-card 9954  df-pnf 11272  df-mnf 11273  df-xr 11274  df-ltxr 11275  df-le 11276  df-sub 11468  df-neg 11469  df-nn 12235  df-2 12297  df-3 12298  df-4 12299  df-5 12300  df-6 12301  df-7 12302  df-8 12303  df-9 12304  df-n0 12495  df-xnn0 12567  df-z 12581  df-dec 12700  df-uz 12845  df-rp 12999  df-fz 13509  df-fzo 13652  df-seq 13991  df-hash 14314  df-word 14489  df-lsw 14537  df-concat 14545  df-s1 14570  df-substr 14615  df-pfx 14645  df-splice 14724  df-reverse 14733  df-s2 14823  df-struct 17107  df-sets 17124  df-slot 17142  df-ndx 17154  df-base 17172  df-ress 17201  df-plusg 17237  df-mulr 17238  df-starv 17239  df-sca 17240  df-vsca 17241  df-ip 17242  df-tset 17243  df-ple 17244  df-ds 17246  df-unif 17247  df-0g 17414  df-gsum 17415  df-imas 17481  df-qus 17482  df-mgm 18591  df-sgrp 18670  df-mnd 18686  df-mhm 18731  df-submnd 18732  df-frmd 18792  df-vrmd 18793  df-grp 18884  df-minusg 18885  df-mulg 19015  df-subg 19069  df-ghm 19159  df-efg 19655  df-frgp 19656  df-vrgp 19657  df-cmn 19728  df-abl 19729  df-cyg 19824  df-mgp 20066  df-rng 20084  df-ur 20113  df-ring 20166  df-cring 20167  df-subrng 20472  df-subrg 20497  df-cnfld 21267  df-zring 21360
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator