FormalConjectures/Paper/Dubner.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

7 declarations, 1 contain sorry, 0 declared as axioms

Dubner's conjecture

Reference: Every even number greater than 4208 is the sum of two t-primes by Harvey Dubner.

Imports (1)
  1. def DubnerConjecture.IsTwinPrime A twin prime is a prime number that has a prime gap of 2, meaning either p - 2 or p + 2 is also prime line 35 source

    Source documentation

    A twin prime is a prime number that has a prime gap of 2, meaning either p - 2 or p + 2 is also prime.

    standard axioms: propext what this means

    Statement uses: Nat

    Proof uses: And, Nat.Prime, Or, HSub.hSub, OfNat.ofNat, HAdd.hAdd

    5 instances, coercions and auxiliary constants left out.

    def IsTwinPrime (p : ℕ) : Prop :=
    …
  2. theorem DubnerConjecture.t1 line 39 source

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

    Statement uses: Not, DubnerConjecture.IsTwinPrime, OfNat.ofNat, Nat

    Proof uses: of_eq_true, Eq.trans, True, False, congrArg, And, Nat.Prime, Or, HSub.hSub, HAdd.hAdd, congr, eq_true, Mathlib.Meta.NormNum.isNat_prime_2, Mathlib.Meta.NormNum.isNat_ofNat, Eq.refl, Bool, Bool.true, Mathlib.Meta.NormNum.isNat_minFac_2, Mathlib.Meta.NormNum.IsNat.raw_refl, eq_false and 11 more

    10 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  3. theorem DubnerConjecture.t2 line 43 source

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

    Statement uses: DubnerConjecture.IsTwinPrime, OfNat.ofNat, Nat

    Proof uses: of_eq_true, And, Nat.Prime, Or, HSub.hSub, HAdd.hAdd, Eq.trans, True, congr, congrArg, eq_true, Mathlib.Meta.NormNum.isNat_prime_2, Mathlib.Meta.NormNum.isNat_ofNat, Eq.refl, Bool, Bool.true, Mathlib.Meta.NormNum.isNat_minFac_4, Mathlib.Meta.NormNum.IsNat.raw_refl, Mathlib.Meta.NormNum.minFacHelper_0, Bool.false and 8 more

    10 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  4. theorem DubnerConjecture.t3 line 47 source

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

    Statement uses: DubnerConjecture.IsTwinPrime, OfNat.ofNat, Nat

    Proof uses: of_eq_true, And, Nat.Prime, Or, HSub.hSub, HAdd.hAdd, Eq.trans, True, congr, congrArg, eq_true, Mathlib.Meta.NormNum.isNat_prime_2, Mathlib.Meta.NormNum.isNat_ofNat, Eq.refl, Bool, Bool.true, Mathlib.Meta.NormNum.isNat_minFac_4, Mathlib.Meta.NormNum.IsNat.raw_refl, Mathlib.Meta.NormNum.minFacHelper_0, Bool.false and 5 more

    10 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  5. theorem DubnerConjecture.t4 line 51 source

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

    Statement uses: DubnerConjecture.IsTwinPrime, OfNat.ofNat, Nat

    Proof uses: of_eq_true, And, Nat.Prime, Or, HSub.hSub, HAdd.hAdd, Eq.trans, True, congr, congrArg, eq_true, Mathlib.Meta.NormNum.isNat_prime_2, Mathlib.Meta.NormNum.isNat_ofNat, Eq.refl, Bool, Bool.true, Mathlib.Meta.NormNum.isNat_minFac_4, Mathlib.Meta.NormNum.IsNat.raw_refl, Mathlib.Meta.NormNum.minFacHelper_2, Mathlib.Meta.NormNum.not_prime_mul_of_ble and 11 more

    10 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  6. theorem DubnerConjecture.t5 line 55 source

    standard axioms: propext what this means

    Statement uses: Not, DubnerConjecture.IsTwinPrime, OfNat.ofNat, Nat

    Proof uses: of_eq_true, Eq.trans, True, False, congrArg, And, Nat.Prime, Or, HSub.hSub, HAdd.hAdd, congr, eq_false, Mathlib.Meta.NormNum.isNat_not_prime, Mathlib.Meta.NormNum.isNat_ofNat, Eq.refl, Mathlib.Meta.NormNum.not_prime_mul_of_ble, Bool, Bool.false, Mathlib.Meta.NormNum.isNat_natSub, Mathlib.Meta.NormNum.isNat_add and 6 more

    10 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  7. theorem DubnerConjecture.dubner_conjecture Every even number greater than 4208 is the sum of two twin primes sorry line 62 source

    Source documentation

    Every even number greater than 4208 is the sum of two twin primes.

    depends on sorry what this means

    Statement uses: Nat, LT.lt, OfNat.ofNat, Even, Exists, And, DubnerConjecture.IsTwinPrime, Eq, HAdd.hAdd

    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 dubner_conjecture (n : ℕ) (hn : 4208 < n) (h : Even n) :
        ∃ p q : ℕ,
          IsTwinPrime p ∧
          IsTwinPrime q ∧
          p + q = n := by
    …

    Mentions: DubnerConjecture.IsTwinPrime