Compfiles/Usa2014P1.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
7 declarations, 0 contain sorry, 0 declared as axioms
USA Mathematical Olympiad 2014, Problem 1
Let a, b, c, d be real numbers such that b-d ≥ 5 and all zeros x₁, x₂, x₃, x₄ of x⁴+ax³+bx²+cx+d are real. Find the smallest value the product $(x₁²+1)(x₂²+1)(x₃²+1)(x₄²+1)$ can take.
Imports (2)
Imported by 1 file
- def
Usa2014P1.Objectiveline 29 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,RealProof uses:
Finset.prod,Finset.univ,HAdd.hAdd,HPow.hPow12 instances, coercions and auxiliary constants left out.
- def
Usa2014P1.Conditionsline 31 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,RealProof uses:
Exists,And,LE.le,HSub.hSub,Eq,Polynomial,HMul.hMul,Polynomial.X,RingHom,Polynomial.C,HAdd.hAdd,HPow.hPow25 instances, coercions and auxiliary constants left out.
- lemma
Usa2014P1.construction_for_16For construction, set all roots to 1 and check it gives 16 line 43 sourceSource comment
For construction, set all roots to 1 and check it gives 16standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Exists,Fin,OfNat.ofNat,Nat,Real,And, Usa2014P1.Conditions,Eq, Usa2014P1.ObjectiveProof uses:
Exists.intro,And.intro,id,LE.le,HSub.hSub,Polynomial,HMul.hMul,Polynomial.X,RingHom,Polynomial.C,HAdd.hAdd,HPow.hPow,Neg.neg,Mathlib.Meta.NormNum.isNat_le_true,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Mathlib.Meta.NormNum.IsInt.to_isNat,Mathlib.Meta.NormNum.isInt_sub,Int.ofNatand 74 more92 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
lemma construction_for_16 : exists x, Conditions x ∧ Objective x = 16 := by …
Mentions: Usa2014P1.Conditions, Usa2014P1.Objective
- lemma
Usa2014P1.vietaVieta formulas for b and d (we don't actually need them for a and c) line 62 sourceSource comment
Vieta formulas for b and d (we don't actually need them for a and c)standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Real,Eq,Polynomial,HMul.hMul,HSub.hSub,Polynomial.X,RingHom,Polynomial.C,HAdd.hAdd,HPow.hPow,AndProof uses:
And.intro,of_eq_true,Eq.trans,True,congrArg,id,Eq.mp,Polynomial.eval,congr,Polynomial.eval_mul,Neg.neg,Polynomial.eval_sub,Polynomial.eval_X,Polynomial.eval_C,zero_sub,mul_neg,neg_mul,neg_neg,Polynomial.eval_add,Polynomial.eval_powand 99 more134 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
lemma vieta (x: Fin 4 → ℝ) (a : ℝ) (b : ℝ) (c : ℝ) (d : ℝ) (hpoly : (X - C (x 0)) * (X - C (x 1)) * (X - C (x 2)) * (X - C (x 3)) = X^4 + C a * X^3 + C b * X^2 + C c * X + C d) : d = (x 0) * (x 1) * (x 2) * (x 3) ∧ b = (x 0) * (x 1) + (x 0) * (x 2) + (x 0) * (x 3) + (x 1) * (x 2) + (x 1) * (x 3) + (x 2) * (x 3) := by … - lemma
Usa2014P1.main_boundNow use Vieta relation to prove the key bound line 75 sourceSource comment
Now use Vieta relation to prove the key boundstandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Real, Usa2014P1.Conditions,LE.le, Usa2014P1.ObjectiveProof uses:
Exists,And,HSub.hSub,Eq,Polynomial,HMul.hMul,Polynomial.X,RingHom,Polynomial.C,HAdd.hAdd,HPow.hPow,id,Eq.mpr,Finset.prod,Finset.univ,congrArg,And.left, Usa2014P1.vieta,And.right,Fin.prod_univ_fourand 81 more113 instances, coercions and auxiliary constants left out.
Tactic trace: 15 steps
Open to load the checked before-and-after goal states.
lemma main_bound {x} (hx : Conditions x) : 16 ≤ Objective x := by …Mentions: Usa2014P1.Conditions, Usa2014P1.Objective
- determine
Usa2014P1.solutionline 94 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
RealProof uses:
OfNat.ofNat3 instances, coercions and auxiliary constants left out.
- problem
Usa2014P1.usa2014_p1line 96 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
IsLeast,Real,Set.image,Fin,OfNat.ofNat,Nat, Usa2014P1.Objective,Set.ofPred, Usa2014P1.Conditions, Usa2014P1.solutionProof uses:
And.intro,Membership.mem,Set,lowerBounds,of_eq_true,Eq.trans,Exists,And,Eq,True,LE.le, Usa2014P1.main_bound10 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.