FormalConjectures/Wikipedia/Taxicab.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, 2 contain sorry, 0 declared as axioms

Taxicab numbers

A taxicab number for natural numbers $k, m, n$ is the smallest number $x$ that can be expressed as a sum of $m$ positive $k$-th powers in at least $n$ distinct ways. The most famous taxicab number is $ 1729 = 1³ + 12³ = 9³ + 10³, $ also known as the Hardy–Ramanujan number.

However, a taxicab number is not known for $k=5$, $m=2$, and any $n ≥ 2$: No positive integer is known that can be written as the sum of two 5th powers in more than one way, and it is not known whether such a number exists.

In particular, it is not known whether there exists a taxicab number for $k=5$, $m=2$, and $n=2$.

References:

Imports (1)
  1. def Taxicab.IsTaxicabFor' Documented declaration: IsTaxicabFor' line 55 source

    Source documentation

    $x$ is a candidate for being a taxicab number for $k, m, n$ if there exist at least $n$ distinct multisets of $m$ positive integers such that the sum of the $k$-th powers of the elements of each multiset is $x$. Using multisets means that two representations that differ only in the order of their terms count as one way.

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

    Statement uses: Nat

    Proof uses: Exists, Finset, Multiset, And, LE.le, Finset.card, Membership.mem, Eq, Multiset.card, Not, OfNat.ofNat, Multiset.sum, Multiset.map, HPow.hPow

    10 instances, coercions and auxiliary constants left out.

    def IsTaxicabFor' (k m n x : ℕ) : Prop :=
    …
  2. theorem Taxicab.taxicab_1729 $1729$ is a possible taxicab number for $k=3, m=2, n=2$ line 62 source

    Source documentation

    $1729$ is a possible taxicab number for $k=3, m=2, n=2$.

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

    Statement uses: Taxicab.IsTaxicabFor', OfNat.ofNat, Nat

    Proof uses: Exists.intro, Finset, Multiset, And, LE.le, Finset.card, Membership.mem, Eq, Multiset.card, Not, Multiset.sum, Multiset.map, HPow.hPow, Insert.insert, Singleton.singleton, of_decide_eq_true, id, Bool, Decidable.decide, Bool.true and 1 more

    22 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

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

    theorem taxicab_1729 : IsTaxicabFor' 3 2 2 1729 := by
    …

    Mentions: Taxicab.IsTaxicabFor'

  3. def Taxicab.IsTaxicabFor $x$ is a taxicab number if it is the smallest number that can be expressed as a sum of $m$ positive $k$-th powers in at least $n$ distinct ways line 70 source

    Source documentation

    $x$ is a taxicab number if it is the smallest number that can be expressed as a sum of $m$ positive $k$-th powers in at least $n$ distinct ways.

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

    Statement uses: Nat

    Proof uses: IsLeast, Set.ofPred, Taxicab.IsTaxicabFor'

    1 instances, coercions and auxiliary constants left out.

    def IsTaxicabFor (k m n : ℕ) (x : ℕ) : Prop :=
    …
  4. theorem Taxicab.taxicab_4' line 74 source

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

    Statement uses: Taxicab.IsTaxicabFor', OfNat.ofNat, Nat

    Proof uses: Exists.intro, Finset, Multiset, And, LE.le, Finset.card, Membership.mem, Eq, Multiset.card, Not, Multiset.sum, Multiset.map, HPow.hPow, Insert.insert, Singleton.singleton, of_decide_eq_true, id, Bool, Decidable.decide, Bool.true and 1 more

    22 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

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

  5. theorem Taxicab.taxicab_4 $4$ is the taxicab number for $k=1, m=2, n=2$ line 80 source

    Source documentation

    $4$ is the taxicab number for $k=1, m=2, n=2$.

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

    Statement uses: Taxicab.IsTaxicabFor, OfNat.ofNat, Nat

    Proof uses: And.intro, Membership.mem, Set, Set.ofPred, Taxicab.IsTaxicabFor', lowerBounds, Taxicab.taxicab_4', Finset, Multiset, And, LE.le, Finset.card, Eq, Multiset.card, Not, Multiset.sum, Multiset.map, HPow.hPow, Exists, Ne and 35 more

    97 instances, coercions and auxiliary constants left out.

    Tactic trace: 28 steps

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

    theorem taxicab_4 : IsTaxicabFor 1 2 2 4 := by
    …

    Mentions: Taxicab.IsTaxicabFor

  6. theorem Taxicab.taxicab_for_5_2_2 Taxicab number for $k=5$, $m=2$, and $n=2$ is not known sorry line 101 source

    Source documentation

    Taxicab number for $k=5$, $m=2$, and $n=2$ is not known. Whether such a number exists is also not known.

    depends on sorry what this means

    Statement uses: Iff, True, Exists, Nat, Taxicab.IsTaxicabFor, OfNat.ofNat

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

    2 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem taxicab_for_5_2_2 : answer(sorry) ↔ ∃ x : ℕ, IsTaxicabFor 5 2 2 x := by
    …

    Mentions: Taxicab.IsTaxicabFor

  7. theorem Taxicab.taxicab_for_5_2_n Taxicab number for $k=5$ and $m=2$ is not-known for any $n ≥ 2$ sorry line 107 source

    Source documentation

    Taxicab number for $k=5$ and $m=2$ is not-known for any $n ≥ 2$. Whether such a number exists is also not known.

    depends on sorry what this means

    Statement uses: Iff, True, Exists, Nat, And, GE.ge, OfNat.ofNat, Taxicab.IsTaxicabFor

    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 taxicab_for_5_2_n : answer(sorry) ↔ ∃ n : ℕ, n ≥ 2 ∧ (∃ x : ℕ, IsTaxicabFor 5 2 n x)
      := by sorry
    …

    Mentions: Taxicab.IsTaxicabFor