Skip to content

Conversation

@vikasprajapati-01
Copy link
Contributor

@vikasprajapati-01 vikasprajapati-01 commented Feb 6, 2026

Summary

  • add a Lean statement for Kourovka Notebook Problem 2.24 on orderability of torsion-free Engel groups.
  • define iterated commutator, Engel, torsion-free, and orderable predicates.
  • tag the open problem with category and AMS codes.

Tested using lake build and it was successfull.

Solves #2017


variable (G : Type*) [Group G]

/-- The `n`-fold iterated commutator `[x,_n y]`. -/
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use LaTeX formatting for docstrings

variable (G : Type*) [Group G]

/-- The $n$-fold iterated commutator $[x,_n y]$. -/
def commutator_n (x y : G) : ℕ → G
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This, as well as Torsion free groups (and most likely orderable groups) is in mathlib, dont define it yourself.

*Reference:* Kourovka Notebook, Problem 2.24.

Does every torsion-free Engel group admit a bi-invariant linear order? The question is intertwined
with Plotkin's conjecture on the local nilpotence of Engel groups: a positive answer to Plotkin's
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Formaluse the connection with research solved tag

@vikasprajapati-01
Copy link
Contributor Author

Thanks for the review @felixpernegger
I switched the torsion-free assumption to mathlib’s Monoid.IsTorsionFree (refered : https://leanprover-community.github.io/mathlib4_docs/Mathlib/GroupTheory/Torsion.html ) and marked the problem with @[category research solved, AMS 20] as requested. I couldn’t find mathlib predicates for Engel groups or bi-invariant orderable groups. If you can point me to them, I’ll swap those in too.

@felixpernegger
Copy link
Collaborator

Another thing, do you (you!) understand what the problem is about and not just copy fron some LLM?

@vikasprajapati-01
Copy link
Contributor Author

vikasprajapati-01 commented Feb 7, 2026

Another thing, do you (you!) understand what the problem is about and not just copy fron some LLM?

What i have understood is that the goal here is to formalize the statement, and in this particular issue we have to check if a group has no torsion and whether we can get identity element by repeated commutators of any 2 elements.

Actually i am new to lean, so i am referring the documentations to learn more and solve the issue not LLM.

But If you still think the PR needs a lot of work, then i would be happy to close this PR for now. So that i can learn more about formal conjectures and lean and raise the PR later.

@felixpernegger
Copy link
Collaborator

nice, this is just a very common occurence in this repo, so I asked


Does every torsion-free Engel group admit a bi-invariant linear order?
-/
@[category research solved, AMS 20]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What I actually meant: The conjecture should be under research open, but there should be a sperate statemnt (with sorry as proof), that the conjecture implies the other one (as you write on top of the file). This should be tagged with research solved.
There are many examples for this in the repository, maybe take a look at a few of them to get a sense for this

@[category research solved, AMS 20]
theorem kourovka_problem_2_24 :
answer(sorry) ↔
∀ (H : Type*) [Group H], IsEngel H → Monoid.IsTorsionFree H → IsOrderable H := by
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
∀ (H : Type*) [Group H], IsEngel H → Monoid.IsTorsionFree H → IsOrderable H := by
∀ (H : Type) [Group H], IsEngel H → Monoid.IsTorsionFree H → IsOrderable H := by

variable (G : Type*) [Group G]

/-- The $n$-fold iterated commutator $[x,_n y]$. -/
def commutator_n (x y : G) : ℕ → G
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commutator also exists in mathlib, under commutator. For the beginning, I recommend you to use the website leansearch.net (there are also some alternatives, say if you wanna know more) to find definitions and theorems in mathlib.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the website (leansearch.net), this is really great. Now i am able to easily find the theorems in Mathlilb4.

z * y * z⁻¹ * y⁻¹

/-- An Engel group: every pair of elements has some iterated commutator equal to the identity. -/
def IsEngel : Prop :=
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is also LieAlgebra.IsEngelian in mathlib, but I doubt this is applicable here, so this is likely fine

∀ x y : G, ∃ n : ℕ, commutator_n (G := G) x y n = 1

/-- A group is orderable if it admits a bi-invariant strict total order. -/
def IsOrderable : Prop :=
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MulRightStrictMono and MulLeftStrictMono make this redundant.

@vikasprajapati-01
Copy link
Contributor Author

Changes are :

  • Main statement is tagged research open.
  • The implication “Plotkin ⇒ orderability” is a separate research solved lemma.
  • commutator_n now uses mathlib’s element commutator notation ⁅·, ·⁆ (open scoped Group).
  • Orderability uses MulLeftStrictMono/MulRightStrictMono.
  • torsion-free uses IsMulTorsionFree.
  • IsLocallyNilpotent is still a placeholder True (I can strengthen it to “every finitely generated subgroup is nilpotent” if you prefer).
  • I also kept PlotkinConjecture as a named def (happy to inline that assumption instead).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants