Compfiles/Imo1961P2.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
3 declarations, 0 contain sorry, 0 declared as axioms
International Mathematical Olympiad 1961, Problem 2
Let $a, b, c$ be the sides of a triangle, and $T$ its area. Prove: $$ a^2 + b^2 + c^2 \ge 4\sqrt{3} T $$ Equality holds if and only if the triangle is equilateral.
Imports (4)
Imported by 1 file
- lemma
Imo1961P2.weitzenbock_identityHelper lemma: The key algebraic identity for Weitzenböck's inequality line 44 sourceSource documentation
Helper lemma: The key algebraic identity for Weitzenböck's inequality. (a^2 + b^2 + c^2)^2 - 48 T^2 = 2((a^2-b^2)^2 + (b^2-c^2)^2 + (c^2-a^2)^2)
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Eq,HMul.hMul,OfNat.ofNat,Nat,HPow.hPow,HAdd.hAdd,HSub.hSub,Neg.negProof uses:
Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Mathlib.Tactic.Ring.Common.pow_congr,Mathlib.Tactic.Ring.Common.atom_pf,rfl,Eq.mpr,id,congrArg,Eq.symm,Mathlib.Tactic.Ring.Common.pow_add,Mathlib.Tactic.Ring.Common.single_pow,Mathlib.Tactic.Ring.Common.mul_pow_mul,Mathlib.Meta.NormNum.IsNat.to_raw_eq,Mathlib.Meta.NormNum.isNat_mul,Mathlib.Meta.NormNum.IsNat.of_rawand 45 more59 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma weitzenbock_identity (a b c T : ℝ) (h_area : 16 * T^2 = (a + b + c) * (a + b - c) * (a - b + c) * (-a + b + c)) : (a^2 + b^2 + c^2)^2 - 48 * T^2 = 2 * ((a^2 - b^2)^2 + (b^2 - c^2)^2 + (c^2 - a^2)^2) := by … - problem
Imo1961P2.imo1961_p2aIMO 1961 P2 (Inequality Case) line 57 sourceSource documentation
IMO 1961 P2 (Inequality Case)
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,LT.lt,OfNat.ofNat,Eq,HMul.hMul,Nat,HPow.hPow,HAdd.hAdd,HSub.hSub,Neg.neg,GE.ge,Real.sqrtProof uses:
nonneg_le_nonneg_of_sq_le_sq,le_of_lt,add_pos',pow_pos,Eq.mpr,LE.le,id,congr,congrArg,Eq.trans,Nat.rawCast,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Mathlib.Tactic.Ring.Common.atom_pf,rfl,Eq.symm,Mathlib.Tactic.Ring.Common.add_muland 78 more105 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
problem imo1961_p2a (a b c T : ℝ) (h_pos_a : 0 < a) (h_pos_b : 0 < b) (h_pos_c : 0 < c) (h_area : 16 * T^2 = (a + b + c) * (a + b - c) * (a - b + c) * (-a + b + c)) : a^2 + b^2 + c^2 ≥ 4 * Real.sqrt 3 * T := by … - problem
Imo1961P2.imo1961_p2bIMO 1961 P2 (Equality Case) line 75 sourceSource documentation
IMO 1961 P2 (Equality Case)
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,LT.lt,OfNat.ofNat,Eq,HMul.hMul,Nat,HPow.hPow,HAdd.hAdd,HSub.hSub,Neg.neg,Iff,Real.sqrt,AndProof uses:
Iff.intro, Imo1961P2.weitzenbock_identity,Eq.mpr,id,congrArg,mul_pow,Real.sq_sqrt,Mathlib.Meta.NormNum.isNat_le_true,Mathlib.Meta.NormNum.isNat_ofNat,Nat.cast_zero,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Bool,Bool.true,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.Common.pow_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Tactic.Ring.Common.pow_addand 97 more129 instances, coercions and auxiliary constants left out.
Tactic trace: 52 steps
Open to load the checked before-and-after goal states.
problem imo1961_p2b (a b c T : ℝ) (h_pos_a : 0 < a) (h_pos_b : 0 < b) (h_pos_c : 0 < c) (h_pos_T : 0 < T) (h_area : 16 * T^2 = (a + b + c) * (a + b - c) * (a - b + c) * (-a + b + c)) : a^2 + b^2 + c^2 = 4 * Real.sqrt 3 * T ↔ a = b ∧ b = c := by …