Skip to content

Commit c27dae6

Browse files
committed
feat(NumberTheory/FactorizationProperties): add positivity lemmas (leanprover-community#40562)
This PR proves the basic fact that abundant, deficient, and weird numbers are positive. This was done as a part of Project Numina's LeanTriathlon project with the help of AI (Claude Code and Numina's lean agent)
1 parent 8ade642 commit c27dae6

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

Mathlib/NumberTheory/FactorisationProperties.lean

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ theorem not_pseudoperfect_iff_forall :
8181
¬ Pseudoperfect n ↔ n = 0 ∨ ∀ s ⊆ properDivisors n, ∑ i ∈ s, i ≠ n := by
8282
grind [Pseudoperfect]
8383

84+
theorem not_deficient_zero : ¬ Deficient 0 := by
85+
decide
86+
8487
theorem deficient_one : Deficient 1 := by
8588
decide
8689

@@ -96,9 +99,21 @@ theorem not_abundant_zero : ¬ Abundant 0 := by
9699
theorem abundant_twelve : Abundant 12 := by
97100
decide
98101

102+
theorem not_weird_zero : ¬ Weird 0 := by
103+
decide
104+
99105
theorem weird_seventy : Weird 70 := by
100106
decide +kernel
101107

108+
lemma Deficient.pos (h : Deficient n) : 0 < n := by
109+
grind only [not_deficient_zero]
110+
111+
lemma Abundant.pos (h : Abundant n) : 0 < n := by
112+
grind only [not_abundant_zero]
113+
114+
lemma Weird.pos (h : Weird n) : 0 < n := by
115+
grind only [not_weird_zero]
116+
102117
lemma deficient_iff_not_abundant_and_not_perfect (hn : n ≠ 0) :
103118
Deficient n ↔ ¬ Abundant n ∧ ¬ Perfect n := by
104119
grind [Perfect, Abundant, Deficient]

0 commit comments

Comments
 (0)