Skip to content

Commit 3499a26

Browse files
Multramatetb65536
authored andcommitted
feat(NumberTheory/EllipticDivisibilitySequence): add elliptic nets (leanprover-community#25989)
This PR continues the work from leanprover-community#25030. Original PR: leanprover-community#25030 Co-authored-by: tb65536 <thomas.l.browning@gmail.com>
1 parent a332c44 commit 3499a26

2 files changed

Lines changed: 285 additions & 53 deletions

File tree

Mathlib/Data/Nat/DvdSequence.lean

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ lemma smul_dvd_smul [Monoid α] [Monoid β] [SMul α β] [IsScalarTower α β β
4040
def IsDvdSequence [Dvd α] [Dvd β] (f : α → β) : Prop :=
4141
∀ a b, a ∣ b → f a ∣ f b
4242

43+
@[deprecated (since := "2026-06-30")] alias IsDivSequence := IsDvdSequence
44+
4345
namespace IsDvdSequence
4446

4547
variable (α) in
@@ -55,17 +57,20 @@ protected theorem smul' [Dvd α] [Monoid β] [Monoid γ] {f : α → β} {g : α
5557
(hf : IsDvdSequence f) (hg : IsDvdSequence g) : IsDvdSequence (f • g) :=
5658
fun a b hab ↦ smul_dvd_smul (hf a b hab) (hg a b hab)
5759

58-
protected theorem mul [Dvd α] [CommMonoid β] {f g : α → β}
59-
(hf : IsDvdSequence f) (hg : IsDvdSequence g) : IsDvdSequence (f * g) :=
60+
protected theorem mul [Dvd α] [CommMonoid β] {f g : α → β} (hf : IsDvdSequence f)
61+
(hg : IsDvdSequence g) : IsDvdSequence (f * g) :=
6062
.smul' hf hg
6163

62-
protected theorem smul [Dvd α] [Monoid β] [Monoid γ] {f : α → γ} [SMul β γ]
63-
[IsScalarTower β γ γ] [IsScalarTower β β γ] [SMulCommClass β γ γ]
64-
(b : β) (hg : IsDvdSequence f) : IsDvdSequence (b • f) :=
64+
protected theorem smul [Dvd α] [Monoid β] [Monoid γ] {f : α → γ} [SMul β γ] [IsScalarTower β γ γ]
65+
[IsScalarTower β β γ] [SMulCommClass β γ γ] (b : β) (hg : IsDvdSequence f) :
66+
IsDvdSequence (b • f) :=
6567
.smul' (.const α b) hg
6668

6769
end IsDvdSequence
6870

71+
@[deprecated (since := "2026-06-30")] alias IsDivSequence.smul := IsDvdSequence.smul
72+
@[deprecated (since := "2026-06-30")] alias isDivSequence_id := IsDvdSequence.id
73+
6974
namespace Nat
7075

7176
/-- A function `f : ℕ → ℕ` is a strong divisibility sequence if `gcd (f a) (f b) = f (gcd a b)`. -/

0 commit comments

Comments
 (0)