4 ms·
Proving things is basically a graph search problem. You start from some givens, and you try to transform those givens into the desired theorem. Each transformat
by tylerhou 4y ago
Proving things is basically a graph search problem. You start from some givens, and you try to transform those givens into the desired theorem. Each transformation is an edge in the graph, leading you to another vertex.
What makes one person better than another at proving things? The same things that make e.g. one chess engine better than another:
1. They have a better heuristic about which paths to explore.
2. They are simply faster at executing the search.
3. They know of more “edges” in the graph: intermediate lemmas that they can apply to arrive at the theorem faster. (This doesn’t apply to most chess engines.)
Getting better at proving things requires exercising these muscles.
This is also why (IMO) it’s important to have basic data structures and algorithms memorized. The faster your recall of these algorithms, and the more algorithms you know, the more likely it is you can solve hard algorithmic problems on the job should that be necessary.