We all the time write and talk about mathematical problems in plain English. For example, we define the traveling salesman problem. But what is the actual, underlying structure of a mathematical problem? Can arbitrary mathematical problems be expressed exactly, in a formal language? Is it meaningful to talk about an algorithm that solves any arbitrary problem? Of course, that wouldn't decidable, but can we express it? For example, can we write a program which accepts, as input, a problem (example: find an algorithm that sorts a list optimally) and outputs a solution (example: the merge sort algorithm)?
What is the underlying structure of problems?
mathematical foundations