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

6 declarations, 0 contain sorry, 0 declared as axioms

USA Mathematical Olympiad 1993, Problem 3

Consider functions f : [0,1] → ℝ which satisfy

(i) f(x) ≥ 0 for all x ∈ [0,1] (ii) f(1) = 1 (iii) f(x) + f(y) ≤ f (x + y) whenever x, y and x + y are all in [0,1].

Determine the smallest constant c such that

f(x) ≤ cx

for every function satisfying (i) - (iii) and every x ∈ [0,1].

Imports (2)
Imported by 1 file
  1. theorem Usa1993P3.lemma1 This lemma was proved automatically by Kimina-Prover 72B line 38 source

    Source comment

    This lemma was proved automatically by Kimina-Prover 72B

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

    Statement uses: Real, Set.Icc, OfNat.ofNat, ite, LE.le, Membership.mem, Set, HDiv.hDiv, Nat, And, Subtype.mk, HMul.hMul, Eq, HAdd.hAdd

    Proof uses: Decidable.byContradiction, Not, GE.ge, of_eq_true, Eq.trans, True, congr, congrArg, eq_true, Mathlib.Meta.NormNum.isRat_le_true, Int.ofNat, Mathlib.Meta.NormNum.IsNNRat.to_isRat, Mathlib.Meta.NormNum.IsNat.to_isNNRat, Mathlib.Meta.NormNum.isNat_ofNat, Nat.cast_zero, Mathlib.Meta.NormNum.isNNRat_div, Mathlib.Meta.NormNum.isNNRat_mul, Inv.inv, Eq.refl, Nat.cast_one and 123 more

    141 instances, coercions and auxiliary constants left out.

    Tactic trace: 25 steps

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

    theorem lemma1 (c1 : ℝ) :
      let f := fun x : (Set.Icc (0:ℝ) 1) ↦ if (x:ℝ) ≤ 1 / 2 then 0 else 1;
    …

    Mentions: f

  2. lemma Usa1993P3.dyadicBracket line 67 source
  3. theorem Usa1993P3.lemma2 This lemma was proved by GPT5, with some help from dwrensha to fix up some errors line 85 source

    Source comment

    This lemma was proved by GPT5, with some help from dwrensha to fix up some errors.

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

    Statement uses: Real, Set.Icc, OfNat.ofNat, And, LE.le, Eq, Membership.mem, Set, HAdd.hAdd, Subtype.mk, HSub.hSub, Nat, HDiv.hDiv, HPow.hPow, HMul.hMul

    Proof uses: of_eq_true, Eq.trans, True, congr, congrArg, and_self, Eq.mpr, Subtype, id, Eq.mp, congrFun', Subtype.mk.congr_simp, sub_self, le_of_not_gt, LT.lt, Mathlib.Tactic.Linarith.lt_irrefl, Mathlib.Tactic.Ring.of_eq, Mathlib.Tactic.Ring.Common.add_congr, Nat.rawCast, Int.rawCast and 74 more

    182 instances, coercions and auxiliary constants left out.

    Tactic trace: 73 steps

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

    theorem lemma2 (f : ↑(Set.Icc 0 1) → ℝ) (x : ℝ) (hx : 0 ≤ x ∧ x ≤ 1)
        (h1 : ∀ (x : ↑(Set.Icc 0 1)), 0 ≤ f x) (h2 : f 1 = 1)
        (h3 : ∀ (x y : ↑(Set.Icc 0 1)) (h : x.val + y.val ∈ Set.Icc 0 1),
                   f x + f y ≤ f ⟨x.val + y.val, h⟩)
        (h4 : ∀ (x : ↑(Set.Icc (0 : ℝ) 1)), 1 - x.val ∈ Set.Icc 0 1)
        (h5 : ∀ (x : ↑(Set.Icc (0 : ℝ) 1)), f x + f ⟨1 - x.val, h4 x⟩ ≤ 1)
        (h6 : ∀ (x : ↑(Set.Icc (0 : ℝ) 1)), f x ≤ 1)
        (h8 : ∀ n : ℕ, ∀ x : Set.Icc (0 : ℝ) (1/2^n), 2^n * (x : ℝ) ∈ Set.Icc (0:ℝ) 1)
        : f ⟨x, hx⟩ ≤ 2 * x := by
    …

    Mentions: f, h

  4. def Usa1993P3.valid line 186 source

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

    Statement uses: Real, Set.Icc, OfNat.ofNat

    Proof uses: And, LE.le, Eq, Membership.mem, Set, HAdd.hAdd, Subtype.mk

    21 instances, coercions and auxiliary constants left out.

  5. determine Usa1993P3.min_c line 191 source

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

    Statement uses: Real

    Proof uses: OfNat.ofNat

    3 instances, coercions and auxiliary constants left out.

  6. problem Usa1993P3.usa1993_p3 line 193 source

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

    Statement uses: IsLeast, Real, Set.ofPred, Set.Icc, OfNat.ofNat, Usa1993P3.valid, LE.le, HMul.hMul, Membership.mem, Set, Usa1993P3.min_c

    Proof uses: Eq.mpr, And, Subtype.mk, Eq.substr, id, Eq, congrFun', congrArg, funext, Subtype, forall_congr, implies_congr, Eq.refl, Eq.trans, forall_prop_domain_congr, And.intro, lowerBounds, HAdd.hAdd, HSub.hSub, Iff.mp and 125 more

    148 instances, coercions and auxiliary constants left out.

    Tactic trace: 49 steps

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