module
public import Aesop
public import Mathlib.Combinatorics.Pigeonhole
public import Mathlib.Tactic.Linarith
public section
/-!
# 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.
-/
namespace Imo1964P4
theorem imo1964_p4
(Person Topic : Type)
[Fintype Person] [DecidableEq Person]
[Fintype Topic] [DecidableEq Topic]
(card_person : Fintype.card Person = 17)
(card_topic : Fintype.card Topic = 3)
(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 := sorry
end Imo1964P4
This problem has a complete formalized solution.