Compfiles/Imo2012P2.lean
9 declarations, 0 contain sorry, 0 declared as axioms
International Mathematical Olympiad 2012, Problem 2
Let a₂, a₃, ..., aₙ be positive reals with product 1, where n ≥ 3. Show that (1 + a₂)²(1 + a₃)³...(1 + aₙ)ⁿ > nⁿ.
Imported by 1 file
- lemma
Imo2012P2.Finset.prod_eq_prod_iff_of_pos_of_leline 32 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommMonoidWithZero,PartialOrder,ZeroLEOneClass,PosMulStrictMono,MulPosStrictMono,Nontrivial,DecidableEq,Finset,Membership.mem,LT.lt,OfNat.ofNat,LE.le,Iff,Eq,Finset.prodProof uses:
Iff.intro,Finset.erase,Finset.prod_le_prod₀,le_of_lt,Finset.mem_of_mem_erase,lt_of_le_of_lt',Finset.prod_pos,And.left,Eq.mp,HMul.hMul,And,congrArg,propext,mul_eq_mul_iff_eq_and_eq_of_pos,Insert.insert,Finset.prod_insert,Finset.notMem_erase,Eq.symm,Finset.insert_erase,Finset.prod_congrand 1 more36 instances, coercions and auxiliary constants left out.
Tactic trace: 25 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2012P2.Real.geom_mean_eq_arith_mean2_weighted_iffline 58 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,LT.lt,OfNat.ofNat,Eq,HAdd.hAdd,Iff,HMul.hMul,HPow.hPowProof uses:
Fin,Nat.succ,Nat,Membership.mem,Finset,Finset.univ,Matrix.vecCons,Matrix.vecEmpty,Finset.sum,LE.le,Finset.prod,Real.geom_mean_eq_arith_mean_weighted_iff_of_pos',And,Eq.mp,Eq.trans,implies_congr,forall_congr,True,Eq.refl,congrArgand 18 more52 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2012P2.aux₁line 74 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Eq,Real,HPow.hPow,Finset.prod,Finset.Icc,HDiv.hDiv,HSub.hSubProof uses:
Nat.le_induction,of_eq_true,Eq.trans,True,Mathlib.Meta.NormNum.instAtLeastTwo,congr,congrArg,Mathlib.Meta.NormNum.IsNat.to_eq,Mathlib.Meta.NormNum.isNat_pow,Eq.refl,Mathlib.Meta.NormNum.isNat_natCast,Mathlib.Meta.NormNum.isNat_ofNat,Mathlib.Meta.NormNum.IsNatPowT.run,Mathlib.Meta.NormNum.IsNatPowT.bit0,Singleton.singleton,Finset,Finset.prod_congr,Finset.Icc_self,Membership.mem,Finset.prod_div_distriband 43 more141 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2012P2.aux₂line 82 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Real,LE.le,OfNat.ofNat,LT.lt,Eq,HMul.hMul,HDiv.hDiv,HPow.hPow,HSub.hSubProof uses:
Eq.mpr,id,congrArg,propext,Nat.cast_pos,Eq.symm,Nat.cast_one,Nat.cast_sub,Real.rpow_natCast,Real.mul_rpow,le_of_lt,Real.rpow_pos_of_pos,div_pos,inferInstance,PartialOrder,Mathlib.Meta.Positivity.pos_of_isNat,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Bool,Nat.bleand 47 more118 instances, coercions and auxiliary constants left out.
Tactic trace: 24 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2012P2.aux₃line 99 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Real,LE.le,OfNat.ofNat,LT.lt,Eq,HPow.hPow,HAdd.hAdd,HMul.hMul,HDiv.hDiv,HSub.hSubProof uses:
Eq.mpr,id,congrArg,propext,Nat.cast_pos,Eq.symm,Nat.cast_one,Nat.cast_sub,Real.rpow_natCast,Real.mul_rpow,le_of_lt,Iff.mpr,Nat.cast_pos',lt_of_lt_of_le,inferInstance,PartialOrder,Zero,Mathlib.Meta.Positivity.pos_of_isNat,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refland 66 more126 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2012P2.aux₄line 112 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Real,LE.le,OfNat.ofNat,LT.lt,HMul.hMul,HDiv.hDiv,HPow.hPow,HSub.hSub,HAdd.hAddProof uses:
Eq.mpr,id,Eq,congrArg,propext,Nat.cast_pos,Eq.symm,Nat.cast_one,Nat.cast_sub, Imo2012P2.aux₂, Imo2012P2.aux₃,mul_le_mul_iff_right₀,pow_pos,Iff.mpr,Nat.cast_pos',lt_of_lt_of_le,inferInstance,PartialOrder,Zero,Mathlib.Meta.Positivity.pos_of_isNatand 73 more145 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2012P2.aux₅line 125 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Real,LE.le,OfNat.ofNat,LT.lt,Iff,Eq,HMul.hMul,HDiv.hDiv,HPow.hPow,HSub.hSub,HAdd.hAddProof uses:
Eq.mpr,id,congrArg,propext,Nat.cast_pos,Eq.symm,Nat.cast_one,Nat.cast_sub, Imo2012P2.aux₂, Imo2012P2.aux₃,mul_left_cancel_iff_of_pos,pow_pos,Iff.mpr,Nat.cast_pos',lt_of_lt_of_le,inferInstance,PartialOrder,Zero,Mathlib.Meta.Positivity.pos_of_isNat,Mathlib.Meta.NormNum.isNat_ofNatand 73 more136 instances, coercions and auxiliary constants left out.
Tactic trace: 21 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2012P2.aux₆line 139 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Eq,Real,Finset.prod,Finset.Icc,HSub.hSub,Nat.factorialProof uses:
Nat.le_induction,of_eq_true,Eq.trans,True,Mathlib.Meta.NormNum.instAddMonoidWithOne,congr,congrArg,Singleton.singleton,Finset,Finset.prod_congr,Finset.Icc_self,Membership.mem,Eq.refl,Finset.prod_singleton,Mathlib.Meta.NormNum.IsNat.to_eq,Mathlib.Meta.NormNum.IsInt.to_isNat,Mathlib.Meta.NormNum.isInt_sub,Int.ofNat,Mathlib.Meta.NormNum.IsNat.to_isInt,Mathlib.Meta.NormNum.isNat_natCastand 72 more133 instances, coercions and auxiliary constants left out.
Tactic trace: 15 steps
Open to load the checked before-and-after goal states.
- problem
Imo2012P2.imo2012_p2line 153 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Subtype,Membership.mem,Finset,Finset.Icc,Real,LT.lt,Eq,Finset.prod,Finset.univ,HPow.hPow,HAdd.hAddProof uses:
dite,Subtype.mk,Not,id,Eq.mpr,Subtype.property,congrArg,dite_eq_left,Eq.refl,Finset.prod_congr,Eq.symm,Finset.prod_subtype,of_eq_true,Iff,Eq.trans,True,forall_congr,And,congr,iff_selfand 48 more132 instances, coercions and auxiliary constants left out.
Tactic trace: 72 steps
Open to load the checked before-and-after goal states.