FormalConjectures/ErdosProblems/350.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

Erdős Problem 350

References:

Imports (1)
Imported by 1 file
  1. def Erdos350.DistinctSubsetSums The predicate that all (finite) subsets of A have distinct sums line 36 source

    Source documentation

    The predicate that all (finite) subsets of A have distinct sums.

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

    Statement uses: AddCommMonoid, Set

    Proof uses: Set.Pairwise, Finset, Set.ofPred, LE.le, Ne, Finset.sum, id

    3 instances, coercions and auxiliary constants left out.

    def DistinctSubsetSums {M : Type*} [AddCommMonoid M] (A : Set M) : Prop :=
    …
  2. def Erdos350.DecidableDistinctSubsetSums The predicate that all (finite) subsets of A have distinct sums, decidable version line 40 source

    Source documentation

    The predicate that all (finite) subsets of A have distinct sums, decidable version

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

    Statement uses: AddCommMonoid, DecidableEq, Finset

    Proof uses: LE.le, Ne, Finset.sum, id

    3 instances, coercions and auxiliary constants left out.

    def DecidableDistinctSubsetSums {M : Type*} [AddCommMonoid M] [DecidableEq M] (A : Finset M) : Prop :=
    …
  3. theorem Erdos350.decidableDistinctSubsetSums_1_2 line 44 source

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

    Statement uses: Erdos350.DecidableDistinctSubsetSums, Nat, Insert.insert, Finset, OfNat.ofNat, Singleton.singleton

    Proof uses: Eq.mpr, LE.le, Ne, Finset.sum, id, Eq, congrArg, Erdos350.DecidableDistinctSubsetSums.eq_1, of_decide_eq_true, Bool, Decidable.decide, Bool.true, Eq.refl

    17 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

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

  4. theorem Erdos350.distinctSubsetSums_1_2 line 48 source

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

    Statement uses: Erdos350.DistinctSubsetSums, Nat, Insert.insert, Set, OfNat.ofNat, Singleton.singleton

    Proof uses: Eq.mpr, Finset, LE.le, Not, Eq, Finset.sum, id, forall_congr, Ne, implies_congr, Eq.refl, congr, congrArg, Finset.sum_congr, Membership.mem, List, List.Mem, List.pmap, Multiset, Multiset.Nodup and 38 more

    52 instances, coercions and auxiliary constants left out.

    Tactic trace: 6 steps

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

  5. theorem Erdos350.DistinctSubsetSums_iff_DecidableDistinctSubsetSums Small sanity check: the two predicates are saying the same thing line 57 source

    Source documentation

    Small sanity check: the two predicates are saying the same thing.

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

    Statement uses: AddCommMonoid, DecidableEq, Finset, Iff, Erdos350.DistinctSubsetSums, Erdos350.DecidableDistinctSubsetSums

    Proof uses: Eq.mpr, Set.Pairwise, Set.ofPred, LE.le, Set, Ne, Finset.sum, id, Eq, congrArg, Erdos350.DistinctSubsetSums.eq_1, Erdos350.DecidableDistinctSubsetSums.eq_1, Membership.mem, Set.Pairwise.eq_1, of_eq_true, Eq.trans, Not, True, congr, forall_congr and 6 more

    12 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

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

    theorem DistinctSubsetSums_iff_DecidableDistinctSubsetSums
        {M : Type*} [AddCommMonoid M] [DecidableEq M] (A : Finset M) :
        DistinctSubsetSums (A : Set M) ↔ DecidableDistinctSubsetSums A := by
    …

    Mentions: Erdos350.DistinctSubsetSums, Erdos350.DecidableDistinctSubsetSums

  6. theorem Erdos350.erdos_350 sorry line 76 source

    depends on sorry what this means

    Statement uses: Finset, Nat, Erdos350.DecidableDistinctSubsetSums, LT.lt, Real, Finset.sum, HDiv.hDiv, OfNat.ofNat

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

    30 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  7. theorem Erdos350.erdos_350.variants.strengthening If A ⊂ ℕ is a finite set of integers all of whose subset sums are distinct then ∑ n ∈ A, 1/n^s < 1/(1 - 2^(-s)), for any s > 0 sorry line 87 source

    Source documentation

    If A ⊂ ℕ is a finite set of integers all of whose subset sums are distinct then ∑ n ∈ A, 1/n^s < 1/(1 - 2^(-s)), for any s > 0. Proved by Hanson, Steele, and Stenger [HSS77].

    We exclude here the case s = 0, because in the informal formulation then the right hand side is to be interpreted as ∞, while the left hand side counts the elements in A.

    depends on sorry what this means

    Statement uses: Finset, Nat, Erdos350.DecidableDistinctSubsetSums, Real, LT.lt, OfNat.ofNat, Finset.sum, HPow.hPow, HDiv.hDiv, HSub.hSub, Neg.neg

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

    44 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_350.variants.strengthening (A : Finset ℕ) (hA : DecidableDistinctSubsetSums A)
        (s : ℝ) (hs : 0 < s) : ∑ n ∈ A, (1 / n : ℝ)^s < 1 / (1 - 2^(-s)) := by
    …

    Mentions: Erdos350.DecidableDistinctSubsetSums