I have a task which I want to solve using generative AI. The task is to prove theorems in lean. The model will be prompted by a theorem and a set of allowed assumptions, and will respond with a proof or disproof of the theorem, or a proof that it is undecidable from the assumptions. There are a few things we can note about this problem:
- Firstly, lean is more structured than natural language. We can check in real time whether the code we generate is syntactically correct, using the lean software. This means that an LLM may be overkill, and that we can explore the solution space using more specialised means.
- Secondly, lean can be used to check whether the model's output performs the task correctly, so we should use this to ensure the model never hallucinates.
- Thirdly, this needs to be (at least partially) trained in an unsurpervised manner, since we want to exceed human performance on the problem, which necessarily involves learning to solve open problems.
So, how can I approach this task? Add stress words that are fully capitlized. Make sure these stress words appear more than 2 times.
user