Class transpositions of the integers
DefinitionResidue class#✓fully proved
For integers \(r\) and \(m\), the residue class \(r(m)\) is the set \(\{x \in \mathbb{Z} : x \equiv r \pmod{m}\} = \{r + k m : k \in \mathbb{Z}\}\).
def resClass (r m : ℤ) : Set ℤ := {x | x ≡ r [ZMOD m]}
Used by 1
DefinitionClass transposition of two residue classes#✓fully proved
For integers \(r_1, m_1, r_2, m_2\), write \(r_1(m_1) = r_1 + m_1\mathbb{Z}\) and \(r_2(m_2) = r_2 + m_2\mathbb{Z}\) for the residue classes. A permutation \(\sigma\) of \(\mathbb{Z}\) is the class transposition \(\tau_{r_1(m_1), r_2(m_2)}\) when \(0 \le r_1 < m_1\) and \(0 \le r_2 < m_2\), the residue classes \(r_1(m_1)\) and \(r_2(m_2)\) are disjoint, \(\sigma\) interchanges \(r_1 + k m_1\) and \(r_2 + k m_2\) for every integer \(k\), and \(\sigma\) fixes every integer outside \(r_1(m_1) \cup r_2(m_2)\).
This is the definition of class transpositions in Kourovka Problem 17.57.
def IsClassTrans (σ : Equiv.Perm ℤ) (r₁ m₁ r₂ m₂ : ℤ) : Prop :=
0 ≤ r₁ ∧ r₁ < m₁ ∧ 0 ≤ r₂ ∧ r₂ < m₂ ∧ 0 < m₁ ∧ 0 < m₂ ∧
Disjoint (resClass r₁ m₁) (resClass r₂ m₂) ∧
(∀ k : ℤ, σ (r₁ + k * m₁) = r₂ + k * m₂ ∧ σ (r₂ + k * m₂) = r₁ + k * m₁) ∧
∀ x : ℤ, x ∉ resClass r₁ m₁ → x ∉ resClass r₂ m₂ → σ x = x
def resClass (r m : ℤ) : Set ℤ := {x | x ≡ r [ZMOD m]}
WantedExt/GroupTheory/ClassTranspositionProductOrdersKourovka18Problem48Wanted.lean:40
Uses 1 · Used by 1
DefinitionClass transpositions of the integers#✓fully proved
A permutation \(\sigma\) of \(\mathbb{Z}\) is a class transposition when it is the class transposition \(\tau_{r_1(m_1), r_2(m_2)}\) for some integers \(r_1, m_1, r_2, m_2\).
def IsClassTransposition (σ : Equiv.Perm ℤ) : Prop :=
∃ r₁ m₁ r₂ m₂ : ℤ, IsClassTrans σ r₁ m₁ r₂ m₂
def IsClassTrans (σ : Equiv.Perm ℤ) (r₁ m₁ r₂ m₂ : ℤ) : Prop :=
0 ≤ r₁ ∧ r₁ < m₁ ∧ 0 ≤ r₂ ∧ r₂ < m₂ ∧ 0 < m₁ ∧ 0 < m₂ ∧
Disjoint (resClass r₁ m₁) (resClass r₂ m₂) ∧
(∀ k : ℤ, σ (r₁ + k * m₁) = r₂ + k * m₂ ∧ σ (r₂ + k * m₂) = r₁ + k * m₁) ∧
∀ x : ℤ, x ∉ resClass r₁ m₁ → x ∉ resClass r₂ m₂ → σ x = x
WantedExt/GroupTheory/ClassTranspositionProductOrdersKourovka18Problem48Wanted.lean:45
Uses 1 · Used by 1
DefinitionClaim of Kourovka Problem 18.48#✓fully proved
Only finitely many positive integers occur as orders of products \(\sigma\tau\) of two class transpositions \(\sigma\) and \(\tau\) of \(\mathbb{Z}\).
def classTranspositionProductOrdersFinite : Prop :=
{k : ℕ | 0 < k ∧ ∃ σ τ : Equiv.Perm ℤ, IsClassTransposition σ ∧ IsClassTransposition τ ∧
orderOf (σ * τ) = k}.Finite
def IsClassTransposition (σ : Equiv.Perm ℤ) : Prop :=
∃ r₁ m₁ r₂ m₂ : ℤ, IsClassTrans σ r₁ m₁ r₂ m₂
WantedExt/GroupTheory/ClassTranspositionProductOrdersKourovka18Problem48Wanted.lean:52
Uses 1 · Used by 1
TheoremProducts of two class transpositions have only finitely many orders#●ready to prove
The claim of Kourovka Problem 18.48 holds: the set of positive integers \(k\) such that \(\sigma\tau\) has order \(k\) for some class transpositions \(\sigma\) and \(\tau\) of \(\mathbb{Z}\) is finite.
Iskra (2026), accepted in the Kourovka Notebook (21st issue), proves that every finite order of a product of two class transpositions divides \(840\).
public theorem_wanted classTranspositionProductOrdersFinite_holds :
classTranspositionProductOrdersFinite
def classTranspositionProductOrdersFinite : Prop :=
{k : ℕ | 0 < k ∧ ∃ σ τ : Equiv.Perm ℤ, IsClassTransposition σ ∧ IsClassTransposition τ ∧
orderOf (σ * τ) = k}.Finite
WantedExt/GroupTheory/ClassTranspositionProductOrdersKourovka18Problem48Wanted.lean:57
Sources
- E. I. Khukhro and V. D. Mazurov (eds.), Unsolved Problems in Group Theory: The Kourovka Notebook, 21st issue, arXiv:1401.0300v49 (2026), Problem 18.48 (S. Kohl); resolution: A. Iskra, Finite orders of products of two class transpositions divide 840, preprint, arXiv:2610.01793 (2026), abstract: if the product of two class transpositions has finite order, then its order divides 840 (sharp); this answers Question 18.48 affirmatively, as the Kourovka Notebook (21st issue) records, https://arxiv.org/abs/2610.01793.
Uses 1
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.