Compfiles/Usa2006P4.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

7 declarations, 0 contain sorry, 0 declared as axioms

USA Mathematical Olympiad 2006, Problem 4

Find all positive integers n for which there exist an integer k ≥ 2 and positive rational numbers a₁, a₂, ..., aₖ satisfying a₁ + a₂ + ... + aₖ = a₁ · a₂ · ... · aₖ = n.

Imports (6)
Imported by 1 file
  1. determine Usa2006P4.SolutionSet line 32 source

    no axioms what this means

    Statement uses: Set, Nat

    Proof uses: Set.ofPred, Or, Eq, OfNat.ofNat, LE.le

    2 instances, coercions and auxiliary constants left out.

  2. lemma Usa2006P4.not_isSquare_five_nat 5 is not the square of a natural number line 49 source

    Source documentation

    5 is not the square of a natural number.

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

    Statement uses: Not, IsSquare, Nat, OfNat.ofNat

    Proof uses: Eq, HMul.hMul, False, LE.le, Decidable.byContradiction, Nat.mul_le_mul, dite, False.elim, Eq.mp, eq_false, Mathlib.Meta.NormNum.isNat_eq_false, Mathlib.Meta.NormNum.isNat_ofNat, Eq.refl, Mathlib.Meta.NormNum.isNat_mul, Bool, Bool.false, Eq.symm, le_antisymm, Nat.rawCast, Mathlib.Tactic.IntervalCases.of_le_right and 3 more

    17 instances, coercions and auxiliary constants left out.

    Tactic trace: 9 steps

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

    lemma not_isSquare_five_nat : ¬ IsSquare (5 : ℕ) := by
    …
  3. lemma Usa2006P4.rat_mul_self_ne_five 5 is not the square of a rational number line 59 source

    Source documentation

    5 is not the square of a rational number.

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

    Statement uses: Rat, Ne, HMul.hMul, OfNat.ofNat

    Proof uses: Eq, Irrational, Real.sqrt, Real, Nat, Nat.Prime.irrational_sqrt, Mathlib.Meta.NormNum.isNat_prime_2, Mathlib.Meta.NormNum.isNat_ofNat, Eq.refl, Bool, Bool.true, Mathlib.Meta.NormNum.isNat_minFac_4, Mathlib.Meta.NormNum.IsNat.raw_refl, Mathlib.Meta.NormNum.minFacHelper_0, Bool.false, Exists.intro, abs, HPow.hPow, cast, Eq.symm and 33 more

    60 instances, coercions and auxiliary constants left out.

    Tactic trace: 13 steps

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

    lemma rat_mul_self_ne_five (q : ℚ) : q * q ≠ 5 := by
    …
  4. lemma Usa2006P4.sum_eq_sum_get Summing the entries of a list of rationals via Fin-indexed access line 72 source

    Source documentation

    Summing the entries of a list of rationals via Fin-indexed access.

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

    Statement uses: List, Rat, Eq, Finset.sum, Fin, List.length, Finset.univ, List.get, List.sum

    Proof uses: Eq.mpr, List.ofFn, id, congrArg, Eq.symm, Fin.sum_ofFn, List.ofFn_get, Eq.refl

    17 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    lemma sum_eq_sum_get (l : List ℚ) : ∑ i : Fin l.length, l.get i = l.sum := by
    …
  5. lemma Usa2006P4.prod_eq_prod_get Multiplying the entries of a list of rationals via Fin-indexed access line 76 source

    Source documentation

    Multiplying the entries of a list of rationals via Fin-indexed access.

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

    Statement uses: List, Rat, Eq, Finset.prod, Fin, List.length, Finset.univ, List.get, List.prod

    Proof uses: Eq.mpr, List.ofFn, id, congrArg, Eq.symm, Fin.prod_ofFn, List.ofFn_get, Eq.refl

    21 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    lemma prod_eq_prod_get (l : List ℚ) : ∏ i : Fin l.length, l.get i = l.prod := by
    …
  6. lemma Usa2006P4.prod_le_sum_div_pow AM–GM, raised to the k-th power, for positive rationals indexed by Fin k: the product is at most the k-th power of the arithmetic mean line 81 source

    Source documentation

    AM–GM, raised to the k-th power, for positive rationals indexed by Fin k: the product is at most the k-th power of the arithmetic mean.

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

    Statement uses: Nat, LT.lt, OfNat.ofNat, Fin, Rat, LE.le, Real, Finset.prod, Finset.univ, HPow.hPow, HDiv.hDiv, Finset.sum

    Proof uses: Ne, cast, Not, Eq, Eq.symm, Eq.trans, congrArg, Nat.cast_zero, LT.lt.ne', Iff.mpr, Rat.cast_nonneg, LT.lt.le, Inv.inv, HMul.hMul, Real.geom_mean_le_arith_mean_weighted, Membership.mem, Finset, inv_nonneg, Nat.cast_nonneg, Eq.mpr and 25 more

    140 instances, coercions and auxiliary constants left out.

    Tactic trace: 13 steps

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

    lemma prod_le_sum_div_pow {k : ℕ} (hk : 0 < k) (z : Fin k → ℚ) (hz : ∀ i, 0 < z i) :
        ((∏ i, z i : ℚ) : ℝ) ≤ (((∑ i, z i : ℚ) : ℝ) / k) ^ k := by
    …
  7. problem Usa2006P4.usa2006_p4 line 106 source

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

    Statement uses: Nat, LT.lt, OfNat.ofNat, Iff, Membership.mem, Set, Usa2006P4.SolutionSet, Exists, List, Rat, And, LE.le, List.length, Eq, List.sum, List.prod

    Proof uses: id, Iff.intro, Or, Exists.intro, List.cons, List.nil, And.intro, of_decide_eq_true, Bool, Decidable.decide, Bool.true, Eq.refl, Eq.mp, Eq.trans, congrArg, False, or_false, Mathlib.Meta.NormNum.isNat_lt_true, Mathlib.Meta.NormNum.isNat_ofNat, Bool.false and 174 more

    242 instances, coercions and auxiliary constants left out.

    Tactic trace: 160 steps

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