Compfiles/Usa1993P3.lean
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
- theorem
Usa1993P3.lemma1This lemma was proved automatically by Kimina-Prover 72B line 38 sourceSource comment
This lemma was proved automatically by Kimina-Prover 72Bstandard 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.hAddProof 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_oneand 123 more141 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
- lemma
Usa1993P3.dyadicBracketline 67 source - theorem
Usa1993P3.lemma2This lemma was proved by GPT5, with some help from dwrensha to fix up some errors line 85 sourceSource 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.hMulProof 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.rawCastand 74 more182 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 … - def
Usa1993P3.validline 186 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Set.Icc,OfNat.ofNatProof uses:
And,LE.le,Eq,Membership.mem,Set,HAdd.hAdd,Subtype.mk21 instances, coercions and auxiliary constants left out.
- determine
Usa1993P3.min_cline 191 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
RealProof uses:
OfNat.ofNat3 instances, coercions and auxiliary constants left out.
- problem
Usa1993P3.usa1993_p3line 193 sourcestandard 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_cProof 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.mpand 125 more148 instances, coercions and auxiliary constants left out.
Tactic trace: 49 steps
Open to load the checked before-and-after goal states.