Compfiles/Usa2011P1.lean

GitHub source file

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

4 declarations, 0 contain sorry, 0 declared as axioms

USA Mathematical Olympiad 2011, Problem 1

Let a, b, c be positive reals such that a² + b² + c² + (a+b+c)² ≤ 4. Prove that (ab+1)/(a+b)² + (bc+1)/(b+c)² + (ca+1)/(c+a)² ≥ 3.

Imports (3)
Imported by 1 file
  1. lemma Usa2011P1.bound line 38 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Real, LT.lt, OfNat.ofNat, LE.le, HAdd.hAdd, HPow.hPow, Nat, HMul.hMul, HDiv.hDiv

    Proof uses: Eq.mpr, inferInstance, GroupWithZero, CommGroupWithZero, id, Eq, Mathlib.Tactic.FieldSimp.le_eq_cancel_le, Mathlib.Tactic.FieldSimp.NF.eval, Mathlib.Tactic.FieldSimp.NF.cons, Prod.mk, Int, Neg.neg, List.nil, Prod, Mathlib.Tactic.FieldSimp.eq_mul_of_eq_eq_eq_mul, Eq.trans, congr_arg₂, rfl, Mathlib.Tactic.FieldSimp.NF.mul_eq_eval, Mathlib.Tactic.FieldSimp.NF.div_eq_eval and 107 more

    124 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

    Open to load the checked before-and-after goal states.

  2. lemma Usa2011P1.cube_root line 44 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Real, LT.lt, OfNat.ofNat, Eq, HPow.hPow, HMul.hMul, Nat, HDiv.hDiv

    Proof uses: Eq.mpr, id, congrArg, Mathlib.Tactic.Ring.of_eq, HAdd.hAdd, Nat.rawCast, Mathlib.Tactic.Ring.Common.mul_congr, Mathlib.Tactic.Ring.Common.pow_congr, Mathlib.Tactic.Ring.Common.atom_pf, rfl, Eq.symm, Eq.refl, Mathlib.Tactic.Ring.cast_pos, Mathlib.Meta.NormNum.isNat_ofNat, 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_raw and 34 more

    78 instances, coercions and auxiliary constants left out.

    Tactic trace: 4 steps

    Open to load the checked before-and-after goal states.

  3. lemma Usa2011P1.AMGM AM-GM: yz/x² + xz/y² + xy/z² ≥ 3 when x,y,z > 0 line 49 source

    Source comment

    AM-GM: yz/x² + xz/y² + xy/z² ≥ 3 when x,y,z > 0

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Real, LT.lt, OfNat.ofNat, LE.le, Nat, HAdd.hAdd, HDiv.hDiv, HMul.hMul, HPow.hPow

    Proof uses: Eq.mpr, inferInstance, CommGroupWithZero, GroupWithZero, id, Eq, Mathlib.Tactic.FieldSimp.le_eq_cancel_le, Mathlib.Tactic.FieldSimp.NF.eval, Mathlib.Tactic.FieldSimp.NF.cons, Prod.mk, Int, Neg.neg, List.nil, Prod, Mathlib.Tactic.FieldSimp.eq_mul_of_eq_eq_eq_mul, rfl, Eq.trans, Eq.refl, Mathlib.Tactic.FieldSimp.NF.atom_eq_eval, Eq.symm and 126 more

    129 instances, coercions and auxiliary constants left out.

    Tactic trace: 11 steps

    Open to load the checked before-and-after goal states.

    lemma AMGM {x y z : ℝ} (hx : 0 < x) (hy : 0 < y) (hz : 0 < z) :
        3 ≤ y * z / x^2 + x * z / y^2 + x * y / z^2 := by
    …
  4. problem Usa2011P1.usa2011_p1 line 65 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Real, LT.lt, OfNat.ofNat, LE.le, HAdd.hAdd, HPow.hPow, Nat, HDiv.hDiv, HMul.hMul

    Proof uses: Eq.mpr, eq_of_heq, LE, Eq, HEq, Eq.refl, HEq.refl, Eq.symm, Mathlib.Tactic.Ring.of_eq, Nat.rawCast, Inv.inv, Mathlib.Tactic.Ring.Common.add_congr, Mathlib.Tactic.Ring.Common.div_congr, Mathlib.Tactic.Ring.Common.mul_congr, Mathlib.Tactic.Ring.Common.atom_pf, rfl, id, congrArg, Mathlib.Tactic.Ring.Common.add_pf_add_lt, Mathlib.Tactic.Ring.Common.add_pf_zero_add and 91 more

    125 instances, coercions and auxiliary constants left out.

    Tactic trace: 10 steps

    Open to load the checked before-and-after goal states.