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

3 declarations, 0 contain sorry, 0 declared as axioms

International Mathematical Olympiad 2003, Problem 1

Let A be a 101-element subset of S = {1,2,...10⁶}. Prove that there exist numbers t₁, t₂, ..., t₁₀₀ in S such that the sets

Aⱼ = {x + tⱼ | x ∈ A}, j = 1,2, ..., 100

are pairwise disjoint.

Imports (2)
Imported by 1 file
  1. abbrev Imo2003P1.S line 30 source

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

    Statement uses: Finset, Nat

    Proof uses: Finset.Icc, OfNat.ofNat

    3 instances, coercions and auxiliary constants left out.

  2. theorem Imo2003P1.induction_lemma Proof by induction on the number of tᵢ's line 35 source

    Source comment

    Proof by induction on the number of tᵢ's

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

    Statement uses: Finset, Nat, LE.le, Imo2003P1.S, Eq, Finset.card, OfNat.ofNat, Exists, And, Membership.mem, Ne, Disjoint, Set, Set.ofPred, HAdd.hAdd

    Proof uses: Nat.recAux, Exists.intro, EmptyCollection.emptyCollection, of_eq_true, Eq.trans, True, congr, congrArg, eq_self, Not, forall_congr, False, implies_congr, Eq.refl, implies_true, and_self, Finset.filter, Classical.propDecidable, Finset.Nonempty, Iff.mp and 58 more

    99 instances, coercions and auxiliary constants left out.

    Tactic trace: 90 steps

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

    theorem induction_lemma (A : Finset ℕ) (_AS : A ⊆ S) (Acard : A.card = 101)
        {k : ℕ} (hk : k ≤ 100) :
        ∃ t ⊆ S, t.card = k ∧ ∀ x ∈ t, ∀ y ∈ t, x ≠ y → Disjoint {x + a | a ∈ A} {y + a | a ∈ A} := by
    …

    Mentions: Imo2003P1.S

  3. problem Imo2003P1.imo2003_p1 line 131 source

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

    Statement uses: Finset, Nat, LE.le, Imo2003P1.S, Eq, Finset.card, OfNat.ofNat, Exists, And, Membership.mem, Ne, Disjoint, Set, Set.ofPred, HAdd.hAdd

    Proof uses: Imo2003P1.induction_lemma, Nat.le_refl

    21 instances, coercions and auxiliary constants left out.