FormalConjectures/OEIS/945.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

11 declarations, 1 contain sorry, 0 declared as axioms

Euclid-Mullin sequence

The Euclid-Mullin sequence starts with $a(1) = 2$. Each subsequent term is the smallest prime factor of one plus the product of all preceding terms. We extend the sequence by $a(0) = 1$ and write $b(n)$ for the product of the first $n$ official terms.

References:

Imports (1)
  1. def OeisA945.b b n is the product of the first n terms of the Euclid-Mullin sequence line 48 source

    Source documentation

    b n is the product of the first n terms of the Euclid-Mullin sequence.

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

    Statement uses: Nat

    2 instances, coercions and auxiliary constants left out.

    def b : ℕ → ℕ
      | 0 => 1
      | n + 1 => b n * Nat.minFac (b n + 1)
    
    /-- The Euclid-Mullin sequence, extended by `a 0 = 1`. -/

    Mentions: OeisA945.a

  2. def OeisA945.a The Euclid-Mullin sequence, extended by a 0 = 1 line 53 source

    Source documentation

    The Euclid-Mullin sequence, extended by a 0 = 1.

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

    Statement uses: Nat

    Proof uses: OeisA945.b.match_1, Unit, OfNat.ofNat, Nat.minFac, HAdd.hAdd, OeisA945.b

    3 instances, coercions and auxiliary constants left out.

    def a : ℕ → ℕ
      | 0 => 1
      | n + 1 => Nat.minFac (b n + 1)
    
    @[category test, AMS 11]

    Mentions: OeisA945.b, test, AMS

  3. theorem OeisA945.a_0 line 58 source

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

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

    Proof uses: Eq.refl

    2 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  4. theorem OeisA945.a_1 line 61 source

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

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

    Proof uses: of_eq_true, Eq.trans, True, congrFun', congrArg, Nat.minFac, HAdd.hAdd, OeisA945.b, Mathlib.Meta.NormNum.IsNat.to_eq, Mathlib.Meta.NormNum.isNat_add, Eq.refl, Mathlib.Meta.NormNum.isNat_ofNat, Nat.Prime.minFac_eq, Mathlib.Meta.NormNum.isNat_prime_2, Bool, Bool.true, Mathlib.Meta.NormNum.isNat_minFac_2, Mathlib.Meta.NormNum.IsNat.raw_refl, eq_self, eq_true and 1 more

    8 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  5. theorem OeisA945.a_2 line 64 source

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

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

    Proof uses: of_eq_true, Eq.trans, True, congrFun', congrArg, Nat.minFac, HAdd.hAdd, OeisA945.b, HMul.hMul, Mathlib.Meta.NormNum.IsNat.to_eq, Mathlib.Meta.NormNum.isNat_add, Eq.refl, Mathlib.Meta.NormNum.isNat_ofNat, Nat.Prime.minFac_eq, Mathlib.Meta.NormNum.isNat_prime_2, Bool, Bool.true, Mathlib.Meta.NormNum.isNat_minFac_2, Mathlib.Meta.NormNum.IsNat.raw_refl, one_mul and 6 more

    11 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  6. theorem OeisA945.a_3 line 67 source

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

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

    Proof uses: of_eq_true, Eq.trans, True, congrFun', congrArg, Nat.minFac, HAdd.hAdd, OeisA945.b, HMul.hMul, congr, Mathlib.Meta.NormNum.IsNat.to_eq, Mathlib.Meta.NormNum.isNat_add, Eq.refl, Mathlib.Meta.NormNum.isNat_ofNat, Nat.Prime.minFac_eq, Mathlib.Meta.NormNum.isNat_prime_2, Bool, Bool.true, Mathlib.Meta.NormNum.isNat_minFac_2, Mathlib.Meta.NormNum.IsNat.raw_refl and 8 more

    14 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  7. theorem OeisA945.a_4 line 70 source

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

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

    Proof uses: of_eq_true, Eq.trans, True, congrFun', congrArg, Nat.minFac, HAdd.hAdd, OeisA945.b, HMul.hMul, congr, Mathlib.Meta.NormNum.IsNat.to_eq, Mathlib.Meta.NormNum.isNat_add, Eq.refl, Mathlib.Meta.NormNum.isNat_ofNat, Nat.Prime.minFac_eq, Mathlib.Meta.NormNum.isNat_prime_2, Bool, Bool.true, Mathlib.Meta.NormNum.isNat_minFac_2, Mathlib.Meta.NormNum.IsNat.raw_refl and 9 more

    14 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  8. theorem OeisA945.a_5 line 73 source

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

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

    Proof uses: of_eq_true, Eq.trans, True, congrFun', congrArg, Nat.minFac, HAdd.hAdd, OeisA945.b, HMul.hMul, congr, Mathlib.Meta.NormNum.IsNat.to_eq, Mathlib.Meta.NormNum.isNat_add, Eq.refl, Mathlib.Meta.NormNum.isNat_ofNat, Nat.Prime.minFac_eq, Mathlib.Meta.NormNum.isNat_prime_2, Bool, Bool.true, Mathlib.Meta.NormNum.isNat_minFac_2, Mathlib.Meta.NormNum.IsNat.raw_refl and 12 more

    14 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  9. theorem OeisA945.a_6 line 76 source

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

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

    Proof uses: of_eq_true, Eq.trans, True, congrFun', congrArg, Nat.minFac, HAdd.hAdd, OeisA945.b, HMul.hMul, congr, Mathlib.Meta.NormNum.IsNat.to_eq, Mathlib.Meta.NormNum.isNat_add, Eq.refl, Mathlib.Meta.NormNum.isNat_ofNat, Nat.Prime.minFac_eq, Mathlib.Meta.NormNum.isNat_prime_2, Bool, Bool.true, Mathlib.Meta.NormNum.isNat_minFac_2, Mathlib.Meta.NormNum.IsNat.raw_refl and 12 more

    14 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  10. theorem OeisA945.a_7 line 79 source

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

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

    Proof uses: of_eq_true, Eq.trans, True, congrFun', congrArg, Nat.minFac, HAdd.hAdd, OeisA945.b, HMul.hMul, congr, Mathlib.Meta.NormNum.IsNat.to_eq, Mathlib.Meta.NormNum.isNat_add, Eq.refl, Mathlib.Meta.NormNum.isNat_ofNat, Nat.Prime.minFac_eq, Mathlib.Meta.NormNum.isNat_prime_2, Bool, Bool.true, Mathlib.Meta.NormNum.isNat_minFac_2, Mathlib.Meta.NormNum.IsNat.raw_refl and 12 more

    14 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  11. theorem OeisA945.every_prime_occurs "Does the sequence sorry line 91 source

    Source documentation

    "Does the sequence ... contain every prime? ... [It] was considered by Guy and Nowakowski and later by Shanks, [Wagstaff93] computed the sequence through the 43rd term. The computational problem inherent in continuing the sequence further is the enormous size of the numbers that must be factored. Already the number $a(1) \cdots a(43) + 1$ has 180 digits."

    • [CrandallPomerance01]

    See also [Mullin63].

    depends on sorry what this means

    Statement uses: Iff, True, Nat, Nat.Prime, Exists, And, GE.ge, OfNat.ofNat, Eq, OeisA945.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 every_prime_occurs :
        answer(sorry) ↔ ∀ p, p.Prime → ∃ n ≥ 1, a n = p := by
    …

    Mentions: OeisA945.a