FormalConjectures/OEIS/237271.lean

GitHub source file

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

17 declarations, 6 contain sorry, 0 declared as axioms

Number of parts in the symmetric representation of $\sigma(n)$

Number of parts in the symmetric representation of $\sigma(n)$. $a(n)$ is $1$ plus the number of pairs $(d_k, d_{k+1})$ of consecutive divisors of $n$ such that $d_{k+1}$ is odd and $d_{k+1} \ge 2 d_k$.

The formula used is $1 + |\{(d_k, d_{k+1}) \in \text{consecutive pairs of divisors of } n \mid d_{k+1} \text{ is odd and } d_{k+1} \ge 2 d_k\}|$, which is a known characterization of the sequence.

References:

Imports (1)
  1. def OeisA237271.a Number of parts in the symmetric representation of $\sigma(n)$ line 52 source

    Source documentation

    Number of parts in the symmetric representation of $\sigma(n)$. $a(n)$ is $1$ plus the number of pairs $(d_k, d_{k+1})$ of consecutive divisors of $n$ such that $d_{k+1}$ is odd and $d_{k+1} \ge 2 d_k$.

    The formula used is $1 + |\{(d_k, d_{k+1}) \in \text{consecutive pairs of divisors of } n \mid d_{k+1} \text{ is odd and } d_{k+1} \ge 2 d_k\}|$, which is a known characterization of the sequence.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat

    Proof uses: List, Finset.sort, Nat.divisors, LE.le, Prod, List.zip, List.tail, List.countP, Prod.fst, Prod.snd, Decidable.decide, And, Odd, GE.ge, HMul.hMul, OfNat.ofNat, HAdd.hAdd

    15 instances, coercions and auxiliary constants left out.

    def a (n : ℕ) : ℕ :=
    …
  2. def OeisA237271.sortedDivisorsList line 69 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, List

    Proof uses: Finset.sort, Nat.divisors, LE.le

    7 instances, coercions and auxiliary constants left out.

  3. def OeisA237271.num2DenseSublists Number of maximal contiguous sublists of divisors of n where each adjacent pair (d_k, d_{k+1}) satisfies d_{k+1} <= 2 * d_k line 76 source

    Source documentation

    Number of maximal contiguous sublists of divisors of n where each adjacent pair (d_k, d_{k+1}) satisfies d_{k+1} <= 2 * d_k. This is 1 + the number of "jumps" where d_{k+1} > 2 * d_k.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat

    Proof uses: List, OeisA237271.sortedDivisorsList, Prod, List.zip, List.tail, List.countP, Prod.fst, Prod.snd, Decidable.decide, GT.gt, HMul.hMul, OfNat.ofNat, HAdd.hAdd

    7 instances, coercions and auxiliary constants left out.

    def num2DenseSublists (n : ℕ) : ℕ :=
    …
  4. lemma OeisA237271.a_1 line 90 source

    extra axioms: _private.0.OeisA237271.a_1._native.native_decide.ax_1 what this means

    Statement uses: Eq, Nat, OeisA237271.a, OfNat.ofNat

    Proof uses: of_decide_eq_true

    4 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  5. lemma OeisA237271.a_2 line 93 source

    extra axioms: _private.0.OeisA237271.a_2._native.native_decide.ax_1 what this means

    Statement uses: Eq, Nat, OeisA237271.a, OfNat.ofNat

    Proof uses: of_decide_eq_true

    4 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  6. lemma OeisA237271.a_3 line 96 source

    extra axioms: _private.0.OeisA237271.a_3._native.native_decide.ax_1 what this means

    Statement uses: Eq, Nat, OeisA237271.a, OfNat.ofNat

    Proof uses: of_decide_eq_true

    4 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  7. lemma OeisA237271.a_4 line 99 source

    extra axioms: _private.0.OeisA237271.a_4._native.native_decide.ax_1 what this means

    Statement uses: Eq, Nat, OeisA237271.a, OfNat.ofNat

    Proof uses: of_decide_eq_true

    4 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  8. lemma OeisA237271.a_5 line 102 source

    extra axioms: _private.0.OeisA237271.a_5._native.native_decide.ax_1 what this means

    Statement uses: Eq, Nat, OeisA237271.a, OfNat.ofNat

    Proof uses: of_decide_eq_true

    4 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  9. theorem OeisA237271.conjecture_2 sorry line 115 source

    depends on sorry what this means

    Statement uses: Nat, Eq, OeisA237271.a, OeisA237271.num2DenseSublists

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous, OfNat.ofNat

    1 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  10. def OeisA237271.A001227 Number of odd divisors of n (A001227) line 119 source

    Source documentation

    Number of odd divisors of n (A001227).

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat

    Proof uses: Finset.card, Finset.filter, Odd, Nat.divisors

    2 instances, coercions and auxiliary constants left out.

    def A001227 (n : ℕ) : ℕ := (n.divisors.filter Odd).card
  11. def OeisA237271.A239657 Number of odd divisors m of n such that there is a divisor d of n with d < m < 2*d (A239657) line 122 source

    Source documentation

    Number of odd divisors m of n such that there is a divisor d of n with d < m < 2*d (A239657).

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat

    Proof uses: Finset.card, Finset.filter, And, Odd, Exists, Membership.mem, Finset, Nat.divisors, LT.lt, HMul.hMul, OfNat.ofNat

    11 instances, coercions and auxiliary constants left out.

    def A239657 (n : ℕ) : ℕ :=
    …
  12. theorem OeisA237271.conjecture_1 Conjecture 1 / Theorem: "a(n) is the number of odd divisors of n except the 'e' odd divisors described in A005279." - _Omar E sorry line 132 source

    Source documentation

    Conjecture 1 / Theorem: "a(n) is the number of odd divisors of n except the 'e' odd divisors described in A005279." - Omar E. Pol, Dec 21 2024. "The conjecture 1 is true. For a proof see A379288." - Hartmut F. W. Hoft, Jan 21 2025. Equivalently, $a(n) = \text{A001227}(n) - \text{A239657}(n)$. - Omar E. Pol, Mar 23 2014

    depends on sorry what this means

    Statement uses: Nat, LT.lt, OfNat.ofNat, Eq, OeisA237271.a, HSub.hSub, OeisA237271.A001227, OeisA237271.A239657

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    8 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem conjecture_1 (n : ℕ) (hn : 0 < n) :
        a n = A001227 n - A239657 n := by
    …

    Mentions: OeisA237271.a, OeisA237271.A001227, OeisA237271.A239657

  13. theorem OeisA237271.a_odd_prime_pow Theorem: "a(p^k) = k + 1, where p is an odd prime and k >= 0." - _Hartmut F sorry line 141 source

    Source documentation

    Theorem: "a(p^k) = k + 1, where p is an odd prime and k >= 0."

    • Hartmut F. W. Hoft, Dec 26 2016

    depends on sorry what this means

    Statement uses: Nat, Nat.Prime, Odd, Eq, OeisA237271.a, HPow.hPow, HAdd.hAdd, OfNat.ofNat

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    16 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem a_odd_prime_pow (p k : ℕ) (hp : p.Prime) (ho : Odd p) :
        a (p ^ k) = k + 1 := by
    …

    Mentions: OeisA237271.a

  14. theorem OeisA237271.conjecture_3 Conjecture 3: "a(n) is the number of divisors p of n such that p is greater than twice the adjacent previous divisor of n line 155 source

    Source documentation

    Conjecture 3: "a(n) is the number of divisors p of n such that p is greater than twice the adjacent previous divisor of n. The divisors p give the n-th row of A379288."

    • Omar E. Pol, Aug 02 2025

    Note: this is equivalent to a_eq_num2DenseSublists (Conjecture 2), since the divisors that start a new 2-dense sublist are exactly those greater than twice their predecessor (plus the smallest divisor).

    depends on sorry what this means

    Statement uses: Nat, Eq, OeisA237271.a, HAdd.hAdd, OfNat.ofNat, List.countP, Prod, Decidable.decide, GT.gt, Prod.snd, HMul.hMul, Prod.fst, List.zip, OeisA237271.sortedDivisorsList, List.tail

    Proof uses: OeisA237271.conjecture_2

    7 instances, coercions and auxiliary constants left out.

    theorem conjecture_3 (n : ℕ) :
        a n = 1 + ((sortedDivisorsList n).zip (sortedDivisorsList n).tail).countP
          fun pair => pair.snd > 2 * pair.fst :=
    …

    Mentions: OeisA237271.a, OeisA237271.sortedDivisorsList

  15. theorem OeisA237271.conjecture_4 sorry line 168 source

    depends on sorry what this means

    Statement uses: Nat, LT.lt, OfNat.ofNat, Odd, OeisA237271.a, HPow.hPow

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    14 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  16. theorem OeisA237271.conjecture_5 sorry line 180 source

    depends on sorry what this means

    Statement uses: Nat, LT.lt, OfNat.ofNat, Odd, OeisA237271.a, HMul.hMul, HSub.hSub

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    14 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  17. theorem OeisA237271.observation_carmichael Observation: "a(A002997(n)) >= 3, at least for 1 <= n <= 10000." - _Omar E sorry line 202 source

    Source documentation

    Observation: "a(A002997(n)) >= 3, at least for 1 <= n <= 10000."

    • Omar E. Pol, Oct 21 2025

    That is, $a(k) \ge 3$ for every Carmichael number $k$. A002997 is the sequence of Carmichael numbers: the composite numbers $k$ such that $b^{k-1} \equiv 1 \pmod k$ for every $b$ coprime to $k$. This is IsCarmichael, which also forces $k$ to be composite.

    The observation holds for every odd composite $k$, so in particular for every Carmichael number. Write $p$ for the least prime factor of $k$ and $q = k/p$. The two smallest divisors of $k$ are $1$ and $p$, and the two largest are $q$ and $k$, so $(1, p)$ and $(q, k)$ are both consecutive pairs in the sorted divisor list, and they are distinct because $1 < q$. Both qualify: $p$ and $k$ are odd, $p \ge 2 \cdot 1$, and $k = pq \ge 3q > 2q$. Hence the count is at least $2$ and $a(k) \ge 3$. A Carmichael number is odd: it is composite by the $b = 1$ case of IsCarmichael, so $k > 2$, and if $k$ were even then the coprime base $k - 1 \equiv -1$ would give $k \mid (-1)^{k-1} - 1 = -2$.

    depends on sorry what this means

    Statement uses: Nat, IsCarmichael, LE.le, OfNat.ofNat, OeisA237271.a

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    4 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem observation_carmichael (k : ℕ) (hk : IsCarmichael k) :
        3 ≤ a k := by
    …

    Mentions: IsCarmichael, OeisA237271.a