### Automatically Generating Algebra Problems

### Abstract

We propose computer-assisted techniques for helping with pedagogy in Algebra. In particular, given a proof problem p
(of the form "Left-hand-side-term = Right-hand-side-term"), we show how to automatically generate problems that are similar
to p. We believe that such a tool can be used by teachers in making examinations where they need to test students on problems
similar to what they taught in class, and students in generating practice problems tailored to their specific needs. Our first
insight is that we can generalize p syntactically to a query Q that implicitly represents a set of problems [[Q]] (which includes p).
Our second insight is that we can explore the space of problems [[Q]] automatically, use classical results from polynomial
identity testing to generate only those problems in [[Q]] that are correct, and then use pruning techniques to generate
only unique and interesting problems. Our third insight is that with a small amount of manual tuning on the query Q,
the user can interactively guide the computer to generate problems of interest to her. We present the technical details
of the above mentioned steps, and also describe a tool where these steps have been implemented. We also present an
empirical evaluation on a wide variety of problems from various sub-fields of algebra including polynomials,
trigonometry, calculus, determinants etc. Our tool is able to generate a rich corpus of similar problems from
each given problem; while some of these similar problems were already present in the textbook, several were new!