Compfiles/Usa2004P5.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
8 declarations, 0 contain sorry, 0 declared as axioms
USA Mathematical Olympiad 2004, Problem 5
Prove that for a,b,c > 0, (a⁵ - a² + 3) (b⁵ - b² + 3) (c⁵ - c² + 3) ≥ (a + b + c)³.
Imports (2)
Imported by 1 file
- lemma
Usa2004P5.poly_boundMain estimate that lets us convert into Holder line 31 sourceSource comment
Main estimate that lets us convert into Holderstandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,LT.lt,OfNat.ofNat,LE.le,HAdd.hAdd,HPow.hPow,Nat,HSub.hSubProof uses:
GE.ge,Even.pow_nonneg,HMul.hMul,even_two_mul,le_of_lt,mul_pos,add_pos',Mathlib.Meta.Positivity.pos_of_isNat,Mathlib.Meta.NormNum.isNat_ofNat,Nat.cast_one,Eq.refl,Bool,Nat.ble,pow_pos,le_of_not_gt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.add_congrand 69 more114 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
lemma poly_bound {x : ℝ} (hx : 0 < x) : x^3 + 2 ≤ x^5 - x^2 + 3 := by … - lemma
Usa2004P5.poly_nonnegDocumented declaration: poly_nonneg line 39 sourceSource comment
It's not obvious a priori that x⁵ - x² + 3 is even positive and this will make life annoying later when we try to multiply ineq's together Thus, define a corollary that follows from the abovestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,LT.lt,OfNat.ofNat,LE.le,HAdd.hAdd,HSub.hSub,HPow.hPow,NatProof uses:
LE.le.trans,le_of_lt,add_pos',pow_pos,Mathlib.Meta.Positivity.pos_of_isNat,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Bool,Nat.ble, Usa2004P5.poly_bound53 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma poly_nonneg {x : ℝ} (hx : 0 < x) : 0 ≤ x^5 - x^2 + 3 := by … - lemma
Usa2004P5.multiplied_boundMultiply these all together to get to the intermediate (a³+2)(b³+2)(c³+2) line 43 sourceSource comment
Multiply these all together to get to the intermediate (a³+2)(b³+2)(c³+2)standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,LT.lt,OfNat.ofNat,LE.le,HMul.hMul,HAdd.hAdd,HPow.hPow,Nat,HSub.hSubProof uses:
mul_le_mul, Usa2004P5.poly_bound,le_of_lt,add_pos',pow_pos,Mathlib.Meta.Positivity.pos_of_isNat,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Bool,Nat.ble, Usa2004P5.poly_nonneg,mul_nonneg60 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
lemma multiplied_bound {a b c : ℝ} (ha : 0 < a) (hb : 0 < b) (hc : 0 < c) : (a^3 + 2) * (b^3 + 2) * (c^3 + 2) ≤ (a^5 - a^2 + 3) * (b^5 - b^2 + 3) * (c^5 - c^2 + 3) := by … - lemma
Usa2004P5.holder_conjugate_33-variable Holder inequality (the painful part...) line 52 sourceSource comment
3-variable Holder inequality (the painful part...)standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real.HolderConjugate,HDiv.hDiv,Real,OfNat.ofNat,NatProof uses:
Eq.mpr,And,LT.lt,Eq,HAdd.hAdd,Inv.inv,id,congrArg,propext,Real.holderConjugate_iff,of_eq_true,Eq.trans,True,congr,eq_true,Mathlib.Meta.NormNum.isNNRat_lt_true,Mathlib.Meta.NormNum.IsNat.to_isNNRat,Mathlib.Meta.NormNum.isNat_ofNat,Nat.cast_one,Mathlib.Meta.NormNum.isNNRat_divand 14 more46 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma holder_conjugate_3 : Real.HolderConjugate (3/2 : ℝ) 3 := by …
- theorem
Usa2004P5.triple_holderline 55 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Finset,Nat,NNReal,LE.le,HPow.hPow,Finset.sum,HMul.hMul,OfNat.ofNatProof uses:
Real,HDiv.hDiv,NNReal.inner_le_Lp_mul_Lq, Usa2004P5.holder_conjugate_3,Real.HolderConjugate.two_two,NNReal.rpow_le_rpow,Mathlib.Meta.NormNum.isNat_le_true,Mathlib.Meta.NormNum.isNat_ofNat,Nat.cast_zero,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Bool,Bool.true,Eq.mpr,id,Eq,congr,congrArg,Finset.sum_congr,Membership.memand 20 more79 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2004P5.key_holderline 72 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NNReal,LE.le,HPow.hPow,Nat,HAdd.hAdd,OfNat.ofNat,HMul.hMulProof uses:
Finset.sum,Finset.range,Unit, Usa2004P5.triple_holder,Eq.mpr,eq_of_heq,LE,Eq,HEq,Eq.refl,HEq.refl,Eq.symm,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.Common.pow_congr,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Tactic.Ring.Common.atom_pf,rfl,id,congrArgand 45 more72 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2004P5.key_holder_realline 83 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,LT.lt,OfNat.ofNat,LE.le,HPow.hPow,Nat,HAdd.hAdd,HMul.hMulProof uses:
Eq.mpr,Real.toNNReal,id,Eq,congrArg,Eq.symm,Real.coe_toNNReal,LT.lt.le, Usa2004P5.key_holder36 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- problem
Usa2004P5.usa2004_p5line 90 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,LT.lt,OfNat.ofNat,LE.le,HPow.hPow,Nat,HAdd.hAdd,HMul.hMul,HSub.hSubProof uses:
LE.le.trans, Usa2004P5.key_holder_real, Usa2004P5.multiplied_bound38 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.