Compfiles/Usa2015P6.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

5 declarations, 0 contain sorry, 0 declared as axioms

USA Mathematical Olympiad 2015, Problem 6

Fix $0 < \lambda < 1$, and let $A$ be a multiset of positive integers. Let $A_n = \{a \in A : a \le n\}$. Assume that for every $n \in \mathbb{N}$, the multiset $A_n$ contains at most $n\lambda$ numbers. Show that there are infinitely many $n \in \mathbb{N}$ for which the sum of the elements in $A_n$ is at most $\frac{n(n+1)}{2}\lambda$.

Imports (4)
Imported by 1 file
  1. lemma Usa2015P6.sum_Icc_one_eq_sum_range_add Rewrite a sum over Finset.Icc 1 n as a sum over Finset.range n line 33 source

    Source documentation

    Rewrite a sum over Finset.Icc 1 n as a sum over Finset.range n.

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

    Statement uses: AddCommMonoid, Nat, Eq, Finset.sum, Finset.Icc, OfNat.ofNat, Finset.range, HAdd.hAdd

    Proof uses: Nat.recAux, of_eq_true, Eq.trans, True, congrFun', congrArg, Finset.sum_congr, EmptyCollection.emptyCollection, Finset, Finset.Icc_eq_empty_of_lt, LT.lt, eq_self, Membership.mem, Eq.refl, Eq.mpr, id, Finset.sum_Icc_succ_top, Finset.sum_range_succ

    36 instances, coercions and auxiliary constants left out.

    Tactic trace: 4 steps

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

    lemma sum_Icc_one_eq_sum_range_add {M : Type*} [AddCommMonoid M] (f : ℕ → M) (n : ℕ) :
        ∑ k ∈ Finset.Icc 1 n, f k = ∑ k ∈ Finset.range n, f (k + 1) := by
    …

    Mentions: f

  2. lemma Usa2015P6.sum_elements_sub_card Abel summation identity: the sum of the elements of the multiset A not exceeding n equals n + 1 times their number minus the sum of the counts line 42 source

    Source documentation

    Abel summation identity: the sum of the elements of the multiset A not exceeding n equals n + 1 times their number minus the sum of the counts.

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

    Statement uses: Nat, Eq, Real, Finset.sum, Finset.Icc, OfNat.ofNat, HMul.hMul, HSub.hSub, HAdd.hAdd

    Proof uses: Nat.recAux, of_eq_true, Eq.trans, True, congr, congrArg, Finset.sum_congr, EmptyCollection.emptyCollection, Finset, Finset.Icc_eq_empty_of_lt, LT.lt, eq_self, Membership.mem, Eq.refl, congrFun', CharP.cast_eq_zero, zero_add, MulZeroClass.mul_zero, sub_self, LE.le and 50 more

    96 instances, coercions and auxiliary constants left out.

    Tactic trace: 7 steps

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

    lemma sum_elements_sub_card (A : ℕ → ℕ) (n : ℕ) :
        ∑ m ∈ Finset.Icc 1 n, (m : ℝ) * (A m : ℝ)
          = (n + 1) * (∑ k ∈ Finset.Icc 1 n, (A k : ℝ))
            - ∑ k ∈ Finset.Icc 1 n, ∑ m ∈ Finset.Icc 1 k, (A m : ℝ) := by
    …
  3. lemma Usa2015P6.harmonic_large The partial sums of the harmonic series grow past any bound line 57 source

    Source documentation

    The partial sums of the harmonic series grow past any bound.

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

    Statement uses: Real, Exists, Nat, LT.lt, Finset.sum, Finset.range, HDiv.hDiv, OfNat.ofNat, HAdd.hAdd

    Proof uses: Filter.Eventually.exists, Filter.atTop, Filter.Tendsto.eventually_gt_atTop, Real.tendsto_sum_range_one_div_nat_succ_atTop

    41 instances, coercions and auxiliary constants left out.

    lemma harmonic_large (B : ℝ) : ∃ k : ℕ, B < ∑ i ∈ Finset.range k, (1 : ℝ) / (i + 1) :=
    …
  4. lemma Usa2015P6.recurrent_averages_absurd Core analytic lemma line 64 source

    Source documentation

    Core analytic lemma. A nonnegative real sequence for which, from some point on, every term is smaller than the average of the previous terms, while consecutive terms always differ by at least some fixed ε > 0, cannot exist: its running average would eventually become negative.

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

    Statement uses: Nat, Real, LT.lt, OfNat.ofNat, LE.le, GE.ge, HMul.hMul, Finset.sum, Finset.range, abs, HSub.hSub, HAdd.hAdd, False

    Proof uses: cast, Eq.symm, Eq.trans, congrFun', congrArg, Nat.cast_zero, HDiv.hDiv, lt_of_lt_of_le, Eq.mpr, id, Eq, propext, lt_div_iff₀, mul_comm, add_pos', Mathlib.Meta.Positivity.pos_of_isNat, Mathlib.Meta.NormNum.isNat_ofNat, Nat.cast_one, Eq.refl, Bool and 182 more

    193 instances, coercions and auxiliary constants left out.

    Tactic trace: 98 steps

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

    lemma recurrent_averages_absurd
        (x : ℕ → ℝ) (ε : ℝ) (hε : 0 < ε) (N : ℕ) (hN : 1 ≤ N)
        (hx_nonneg : ∀ n, 0 ≤ x n)
        (hx_avg : ∀ n ≥ N, (n : ℝ) * x n < ∑ k ∈ Finset.range n, x k)
        (hx_step : ∀ n, ε ≤ |x (n + 1) - x n|) :
        False := by
    …
  5. problem Usa2015P6.usa2015_p6 line 173 source

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

    Statement uses: Real, And, LT.lt, OfNat.ofNat, Nat, LE.le, Finset.sum, Finset.Icc, HMul.hMul, Set.Infinite, Set.ofPred, HDiv.hDiv, HAdd.hAdd

    Proof uses: Classical.byContradiction, Not, Membership.mem, Set, upperBounds, BddAbove, False, Set.Finite.bddAbove, Eq.mp, Set.Finite, congrArg, propext, Set.not_infinite, GE.ge, Decidable.byContradiction, HSub.hSub, Eq, rfl, Eq.mpr, id and 167 more

    179 instances, coercions and auxiliary constants left out.

    Tactic trace: 73 steps

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