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

2 declarations, 0 contain sorry, 0 declared as axioms

International Mathematical Olympiad 1984, Problem 6

Let a, b, c, and d be odd integers such that 0 < a < b < c < d and ad = bc. Prove that if a + d = 2ᵏ and b + c = 2ᵐ for some integers k and m, then a = 1.

Imports (2)
Imported by 1 file
  1. lemma Imo1984P6.two_pow_dvd_or If 2^m divides (y - x) * (y + x) for odd x < y, then almost all of the factors of 2 land in one of the two factors, since gcd (y - x) (y + x) = 2 line 36 source

    Source documentation

    If 2^m divides (y - x) * (y + x) for odd x < y, then almost all of the factors of 2 land in one of the two factors, since gcd (y - x) (y + x) = 2.

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

    Statement uses: Nat, Odd, LT.lt, Dvd.dvd, HPow.hPow, OfNat.ofNat, HMul.hMul, HSub.hSub, HAdd.hAdd, Or

    Proof uses: LE.le, Or.inl, Eq, Eq.mpr, id, congrArg, pow_zero, one_dvd, Even, Nat.Odd.sub_odd, Odd.add_odd, pow_add, of_eq_true, Eq.trans, True, congr, congrFun', Mathlib.Meta.NormNum.IsNat.to_eq, Mathlib.Meta.NormNum.isNat_pow, Eq.refl and 52 more

    75 instances, coercions and auxiliary constants left out.

    Tactic trace: 42 steps

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

    lemma two_pow_dvd_or {x y m : ℕ} (hx : Odd x) (hy : Odd y) (hxy : x < y)
        (hdvd : 2 ^ m ∣ (y - x) * (y + x)) :
        2 ^ (m - 1) ∣ y - x ∨ 2 ^ (m - 1) ∣ y + x := by
    …
  2. problem Imo1984P6.imo1984_p6 line 77 source

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

    Statement uses: Nat, And, LT.lt, OfNat.ofNat, Odd, Eq, HMul.hMul, HAdd.hAdd, HPow.hPow

    Proof uses: HMod.hMod, Iff.mp, Nat.odd_iff, LE.le, Decidable.byContradiction, Not, dite, False, Eq.symm, le_antisymm, Nat.ge_of_not_lt, Mathlib.Tactic.IntervalCases.of_not_le_left, Nat.rawCast, Mathlib.Meta.NormNum.IsNat.to_raw_eq, Mathlib.Meta.NormNum.isNat_ofNat, Eq.refl, Nat.zero_le, Int, cast, Eq.trans and 109 more

    163 instances, coercions and auxiliary constants left out.

    Tactic trace: 95 steps

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