Compfiles/Imo1978P5.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 compfiles documentation, Pinned compfiles corpus index

4 declarations, 0 contain sorry, 0 declared as axioms

International Mathematical Olympiad 1978, Problem 5

Let a_k be a sequence of distinct positive integers for k = 1,2,3, ...

Prove that for all natural numbers n, we have:

sum_{k=1}^{n} a(k)/(k^2) >= sum_{k=1}^{n} (1/k).

Imports (2)
Imported by 1 file
  1. lemma Imo1978P5.triangular_le_sum A finset of m distinct positive integers sums to at least 1 + 2 + ⋯ + m line 42 source

    Source documentation

    A finset of m distinct positive integers sums to at least 1 + 2 + ⋯ + m.

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

    Statement uses: Nat, Finset, Eq, Finset.card, Membership.mem, LE.le, OfNat.ofNat, Finset.sum, Finset.Icc

    Proof uses: Nat.recAux, of_eq_true, Eq.trans, True, congrFun', congrArg, Finset.sum_congr, EmptyCollection.emptyCollection, Finset.Icc_eq_empty_of_lt, LT.lt, eq_self, Eq.refl, HAdd.hAdd, Finset.Nonempty, Iff.mp, Finset.card_pos, Finset.max', Finset.max'_mem, Finset.card_le_card, Iff.mpr and 16 more

    52 instances, coercions and auxiliary constants left out.

    Tactic trace: 18 steps

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

    lemma triangular_le_sum :
        ∀ (m : ℕ) (T : Finset ℕ), T.card = m → (∀ x ∈ T, 1 ≤ x) →
        ∑ k ∈ Icc 1 m, k ≤ ∑ x ∈ T, x := by
    …
  2. lemma Imo1978P5.triangular_le_partial_sum The partial sums of a sequence of distinct positive integers dominate the partial sums of the identity line 66 source

    Source documentation

    The partial sums of a sequence of distinct positive integers dominate the partial sums of the identity.

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

    Statement uses: Nat, LT.lt, OfNat.ofNat, Ne, LE.le, Finset.sum, Finset.Icc

    Proof uses: Set.InjOn, Finset, Membership.mem, Set, Eq, Decidable.byContradiction, Not, Eq.mp, Set.Icc, And, congrArg, propext, Set.mem_Icc, Finset.coe_Icc, Finset.card, Finset.image, Eq.mpr, id, Finset.card_image_of_injOn, HSub.hSub and 10 more

    28 instances, coercions and auxiliary constants left out.

    Tactic trace: 15 steps

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

    lemma triangular_le_partial_sum (f : ℕ → ℕ)
        (h₀ : ∀ m : ℕ, 0 < m → 0 < f m)
        (h₁ : ∀ p q : ℕ, 0 < p → 0 < q → p ≠ q → f p ≠ f q)
        (m : ℕ) :
        ∑ k ∈ Icc 1 m, k ≤ ∑ k ∈ Icc 1 m, f k := by
    …

    Mentions: f

  3. lemma Imo1978P5.abel_compare Abel summation comparison: if the partial sums of h are dominated by the partial sums of g, then the same holds for sums weighted by any nonnegative decreasing sequence w line 90 source

    Source documentation

    Abel summation comparison: if the partial sums of h are dominated by the partial sums of g, then the same holds for sums weighted by any nonnegative decreasing sequence w.

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

    Statement uses: Nat, Real, Membership.mem, Finset, Finset.Icc, OfNat.ofNat, LE.le, Finset.sum, HMul.hMul

    Proof uses: Nat.recAux, of_eq_true, Eq.trans, True, congr, congrArg, Finset.sum_congr, EmptyCollection.emptyCollection, Finset.Icc_eq_empty_of_lt, LT.lt, Eq, eq_self, Eq.refl, HAdd.hAdd, HSub.hSub, Eq.mpr, id, Finset.sum_Icc_succ_top, sub_mul, Finset.sum_sub_distrib and 62 more

    114 instances, coercions and auxiliary constants left out.

    Tactic trace: 28 steps

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

    lemma abel_compare (n : ℕ) (w g h : ℕ → ℝ)
        (hw : ∀ k ∈ Icc 1 n, 0 ≤ w k)
        (hanti : ∀ j k : ℕ, 1 ≤ j → j ≤ k → k ≤ n → w k ≤ w j)
        (hps : ∀ m : ℕ, 1 ≤ m → m ≤ n → ∑ k ∈ Icc 1 m, h k ≤ ∑ k ∈ Icc 1 m, g k) :
        ∑ k ∈ Icc 1 n, w k * h k ≤ ∑ k ∈ Icc 1 n, w k * g k := by
    …

    Mentions: h

  4. problem Imo1978P5.imo1978_p5 line 122 source

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

    Statement uses: Nat, LT.lt, OfNat.ofNat, Ne, LE.le, Real, Finset.sum, Finset.Icc, HDiv.hDiv, HPow.hPow

    Proof uses: HMul.hMul, Imo1978P5.abel_compare, Membership.mem, Finset, Mathlib.Meta.Positivity.div_nonneg_of_pos_of_nonneg, Mathlib.Meta.Positivity.pos_of_isNat, Mathlib.Meta.NormNum.isNat_ofNat, Nat.cast_one, Eq.refl, Bool, Nat.ble, Even.pow_nonneg, even_two_mul, cast, Eq.symm, Eq.trans, congrFun', congrArg, Nat.cast_zero, div_le_div₀ and 58 more

    143 instances, coercions and auxiliary constants left out.

    Tactic trace: 15 steps

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