Skip to content

Commit 4f7183f

Browse files
committed
chore(GroupTheory): deduplicate RootableBy.surjective_pow (#38252)
[pow_left_surj_of_rootableBy](https://leanprover-community.github.io/mathlib4_docs/Mathlib/GroupTheory/Divisible.html#pow_left_surj_of_rootableBy) and [RootableBy.surjective_pow](https://leanprover-community.github.io/mathlib4_docs/Mathlib/GroupTheory/Divisible.html#RootableBy.surjective_pow) have the same statement, so this PR deprecates one of them. I kept the one with better naming (`surj` is not a widely used abbrev)
1 parent b80f227 commit 4f7183f

1 file changed

Lines changed: 9 additions & 8 deletions

File tree

Mathlib/GroupTheory/Divisible.lean

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,17 @@ class RootableBy where
110110
root_zero : ∀ a, root a 0 = 1
111111
root_cancel : ∀ {n : α} (a : A), n ≠ 0 → root a n ^ n = a
112112

113-
@[to_additive smul_right_surj_of_divisibleBy]
114-
theorem pow_left_surj_of_rootableBy [RootableBy A α] {n : α} (hn : n ≠ 0) :
115-
Function.Surjective (fun a => a ^ n : A → A) := fun x =>
113+
@[to_additive DivisibleBy.surjective_smul]
114+
theorem RootableBy.surjective_pow [RootableBy A α] {n : α} (hn : n ≠ 0) :
115+
Function.Surjective fun a : A => a ^ n := fun x =>
116116
⟨RootableBy.root x n, RootableBy.root_cancel _ hn⟩
117117

118+
@[deprecated (since := "2026-04-19")] alias pow_left_surj_of_rootableBy :=
119+
RootableBy.surjective_pow
120+
121+
@[deprecated (since := "2026-04-19")] alias smul_right_surj_of_divisibleBy :=
122+
DivisibleBy.surjective_smul
123+
118124
/--
119125
A `Monoid A` is `α`-rootable iff the `pow _ n` function is surjective, i.e. the constructive version
120126
implies the textbook approach.
@@ -252,11 +258,6 @@ noncomputable def Function.Surjective.rootableBy (hf : Function.Surjective f)
252258
⟨f <| RootableBy.root y n,
253259
(by rw [← hpow (RootableBy.root y n) n, RootableBy.root_cancel _ hn, hy] : _ ^ n = x)⟩
254260

255-
@[to_additive DivisibleBy.surjective_smul]
256-
theorem RootableBy.surjective_pow (A α : Type*) [Monoid A] [Pow A α] [Zero α] [RootableBy A α]
257-
{n : α} (hn : n ≠ 0) : Function.Surjective fun a : A => a ^ n := fun a =>
258-
⟨RootableBy.root a n, RootableBy.root_cancel a hn⟩
259-
260261
end Hom
261262

262263
section Quotient

0 commit comments

Comments
 (0)