This is a soft question on developing software to solve exam/contest problems.
Imagine the following scenario: You, as user, have (say) an IMO exam paper. You type one question at a time, perhaps in some machine-readable format, into a command-line interface like Matlab. A minute of thinking later, your program spits out the answer (and also the needed proof/derivation steps), and perhaps in 15 minutes, you have solved the entire paper with electronic assistance, but for which your score would have been 42/42. You also have the confidence that your answer has been checked and cross checked by your Silicon-powered friend. Further, suppose you were to show the output to an IMO judge, (s)he would have no hesitation in awarding a full score, except for the fact that it takes a little effort to read the "machine-like" format of the output.
A crude design would have Matlab (for computation) and Mizar (for logical reasoning) at the back-end, and if needed a natural language processing engine at the front end. Note that there are 2 big hurdles as I see it:
- The natural language engine would have to be very sophisticated to understand the subtleties of maths problems, expressed in English.
- Existing software like Matlab is probably better suited for problems fitting a template (say matrix inversion), but not much use for say, a functional equation to be solved by a clever trick. An examiner can always come up with a new "clever trick" beyond what the software designers have thought of.
Question: Is there one such tool in existence? Would anyone be interested if it's developed ? Any open-ended comments?
As an aside,this tool if developed may be applied to a wide variety of exams ( GRE, SAT, "Engineering entrance" exams in India) ; we may have a student and a computer taking the exam side by side to determine the strengths and weaknesses of such software.