A computer-implemented method includes, in one aspect, obtaining data specifying one or more expressions for a problem to be solved and an action that changes a state of the problem when applied to the one or more expressions, identifying one or more features of the one or more expressions, identifying a precondition for applying the action that changes the state of the problem, identifying a sequence of operator functions, and generating a production rule based on the identified one or more features, the identified precondition, and the identified operator function.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method comprising: obtaining data specifying one or more expressions for a problem to be solved and an action that changes a state of the problem when applied to the one or more expressions; identifying, by one or more processors, one or more features of the one or more expressions based on stored grammar rules and further based on features of stored positive training problems that are associated with positive feedback; identifying, by the one or more processors, a precondition for applying the action that changes the state of the problem, with identification of the precondition based on the positive training problems, negative training problems associated with negative feedback, and the identified one or more features of the one or more expressions; identifying, by the one or more processors, a sequence of operator functions based on the identified one or more features, the action that changes the state of the problem, and the positive training problems; and generating, by the one or more processors, a production rule based on the identified one or more features, the identified precondition, and the identified operator function. 2. The method of claim 1, wherein the problem to be solved is in a math, science, or language learning domain. 3. The method of claim 1, wherein identifying the one or more features of the one or more expressions based on the stored grammar rules comprises: generating a parse tree for an expression using the stored grammar rules, with the parse tree comprising one or more nodes for one or more respective features of the expression; and identifying the one or more features of the one or more expressions based on the generated parse tree. 4. The method of claim 3, wherein identifying the precondition based on the identified one or more features of the one or more expressions comprises: identifying the precondition based on positions of the one or more nodes for the one or more respective features of the expression. 5. The method of claim 1, wherein identifying the one or more features of the one or more expressions based on the stored grammar rules and the features of the stored positive training problems comprises: identifying an intermediate symbol in a rule set of a probabilistic context free grammar, the intermediate symbol corresponding to a highest number of the stored positive training problems; and extracting the one or more features associated with the intermediate symbol. 6. The method of claim 1, wherein identifying the sequence of operator functions comprises: searching for a composed sequence of operator functions from a stored set of operator functions using iterative-deepening depth-first search to identify the composed sequence of operator functions that has a smallest number of operator functions that includes the identified one or more features and the action that changes the state of the problem. 7. The method of claim 1, wherein generating the production rule based on the identified precondition comprises: generating a set of tests pertaining to the identified one or more features for determining whether the precondition is satisfied. 8. The method of claim 1, further comprising: determining a current state of another problem; identifying the generated production rule from a stored set of production rules based on the current state of the other problem; and providing a proposed action for solving the other problem based on the generated production rule. 9. The method of claim 8, further comprising: receiving feedback indicating that the proposed action is correct for solving the other problem; and storing the current state and the proposed action as a positive training problem. 10. The method of claim 8, further comprising: receiving feedback indicating that the proposed action is incorrect for solving the other problem; and storing the current state and the proposed action as a negative training problem. 11. A system comprising: one or more processing devices; and one or more computer-readable media storing instructions that are executable by the one or more processing devices to perform operations comprising: obtaining data specifying one or more expressions for a problem to be solved and an action that changes a state of the problem when applied to the one or more expressions; identifying, by one or more processors, one or more features of the one or more expressions based on stored grammar rules and further based on features of stored positive training problems that are associated with positive feedback; identifying, by the one or more processors, a precondition for applying the action that changes the state of the problem, with identification of the precondition based on the positive training problems, negative training problems associated with negative feedback, and the identified one or more features of the one or more expressions; identifying, by the one or more processors, a sequence of operator functions based on the identified one or more features, the action that changes the state of the problem, and the positive training problems; and generating, by the one or more processors, a production rule based on the identified one or more features, the identified precondition, and the identified operator function. 12. The system of claim 11, wherein the problem to be solved is in a math, science, or language learning domain. 13. The system of claim 11, wherein identifying the one or more features of the one or more expressions based on the stored grammar rules comprises: generating a parse tree for an expression using the stored grammar rules, with the parse tree comprising one or more nodes for one or more respective features of the expression; and identifying the one or more features of the one or more expressions based on the generated parse tree. 14. The system of claim 13, wherein identifying the precondition based on the identified one or more features of the one or more expressions comprises: identifying the precondition based on positions of the one or more nodes for the one or more respective features of the expression. 15. The system of claim 11, wherein identifying the one or more features of the one or more expressions based on the stored grammar rules and the features of the stored positive training problems comprises: identifying an intermediate symbol in a rule set of a probabilistic context free grammar, the intermediate symbol corresponding to a highest number of the stored positive training problems; and extracting the one or more features associated with the intermediate symbol. 16. The system of claim 11, wherein identifying the sequence of operator functions comprises: searching for a composed sequence of operator functions from a stored set of operator functions using iterative-deepening depth-first search to identify the composed sequence of operator functions that has a smallest number of operator functions that includes the identified one or more features and the action that changes the state of the problem. 17. The system of claim 11, wherein generating the production rule based on the identified precondition comprises: generating a set of tests pertaining to the identified one or more features for determining whether the precondition is satisfied. 18. The system of claim 11, wherein the operations further comprise: determining a current state of another problem; identifying the generated production rule from a stored set of production rules based on the current state of the other problem; and providing a proposed action for solving the other problem based on the generated production rule. 19. The system of claim 18, wherein the operations further comprise: receiving feedback indicating that the proposed action is correct for solving the other problem; and storing the current state and the proposed action as a positive training problem. 20. The system of claim 18, wherein the operations further comprise: receiving feedback indicating that the proposed action is incorrect for solving the other problem; and storing the current state and the proposed action as a negative training problem. 21. One or more computer-readable media storing instructions that are executable by one or more processing devices to perform operations comprising: obtaining data specifying one or more expressions for a problem to be solved and an action that changes a state of the problem when applied to the one or more expressions; identifying, by one or more processors, one or more features of the one or more expressions based on stored grammar rules and further based on features of stored positive training problems that are associated with positive feedback; identifying, by the one or more processors, a precondition for applying the action that changes the state of the problem, with identification of the precondition based on the positive training problems, negative training problems associated with negative feedback, and the identified one or more features of the one or more expressions; identifying, by the one or more processors, a sequence of operator functions based on the identified one or more features, the action that changes the state of the problem, and the positive training problems; and generating, by the one or more processors, a production rule based on the identified one or more features, the identified precondition, and the identified operator function. 22. The one or more computer-readable media of claim 21, wherein the problem to be solved is in a math, science, or language learning domain. 23. The one or more computer-readable media of claim 21, wherein identifying the one or more features of the one or more expressions based on the stored grammar rules comprises: generating a parse tree for an expression using the stored grammar rules, with the parse tree comprising one or more nodes for one or more respective features of the expression; and identifying the one or more features of the one or more expressions based on the generated parse tree. 24. The one or more computer-readable media of claim 23, wherein identifying the precondition based on the identified one or more features of the one or more expressions comprises: identifying the precondition based on positions of the one or more nodes for the one or more respective features of the expression. 25. The one or more computer-readable media of claim 21, wherein identifying the one or more features of the one or more expressions based on the stored grammar rules and the features of the stored positive training problems comprises: identifying an intermediate symbol in a rule set of a probabilistic context free grammar, the intermediate symbol corresponding to a highest number of the stored positive training problems; and extracting the one or more features associated with the intermediate symbol. 26. The one or more computer-readable media of claim 21, wherein identifying the sequence of operator functions comprises: searching for a composed sequence of operator functions from a stored set of operator functions using iterative-deepening depth-first search to identify the composed sequence of operator functions that has a smallest number of operator functions that includes the identified one or more features and the action that changes the state of the problem. 27. The one or more computer-readable media of claim 21, wherein generating the production rule based on the identified precondition comprises: generating a set of tests pertaining to the identified one or more features for determining whether the precondition is satisfied. 28. The one or more computer-readable media of claim 21, wherein the operations further comprise: determining a current state of another problem; identifying the generated production rule from a stored set of production rules based on the current state of the other problem; and providing a proposed action for solving the other problem based on the generated production rule. 29. The one or more computer-readable media of claim 28, wherein the operations further comprise: receiving feedback indicating that the proposed action is correct for solving the other problem; and storing the current state and the proposed action as a positive training problem. 30. The one or more computer-readable media of claim 28, wherein the operations further comprise: receiving feedback indicating that the proposed action is incorrect for solving the other problem; and storing the current state and the proposed action as a negative training problem.