Compfiles/Imo1959P3.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
International Mathematical Olympiad 1959, Problem 3
Let a, b, c be real numbers. Given the equation for cos x:
a cos²x + b cos x + c = 0,
form a quadratic equation in cos 2x whose roots are the same values of x.
Compare the equations in cos x and cos 2x for a = 4, b = 2, c = -1.
Imports (2)
Imported by 1 file
- determine
Imo1959P3.formedQuadraticDocumented declaration: formedQuadratic line 30 sourceSource documentation
The coefficients of the quadratic equation in
cos (2 * x)formed froma * cos x ^ 2 + b * cos x + c = 0: writingcos (2 * x) = 2 * cos x ^ 2 - 1and eliminating the odd power ofcos xby squaring.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,ProdProof uses:
Prod.mk,HPow.hPow,Nat,OfNat.ofNat,HSub.hSub,HAdd.hAdd,HMul.hMul15 instances, coercions and auxiliary constants left out.
determine formedQuadratic (a b c : ℝ) : ℝ × ℝ × ℝ := …
- def
Imo1959P3.formedQuadraticEvalThe formed quadratic evaluated att, i.e. the quadratic with coefficientsformedQuadratic a b capplied totline 35 sourceSource documentation
The formed quadratic evaluated at
t, i.e. the quadratic with coefficientsformedQuadratic a b capplied tot.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
RealProof uses:
HAdd.hAdd,HMul.hMul,Prod.fst,Prod, Imo1959P3.formedQuadratic,HPow.hPow,Nat,OfNat.ofNat,Prod.snd9 instances, coercions and auxiliary constants left out.
def formedQuadraticEval (a b c : ℝ) (t : ℝ) : ℝ := …
- lemma
Imo1959P3.sq_b_mul_cosSquaring the rearranged equationb * cos x = -(a * cos x ^ 2 + c)eliminates the odd power ofcos xline 43 sourceSource documentation
Squaring the rearranged equation
b * cos x = -(a * cos x ^ 2 + c)eliminates the odd power ofcos x.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Eq,HAdd.hAdd,HMul.hMul,HPow.hPow,Nat,Real.cos,OfNat.ofNatProof uses:
Neg.neg,Mathlib.Tactic.Linarith.eq_of_not_lt_of_not_gt,Not.intro,LT.lt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,HSub.hSub,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.add_congr,Nat.rawCast,Int.rawCast,inferInstance,Ring,Int.negOfNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Tactic.Ring.Common.neg_congr,Mathlib.Tactic.Ring.Common.sub_congr,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.Common.atom_pfand 59 more70 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma sq_b_mul_cos (a b c x : ℝ) (h : a * cos x ^ 2 + b * cos x + c = 0) : b ^ 2 * cos x ^ 2 = (a * cos x ^ 2 + c) ^ 2 := by …Mentions: h
- lemma
Imo1959P3.formedQuadratic_cos_two_mulThe formed quadratic evaluated atcos (2 * x), expressed back in terms ofcos xviacos (2 * x) = 2 * cos x ^ 2 - 1line 51 sourceSource documentation
The formed quadratic evaluated at
cos (2 * x), expressed back in terms ofcos xviacos (2 * x) = 2 * cos x ^ 2 - 1.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Eq, Imo1959P3.formedQuadraticEval,Real.cos,HMul.hMul,OfNat.ofNat,Nat,HSub.hSub,HPow.hPow,HAdd.hAddProof uses:
id,Prod.fst,Prod, Imo1959P3.formedQuadratic,Prod.snd,Eq.mpr,Prod.mk,congrArg,Real.cos_two_mul,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Int.rawCast,inferInstance,Ring,Int.negOfNat,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.Common.pow_congr,Mathlib.Tactic.Ring.Common.atom_pfand 52 more61 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma formedQuadratic_cos_two_mul (a b c x : ℝ) : formedQuadraticEval a b c (cos (2 * x)) = 4 * ((a * cos x ^ 2 + c) ^ 2 - b ^ 2 * cos x ^ 2) := by …Mentions: Imo1959P3.formedQuadraticEval
- problem
Imo1959P3.imo1959_p3line 60 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Eq,HAdd.hAdd,HMul.hMul,HPow.hPow,Nat,Real.cos,OfNat.ofNat, Imo1959P3.formedQuadraticEvalProof uses:
Eq.mpr,HSub.hSub,id,congrArg, Imo1959P3.formedQuadratic_cos_two_mul, Imo1959P3.sq_b_mul_cos,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.mul_congr,Nat.rawCast,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Mathlib.Tactic.Ring.Common.sub_congr,Mathlib.Tactic.Ring.Common.pow_congr,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Tactic.Ring.Common.atom_pf,rfl,Eq.symm,Mathlib.Tactic.Ring.Common.pow_addand 48 more57 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- problem
Imo1959P3.imo1959_p3_comparisonFora = 4,b = 2,c = -1the formed equation incos 2xis four times the original equation incos x: the two equations are the same line 67 sourceSource documentation
For
a = 4,b = 2,c = -1the formed equation incos 2xis four times the original equation incos x: the two equations are the same.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Eq, Imo1959P3.formedQuadraticEval,OfNat.ofNat,Nat,Neg.neg,HMul.hMul,HSub.hSub,HAdd.hAdd,HPow.hPowProof uses:
id,Prod.fst,Prod, Imo1959P3.formedQuadratic,Prod.snd,Mathlib.Tactic.Ring.of_eq,Prod.mk,Int.rawCast,inferInstance,Ring,Int.negOfNat,Nat.rawCast,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.Common.pow_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Mathlib.Tactic.Ring.Common.pow_addand 49 more65 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
problem imo1959_p3_comparison (t : ℝ) : formedQuadraticEval 4 2 (-1) t = 4 * (4 * t ^ 2 + 2 * t - 1) := by …Mentions: Imo1959P3.formedQuadraticEval