FormalConjectures/OEIS/63880.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1
19 declarations, 3 contain sorry, 0 declared as axioms
Conjectures associated with A063880
A063880 lists numbers $n$ such that $\sigma(n) = 2 \cdot \text{usigma}(n)$, where $\sigma(n)$ is the sum of all divisors and $\text{usigma}(n)$ is the sum of unitary divisors.
Equivalently, these are numbers whose unitary and non-unitary divisors have equal sum.
The conjectures state that all members satisfy $n \equiv 108 \pmod{216}$, and that all primitive terms (those whose proper divisors aren't in the sequence) are powerful numbers, with $108$ being the only primitive term.
References:
Imports (1)
Imported by 2 files
- def
OeisA63880.unitaryDivisorsThe set of unitary divisors of $n$: divisors $d$ such that $\gcd(d, n/d) = 1$ line 43 sourceSource documentation
The set of unitary divisors of $n$: divisors $d$ such that $\gcd(d, n/d) = 1$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,FinsetProof uses:
Finset.filter,Nat.Coprime,HDiv.hDiv,Nat.divisors3 instances, coercions and auxiliary constants left out.
def unitaryDivisors (n : ℕ) : Finset ℕ := …
- def
OeisA63880.usigmaThe sum of unitary divisors of $n$, denoted $\text{usigma}(n)$ line 47 sourceSource documentation
The sum of unitary divisors of $n$, denoted $\text{usigma}(n)$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
Finset.sum, OeisA63880.unitaryDivisors1 instances, coercions and auxiliary constants left out.
def usigma (n : ℕ) : ℕ := …
- def
OeisA63880.AA number $n$ is in the sequence A063880 if $\sigma(n) = 2 \cdot \text{usigma}(n)$ line 51 sourceSource documentation
A number $n$ is in the sequence A063880 if $\sigma(n) = 2 \cdot \text{usigma}(n)$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
And,LT.lt,OfNat.ofNat,Eq,ArithmeticFunction,ArithmeticFunction.sigma,HMul.hMul, OeisA63880.usigma8 instances, coercions and auxiliary constants left out.
def A (n : ℕ) : Prop := …
- abbrev
OeisA63880.IsPrimitiveTermA term $n$ is primitive if no proper divisor of $n$ is in the sequence line 55 sourceSource documentation
A term $n$ is primitive if no proper divisor of $n$ is in the sequence.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses: Set.IsPrimitive,
Set.ofPred, OeisA63880.Aabbrev IsPrimitiveTerm (n : ℕ) : Prop := {n | A n}.IsPrimitive n …Mentions: OeisA63880.A
- theorem
OeisA63880.a_108$108$ is in the sequence A063880 line 59 sourceSource documentation
$108$ is in the sequence A063880.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: OeisA63880.A,
OfNat.ofNat,NatProof uses:
And.intro,LT.lt,Eq,ArithmeticFunction,ArithmeticFunction.sigma,HMul.hMul, OeisA63880.usigma,Mathlib.Meta.NormNum.isNat_lt_true,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Bool,Bool.false,of_decide_eq_true,id,Decidable.decide,Bool.true18 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
theorem a_108 : A 108 := by …
Mentions: OeisA63880.A
- theorem
OeisA63880.a_540$540$ is in the sequence A063880 line 65 sourceSource documentation
$540$ is in the sequence A063880.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: OeisA63880.A,
OfNat.ofNat,NatProof uses:
And.intro,LT.lt,Eq,ArithmeticFunction,ArithmeticFunction.sigma,HMul.hMul, OeisA63880.usigma,Mathlib.Meta.NormNum.isNat_lt_true,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Bool,Bool.false,of_decide_eq_true,id,Decidable.decide,Bool.true18 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
theorem a_540 : A 540 := by …
Mentions: OeisA63880.A
- theorem
OeisA63880.a_756$756$ is in the sequence A063880 line 71 sourceSource documentation
$756$ is in the sequence A063880.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: OeisA63880.A,
OfNat.ofNat,NatProof uses:
And.intro,LT.lt,Eq,ArithmeticFunction,ArithmeticFunction.sigma,HMul.hMul, OeisA63880.usigma,Mathlib.Meta.NormNum.isNat_lt_true,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Bool,Bool.false,of_decide_eq_true,id,Decidable.decide,Bool.true18 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
theorem a_756 : A 756 := by …
Mentions: OeisA63880.A
- theorem
OeisA63880.isPrimitiveTerm_108$108$ is a primitive term line 77 sourceSource documentation
$108$ is a primitive term.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: OeisA63880.IsPrimitiveTerm,
OfNat.ofNat,NatProof uses:
Eq.mpr, Set.IsPrimitive,Set.ofPred, OeisA63880.A,id,Eq,congrArg,OeisA63880.IsPrimitiveTerm.eq_1,And,Membership.mem,Set,Finset,Nat.properDivisors,Not,propext, Set.isPrimitive_iff,And.intro, OeisA63880.a_108,Dvd.dvd,LT.ltand 33 more61 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
theorem isPrimitiveTerm_108 : IsPrimitiveTerm 108 := by …
Mentions: OeisA63880.IsPrimitiveTerm
- theorem
OeisA63880.mod_216_of_aAll members of the sequence satisfy $n \equiv 108 \pmod{216}$ sorry line 86 sourceSource documentation
All members of the sequence satisfy $n \equiv 108 \pmod{216}$.
depends on sorry what this means
Statement uses:
Nat, OeisA63880.A,Eq,HMod.hMod,OfNat.ofNatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous6 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem mod_216_of_a {n : ℕ} (h : A n) : n % 216 = 108 := by …Mentions: OeisA63880.A
- theorem
OeisA63880.unitaryDivisors_mul_primeThe unitary divisors ofm * p, for a primepnot dividingm > 0, are the unitary divisors ofmand their multiples bypline 92 sourceSource documentation
The unitary divisors of
m * p, for a primepnot dividingm > 0, are the unitary divisors ofmand their multiples byp.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat,Nat.Prime,Not,Dvd.dvd,Eq,Finset, OeisA63880.unitaryDivisors,HMul.hMul,Union.union,Finset.imageProof uses:
Nat.Prime.pos,Nat.Coprime,Iff.mpr,Nat.Prime.coprime_iff_not_dvd,Finset.ext,Eq.mpr,Iff,Membership.mem,And,Ne,HDiv.hDiv,Or,Exists,id,congr,congrArg,Eq.trans,Finset.filter,Nat.divisors,congrFun'and 32 more44 instances, coercions and auxiliary constants left out.
Tactic trace: 48 steps
Open to load the checked before-and-after goal states.
theorem unitaryDivisors_mul_prime {m p : ℕ} (hm : 0 < m) (hp : p.Prime) (hpm : ¬ p ∣ m) : unitaryDivisors (m * p) = unitaryDivisors m ∪ (unitaryDivisors m).image (· * p) := by …Mentions: OeisA63880.unitaryDivisors
- theorem
OeisA63880.usigma_mul_primeusigmais multiplicative at a prime not dividing the argument line 142 sourceSource documentation
usigmais multiplicative at a prime not dividing the argument.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat,Nat.Prime,Not,Dvd.dvd,Eq, OeisA63880.usigma,HMul.hMul,HAdd.hAddProof uses:
Disjoint,Finset, OeisA63880.unitaryDivisors,Finset.image,Eq.mpr,Membership.mem,id,congrArg,propext,Finset.disjoint_left,And,Exists,False,Iff.mp,Finset.mem_image,And.left,Ne,Nat.divisors,Nat.mem_divisors,Nat.Coprimeand 19 more51 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
theorem usigma_mul_prime {m p : ℕ} (hm : 0 < m) (hp : p.Prime) (hpm : ¬ p ∣ m) : usigma (m * p) = usigma m * (p + 1) := by …Mentions: OeisA63880.usigma
- theorem
OeisA63880.sigma_mul_primeσis multiplicative at a prime not dividing the argument line 157 sourceSource documentation
σis multiplicative at a prime not dividing the argument.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Nat.Prime,Not,Dvd.dvd,Eq,ArithmeticFunction,ArithmeticFunction.sigma,OfNat.ofNat,HMul.hMul,HAdd.hAddProof uses:
HPow.hPow,Finset.sum,Finset.range,ArithmeticFunction.sigma_one_apply_prime_pow,Decidable.byContradiction,Eq.mp,congr,congrArg,pow_one,Eq.trans,Finset.sum_range_succ,Singleton.singleton,Finset,Finset.sum_singleton,pow_zero,Eq.mpr,id,ArithmeticFunction.IsMultiplicative.map_mul_of_coprime,ArithmeticFunction.isMultiplicative_sigma,Nat.Coprime.symmand 4 more40 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
theorem sigma_mul_prime {m p : ℕ} (hp : p.Prime) (hpm : ¬ p ∣ m) : σ 1 (m * p) = σ 1 m * (p + 1) := by … - theorem
OeisA63880.A_mul_primeMembership in the sequence is preserved by multiplying with a prime not dividing the term line 168 sourceSource documentation
Membership in the sequence is preserved by multiplying with a prime not dividing the term.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OeisA63880.A,Nat.Prime,Not,Dvd.dvd,HMul.hMulProof uses:
And.intro,LT.lt,OfNat.ofNat,Eq,ArithmeticFunction,ArithmeticFunction.sigma, OeisA63880.usigma,Nat.mul_pos,And.left,Nat.Prime.pos,Eq.mpr,HAdd.hAdd,id,congrArg, OeisA63880.sigma_mul_prime, OeisA63880.usigma_mul_prime,And.right,Mathlib.Tactic.Ring.of_eq,HPow.hPow,Nat.rawCastand 21 more29 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
theorem A_mul_prime {m p : ℕ} (hA : A m) (hp : p.Prime) (hpm : ¬ p ∣ m) : A (m * p) := …Mentions: OeisA63880.A
- theorem
OeisA63880.A_of_mul_primeConversely, ifm * pis in the sequence withpa prime not dividingm > 0, so ismline 174 sourceSource documentation
Conversely, if
m * pis in the sequence withpa prime not dividingm > 0, so ism.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat, OeisA63880.A,HMul.hMul,Nat.Prime,Not,Dvd.dvdProof uses:
And.intro,Eq,ArithmeticFunction,ArithmeticFunction.sigma, OeisA63880.usigma,And.right,Nat.eq_of_mul_eq_mul_right,HAdd.hAdd,Decidable.byContradiction,Eq.mp,congrArg,Eq.symm,mul_assoc, OeisA63880.usigma_mul_prime, OeisA63880.sigma_mul_prime20 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
theorem A_of_mul_prime {m p : ℕ} (hm : 0 < m) (hA : A (m * p)) (hp : p.Prime) (hpm : ¬ p ∣ m) : A m := by …Mentions: OeisA63880.A
- theorem
OeisA63880.A_mul_of_squarefreeMembership in the sequence is preserved by multiplying with a coprime squarefree number line 183 sourceSource documentation
Membership in the sequence is preserved by multiplying with a coprime squarefree number.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OeisA63880.A,Squarefree,Nat.Coprime,HMul.hMulProof uses:
Nat.recOnPrimeCoprime,OfNat.ofNat,absurd,not_squarefree_zero,Nat.Prime,HPow.hPow,LE.le,Decidable.byContradiction,Not,False,Iff.mpr,And,Eq,Iff.not,Nat.squarefree_pow_iff,Nat.Prime.ne_one,dite,Eq.mpr,id,congrArgand 26 more29 instances, coercions and auxiliary constants left out.
Tactic trace: 18 steps
Open to load the checked before-and-after goal states.
theorem A_mul_of_squarefree (s : ℕ) : ∀ m, A m → Squarefree s → m.Coprime s → A (m * s) := by …Mentions: OeisA63880.A
- theorem
OeisA63880.powerful_of_isPrimitiveTermAll primitive terms are powerful numbers: ifpdividednexactly once, thenn / pwould also be in the sequence line 205 sourceSource documentation
All primitive terms are powerful numbers: if
pdividednexactly once, thenn / pwould also be in the sequence.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OeisA63880.IsPrimitiveTerm, Nat.PowerfulProof uses:
Membership.mem,Finset,Nat.primeFactors,Decidable.byContradiction,Dvd.dvd,HPow.hPow,OfNat.ofNat,Not,Nat.dvd_of_mem_primeFactors,Nat.Prime,Nat.prime_of_mem_primeFactors,LT.lt,And.left,Eq,ArithmeticFunction,ArithmeticFunction.sigma,HMul.hMul, OeisA63880.usigma, Set.IsPrimitive.mem,Set.ofPredand 85 more118 instances, coercions and auxiliary constants left out.
Tactic trace: 16 steps
Open to load the checked before-and-after goal states.
theorem powerful_of_isPrimitiveTerm {n : ℕ} (h : IsPrimitiveTerm n) : n.Powerful := by …Mentions: OeisA63880.IsPrimitiveTerm
- theorem
OeisA63880.unique_primitive_108$108$ is the only primitive term sorry line 220 sourceSource documentation
$108$ is the only primitive term.
depends on sorry what this means
Statement uses:
Nat, OeisA63880.IsPrimitiveTerm,Eq,OfNat.ofNatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem unique_primitive_108 {n : ℕ} (h : IsPrimitiveTerm n) : n = 108 := by …Mentions: OeisA63880.IsPrimitiveTerm
- theorem
OeisA63880.a_of_primitive_mul_squarefreeIf $m$ is a primitive term and $s$ is squarefree with $\gcd(m, s) = 1$, then $m \cdot s$ is in the sequence line 226 sourceSource documentation
If $m$ is a primitive term and $s$ is squarefree with $\gcd(m, s) = 1$, then $m \cdot s$ is in the sequence.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OeisA63880.IsPrimitiveTerm,Squarefree,Nat.Coprime, OeisA63880.A,HMul.hMulProof uses: OeisA63880.A_mul_of_squarefree, Set.IsPrimitive.mem,
Set.ofPred4 instances, coercions and auxiliary constants left out.
theorem a_of_primitive_mul_squarefree (m s : ℕ) (hm : IsPrimitiveTerm m) (hs : Squarefree s) (hcoprime : m.Coprime s) : A (m * s) := …Mentions: OeisA63880.IsPrimitiveTerm, OeisA63880.A
- theorem
OeisA63880.exists_primitive_of_aNon-primitive terms have the form $m \cdot s$ where $m$ is primitive and $s$ is squarefree with $\gcd(m, s) = 1$ sorry line 233 sourceSource documentation
Non-primitive terms have the form $m \cdot s$ where $m$ is primitive and $s$ is squarefree with $\gcd(m, s) = 1$.
depends on sorry what this means
Statement uses:
Nat, OeisA63880.A,Exists,And, OeisA63880.IsPrimitiveTerm,Squarefree,Nat.Coprime,Eq,HMul.hMulProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat7 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem exists_primitive_of_a {n : ℕ} (h : A n) : ∃ m s, IsPrimitiveTerm m ∧ Squarefree s ∧ m.Coprime s ∧ n = m * s := by …Mentions: OeisA63880.A, OeisA63880.IsPrimitiveTerm