Compfiles/Imo1964P4.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 1964, Problem 4

Seventeen people correspond by mail with one another -- each one with all the rest. In their letters only three different topics are discussed. Each pair of correspondents deals with only one of the topics. Prove that there are at least three people who write to each other about the same topic.

Imports (4)
Imported by 1 file
  1. theorem Imo1964P4.lemma1 Smaller version of the problem, with 6 (or more) people and 2 topics line 40 source

    Source documentation

    Smaller version of the problem, with 6 (or more) people and 2 topics.

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

    Statement uses: Fintype, DecidableEq, LT.lt, Nat, OfNat.ofNat, Fintype.card, Eq, Exists, Finset, And, Finset.card, Membership.mem, Ne

    Proof uses: Nonempty.some, Iff.mp, Nonempty, Fintype.card_pos_iff, Subtype, Eq.mpr, HSub.hSub, id, congrArg, Not, Fintype.card_subtype_compl, lt_tsub_of_add_lt_left, HAdd.hAdd, HMul.hMul, Finset.filter, Finset.univ, Fintype.exists_lt_card_fiber_of_mul_lt_card, of_eq_true, Eq.trans, True and 31 more

    49 instances, coercions and auxiliary constants left out.

    Tactic trace: 51 steps

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

    theorem lemma1
        (Person Topic : Type)
        [Fintype Person] [DecidableEq Person]
        [Fintype Topic] [DecidableEq Topic]
        (card_person : 5 < Fintype.card Person)
        (card_topic : Fintype.card Topic = 2)
        (discusses : Person → Person → Topic)
        (discussion_sym : ∀ p1 p2 : Person, discusses p1 p2 = discusses p2 p1) :
        ∃ t : Topic, ∃ s : Finset Person,
          2 < s.card ∧
            ∀ p1 ∈ s, ∀ p2 ∈ s, p1 ≠ p2 → discusses p1 p2 = t := by
    …
  2. problem Imo1964P4.imo1964_p4 line 111 source

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

    Statement uses: Fintype, DecidableEq, Eq, Nat, Fintype.card, OfNat.ofNat, Exists, Finset, And, LT.lt, Finset.card, Membership.mem, Ne

    Proof uses: Nonempty.some, Iff.mp, Nonempty, Fintype.card_pos_iff, Subtype, of_eq_true, Eq.trans, True, congrFun', congrArg, Not, HSub.hSub, Fintype.card_subtype_compl, congr, Fintype.card_unique, eq_self, HMul.hMul, Eq.mpr, id, Mathlib.Meta.NormNum.isNat_lt_true and 63 more

    54 instances, coercions and auxiliary constants left out.

    Tactic trace: 90 steps

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