Zulip Chat Archive
Stream: general
Topic: proving two zpowers are equal
Frederick Pu (Nov 13 2025 at 22:21):
Is there anything in mathlib proving the following statement about cyclic subgroups?
hy'x : y ∈ Subgroup.zpowers x
this : orderOf x = orderOf y
⊢ Subgroup.zpowers y = Subgroup.zpowers x
Kenny Lau (Nov 13 2025 at 22:25):
Frederick Pu (Nov 13 2025 at 22:26):
for finite groups i mean
Frederick Pu (Nov 13 2025 at 22:26):
so Subgroup.zpowers x and Subgroup.zpowers y are isomorphic
Frederick Pu (Nov 13 2025 at 22:26):
and you know that y must go to x or x^-1
Kenny Lau (Nov 13 2025 at 22:36):
Frederick Pu said:
and you know that
ymust go toxorx^-1
Aaron Liu (Nov 13 2025 at 22:37):
I think the statement is still true (for finite groups) but it's definitely not that simple
Frederick Pu (Nov 13 2025 at 22:38):
i think it's just double inclusion
Aaron Liu (Nov 13 2025 at 22:38):
x could be any n-th power of y for n coprime to the order of x and y
Frederick Pu (Nov 13 2025 at 22:38):
since y \in zpowers x, zpowers y \subseteq zpowers x
Frederick Pu (Nov 13 2025 at 22:39):
so use the lemma that if H \subseteq K and |H| = |K| then H = K for finite groups
Kenny Lau (Nov 13 2025 at 22:40):
great, now you have a proof
Frederick Pu (Nov 13 2025 at 22:41):
but is it in mathlib tho
Frederick Pu (Nov 13 2025 at 22:41):
i feel like it would be convenient
Aaron Liu (Nov 13 2025 at 22:43):
I don't see it in my searches but you can use the proof you have and prove it yourself
Frederick Pu (Nov 13 2025 at 22:52):
:(
Frederick Pu (Nov 13 2025 at 22:52):
my assignments due in like 5 hours i think ill just accept that it's true lol
Aaron Liu (Nov 13 2025 at 23:06):
Surely it won't take five whole hours for such a simple proof?
Frederick Pu (Nov 13 2025 at 23:08):
i mean i have other parts of my main proof i havent finished yet
Aaron Liu (Nov 13 2025 at 23:13):
here you can have this
import Mathlib
example {G : Type*} [Group G] [Finite G] {x y : G}
(hy'x : y ∈ Subgroup.zpowers x)
(this : orderOf x = orderOf y) :
Subgroup.zpowers y = Subgroup.zpowers x := by
refine SetLike.coe_injective (Set.eq_of_subset_of_ncard_le ?_ (le_of_eq ?_))
· simpa using hy'x
· rw [Set.ncard_eq_toFinset_card, Set.ncard_eq_toFinset_card]
apply Finset.card_eq_of_equiv
simpa using zpowersEquivZPowers this
Frederick Pu (Nov 13 2025 at 23:57):
also what about smth like this?
this✝ : Subgroup.zpowers x < ⊤
this : Subgroup.zpowers x ≠ ⊥
⊢ ∃ y, y ∉ Subgroup.zpowers x
Ruben Van de Velde (Nov 14 2025 at 00:05):
docs#SetLike.exists_not_mem_of_ne_top ?
Frederick Pu (Nov 14 2025 at 00:10):
hmm im not 4.25 but i cant find that one
Ruben Van de Velde (Nov 14 2025 at 00:15):
Yeah, I believe it's pretty new. You can copy it, though
Ruben Van de Velde (Nov 14 2025 at 00:15):
docs#Set.ne_univ_iff_exists_notMem is the essential element
Aaron Liu (Nov 14 2025 at 00:25):
Ruben Van de Velde said:
Didn't we switch over to calling it notMem a while ago
Last updated: Dec 20 2025 at 21:32 UTC