Hakkush-07/tmo

★ 0Forks 0LeanGitHub ↗Compare

README

Turkey Mathematical Olympiad Problems

Screenshot

This is an experimental project aiming to formalize mathematical olympiad problems appeared in recent Turkey national contests using Aristotle and to test it against these challenging problems. Geometry problems are excluded.

I asked Aristotle two things. First, I gave only the problem statement, and asked it to solve. On a few of them, it failed to generate a Lean file, and I asked for a second time. The resulting Lean files are in tmo/problems. Second, I gave also the official solution, essentially asking it to formalize the solutions. The resulting Lean files are in tmo/solutions. Aristotle managed to solve a good amount of the problems, and formalized the solutions to even more.

Surprising Observations and Results

Aristotle sometimes makes the same claim over and over again. It sometimes sees some very hard observations, but sometimes misses obvious things. It struggles in some problems which are pretty easy for a typical contestant (for example MO2024-P4, GTST2025-P4, JTST2025-P2). This might not come as a surprise, if all these problems were combinatorics, at least for me it wouldn't, but there are some number theory problems as well in this category. However, it solved some hard problems (for example MO2024-P6, TST2025-P9), even some containing combinatorics. MO2024-P6 surprised me the most in this category. Another nice outcome of this experiment is that when formalizing the official solution, Aristotle sometimes notices some missing parts, and tries to complete it (for example GTST2025-P3).

In the given contests, Aristotle would get a score sufficient to advance to the next round/get selected for the team in 4 of them, but would miss the IMO team (4 problems in TST2025 was not enough. I know geometries are excluded, but the geometry problems in this contest were quite hard anyway).

Classification of the Problems based on Topic

I asked Aristotle to formalize 26 problems, 9 of which are combinatorics, 7 of which are algebra, 10 of which are number theory problems.

Topic Solved Solution Formalized No Progress Total
Combinatorics 4 2 3 9
Algebra 6 1 0 7
Number Theory 8 2 0 10
Total 18 5 3 26

Among these 26 problems, 3 of them were proposed by me and Aristotle solved none of them (quite interesting when its overall performance is considered) and it managed to formalize the official solution to only one of them.

Web UI

In the web UI, you can see my individual comments on each problem. Along with that, you can also find problem statement and the official solution, both Lean files, the difficulty (assessed by myself, pretty subjective but attaches a rough level to problems) and the discussion for that problem in Art of Problem Solving website. To use the web interface, run

python3 -m http.server

and go to 127.0.0.1:8000/web

Problems and Solutions

In resources/problems folder, there are tex files containing the statements of the problems, and in resources/solutions folder you can find tex files containing both the statement and the solution. To compile all the problems, run

make problems

and to compile all the solutions, run (you may need olympiad.asy in the root folder)

make solutions

or to generate a single pdf, run

make resources/problems/contest/problem.pdf
make resources/solutions/contest/problem.pdf

The contest name abbreviations (all of them Turkey contests):

Abbreviation Contest Name
JMO National Junior Mathematical Olympiad
MO National Mathematical Olympiad
GTST Team Selection Test for EGMO
TST Team Selection Test (for BMO and IMO)
JTST Team Selection Test for JBMO

Contributors

Hakkush-07

Issues