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

6 declarations, 0 contain sorry, 0 declared as axioms

International Mathematical Olympiad 2008, Problem 4

Determine all functions f from the positive reals to the positive reals such that

(f(w)² + f(x)²) / (f(y)² + f(z)²) = (w² + x²) / (y² + z²)

for all positive real numbers w,x,y,z satisfying xw = yz.

Imports (3)
Imported by 1 file
  1. abbrev Imo2008P4.PosReal line 35 source

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

    Proof uses: Subtype, Real, LT.lt, OfNat.ofNat

    3 instances, coercions and auxiliary constants left out.

  2. lemma Imo2008P4.positive_pow_eq_pow line 39 source

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

    Statement uses: Nat, LT.lt, OfNat.ofNat, Imo2008P4.PosReal, Iff, Eq, HPow.hPow, Real

    Proof uses: Eq.mpr, id, congrArg, Subtype, Eq.symm, propext, Subtype.coe_inj, Positive.val_pow, pow_left_inj₀, le_of_lt, Subtype.property, Nat.ne_of_gt

    33 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

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

  3. lemma Imo2008P4.PosReal.mul_two In mathlib3, mul_two automatically worked on PosReal line 46 source

    Source comment

    In mathlib3, mul_two automatically worked on PosReal. In mathlib4 it does not. See https://github.com/leanprover-community/mathlib4/blob/7cc262f36953b78637c096c4bc6634c2af0b2a0a/Mathlib/Algebra/Ring/Defs.lean#L176-L179.

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

    Statement uses: Imo2008P4.PosReal, Eq, HMul.hMul, Real, Subtype.mk, LT.lt, OfNat.ofNat, Nat, two_pos, HAdd.hAdd

    Proof uses: Eq.mpr, id, congrArg, Subtype, propext, Subtype.ext_iff, of_eq_true, Eq.trans, True, congrFun', mul_two, eq_self

    82 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

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

    lemma PosReal.mul_two (x : PosReal) : x * ⟨2, two_pos⟩ = x + x := by
    …

    Mentions: Imo2008P4.PosReal

  4. lemma Imo2008P4.PosReal.two_mul line 51 source

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

    Statement uses: Imo2008P4.PosReal, Eq, HMul.hMul, Real, Subtype.mk, LT.lt, OfNat.ofNat, Nat, two_pos, HAdd.hAdd

    Proof uses: Eq.mpr, id, congrArg, Subtype, propext, Subtype.ext_iff, of_eq_true, Eq.trans, True, congrFun', two_mul, eq_self

    82 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

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

  5. determine Imo2008P4.solution_set line 58 source

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

    Statement uses: Set, Imo2008P4.PosReal

    Proof uses: Set.ofPred, Or, Eq, id, HDiv.hDiv, Real, OfNat.ofNat

    12 instances, coercions and auxiliary constants left out.

  6. problem Imo2008P4.imo2008_p4 line 60 source

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

    Statement uses: Imo2008P4.PosReal, Iff, Membership.mem, Set, Imo2008P4.solution_set, Eq, HMul.hMul, Real, HAdd.hAdd, HPow.hPow, Nat, OfNat.ofNat

    Proof uses: Iff.intro, id, HDiv.hDiv, Eq.refl, Eq.symm, of_eq_true, Eq.trans, True, congrFun', congrArg, Inv.inv, funext, one_div, mul_inv_cancel, eq_self, Eq.mpr, propext, mul_right_inj, LT.lt, mul_assoc and 63 more

    197 instances, coercions and auxiliary constants left out.

    Tactic trace: 58 steps

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