Zulip Chat Archive
Stream: new members
Topic: group problem
BANGJI HU (Jul 11 2024 at 16:11):
import Mathlib.Algebra.Group.Basic
import Mathlib.Algebra.Group.Defs
import Mathlib
example {G:Type} [Group G] {g:G}:oderOf g=1↔g=1:=by
constructor
intro h
rw[← @orderOf_eq_one_iff]
BANGJI HU (Jul 11 2024 at 16:12):
why does assumption doesnt work
Johan Commelin (Jul 11 2024 at 16:18):
Please post a #mwe
Edward van de Meent (Jul 11 2024 at 16:24):
the answer is that you're misspelling orderOf g
as oderOfg
BANGJI HU (Jul 11 2024 at 16:56):
import Mathlib.Algebra.Group.Basic
import Mathlib.Algebra.Group.Defs
import Mathlib
example {G:Type} [Group G] {g:G}:oder Of g=1↔g=1:=by
constructor
intro h
rw[← @orderOf_eq_one_iff]
Edward van de Meent (Jul 11 2024 at 17:24):
you're still misspelling it... note the second r
and lack of space in orderOf
. here is the fixed version:
import Mathlib.GroupTheory.OrderOfElement
example {G:Type} [Group G] {g:G}: orderOf g=1↔g=1:=by
constructor
. intro h
rw[← orderOf_eq_one_iff]
assumption
sorry
BANGJI HU (Jul 12 2024 at 02:36):
import Mathlib.GroupTheory.OrderOfElement
example {G : Type*} [Group G] {a b c:G} : oderOf (a* b* c)=oderOf (b*c*a) :=by
BANGJI HU (Jul 12 2024 at 02:37):
expected type?
Notification Bot (Jul 12 2024 at 03:41):
2 messages were moved here from #new members > group by Johan Commelin.
Johan Commelin (Jul 12 2024 at 03:43):
@hand bob Please
- Do not post your messages in random threads but start a new appropriate thread
- Write
orderOf
instead ofoderOf
. This mistake has been pointed out before - Give more details about what exactly your question is. Where are you stuck? What have you tried? "expected type?" is not a question.
BANGJI HU (Jul 12 2024 at 04:46):
what do you mean by start a new appropriate thread,and sorry i am chiness just afresh
BANGJI HU (Jul 12 2024 at 09:28):
i want to prove that let a be an element of a group G.prove ord(a)=1 iff a=1
Edward van de Meent (Jul 12 2024 at 09:34):
did this not help?
BANGJI HU (Jul 12 2024 at 09:37):
import Mathlib.Tactic
import Mathlib.Algebra.Group.Basic
import Mathlib.Algebra.Group.Defs
import Mathlib.GroupTheory.OrderOfElement
example {G:Type} [Group G] {m n:ℕ}{a b :G}: orderOf a=orderOf (b*a*b⁻¹):=by
let n :=orderOf a
have : aⁿ=1 :=by sorry
have : b*aⁿn*b⁻¹=b*1*b⁻¹ :=by sorry
have : b*aⁿ*b⁻¹=1 :=by sorry
calc (b*a*b⁻¹)ⁿ=b*aⁿ*b⁻¹ :=by sorry
have :orderOf (b*a*b⁻¹)=n :=by sorry
Daniel Weber (Jul 12 2024 at 09:39):
There's no ⁿ
notation - you need to write a ^ n = 1
.
BANGJI HU (Jul 12 2024 at 09:42):
i just want to step by step to proof
Edward van de Meent (Jul 12 2024 at 09:49):
import Mathlib.Tactic
import Mathlib.Algebra.Group.Basic
import Mathlib.Algebra.Group.Defs
import Mathlib.GroupTheory.OrderOfElement
lemma orderOf_eq_of_Semiconjby {G:Type} [Group G] (a:G) {x y :G} (h : SemiconjBy a x y) :
orderOf x = orderOf y := by
rw [orderOf_eq_orderOf_iff]
intro n
have : a * (x ^ n) * a⁻¹ = (y^n) := by calc
a * x ^ n * a⁻¹
= (a * x * a⁻¹) ^ n := by rw [conj_pow]
_ = (y * a * a⁻¹) ^ n := by rw [h.eq]
_ = y ^ n := by rw [mul_inv_cancel_right]
rw [← this]
rw [conj_eq_one_iff]
example {G:Type} [Group G] {m n:ℕ}{a b :G}: orderOf a=orderOf (b*a*b⁻¹):=by
apply orderOf_eq_of_Semiconjby b
exact SemiconjBy.conj_mk b a
Ruben Van de Velde (Jul 12 2024 at 10:00):
With another lemma:
import Mathlib.GroupTheory.OrderOfElement
variable {G:Type*} [Group G] (a:G) {x y :G} (h : SemiconjBy a x y)
lemma SemiconjBy.eq_one_iff : x = 1 ↔ y = 1 := by
rw [← conj_eq_one_iff (a := a) (b := x), h.eq, mul_inv_cancel_right]
#find_home SemiconjBy.eq_one_iff -- Mathlib.Algebra.Group.Semiconj.Basic
lemma SemiconjBy.orderOf_eq : orderOf x = orderOf y := by
rw [orderOf_eq_orderOf_iff]
intro n
exact (h.pow_right n).eq_one_iff
#find_home! SemiconjBy.orderOf_eq -- Mathlib.GroupTheory.OrderOfElement
example {G:Type} [Group G] {m n:ℕ}{a b :G}: orderOf a=orderOf (b*a*b⁻¹):=
SemiconjBy.conj_mk b a |>.orderOf_eq
Ruben Van de Velde (Jul 12 2024 at 10:02):
@Edward van de Meent , do you want to PR those two lemmas to mathlib?
Ralf Stephan (Jul 12 2024 at 10:52):
(deleted)
Edward van de Meent (Jul 12 2024 at 10:53):
Ruben Van de Velde said:
Edward van de Meent , do you want to PR those two lemmas to mathlib?
Edward van de Meent (Jul 12 2024 at 10:54):
ah, should these lemmas be protected
?
Ruben Van de Velde (Jul 12 2024 at 10:59):
Maybe?
Notification Bot (Jul 12 2024 at 12:11):
Eric Wieser has marked this topic as unresolved.
Eric Wieser (Jul 12 2024 at 12:11):
Edward van de Meent said:
did this not help?
@hand bob, I've merged your repeated questions into a single thread, because I think they're all the same question
Notification Bot (Jul 12 2024 at 14:01):
hand bob has marked this topic as resolved.
Notification Bot (Jul 17 2024 at 03:28):
hand bob has marked this topic as unresolved.
BANGJI HU (Jul 17 2024 at 03:30):
import Mathlib.Algebra.Group.Basic
import Mathlib.Algebra.Group.Defs
import Mathlib
import Mathlib.Tactic
open Set
open Subgroup MonoidHom
open Subgroup
theorem eqord3 {G : Type*} [Group G] (a b: G)(h:orderOf a =2 ): (∀ b:G,orderOf (b⁻¹ * a * b)=2)
:=by
BANGJI HU (Jul 17 2024 at 03:32):
Special cases are more difficult than ordinary ones
Last updated: May 02 2025 at 03:31 UTC