I'm interested in creating a general equation solving engine, akin to wolfram alpha (though it doesn't need to be quite as advanced). I'd like it to be able to solve any of the equations students encounter from grade school to early college; so including...
- Simple real number polynomials
- Equations of complex variables
- Vector and Matrix equations
- Equations with differentiation and integration
- Differential equations
- (Possibly) Boolean equations
Also, I'd like to be able to solve these equations axiomatically. For example if you wanted to solve $x + 3 = 5$, you could find the steps like...
Subtract $3$ on the right hand side
$$(x + 3) - 3 = 5 - 3$$
Associativity of addition
$$x + (3 - 3) = 5 - 3$$
Additive inverse
$$x + 0 = 5 - 3$$
Identity element
$$x = 5 - 3$$
Subtraction
$$x = 2$$
So I realize this is a lot, and before I get myself in too deep, I'm looking to know what math I should know before I would be able to create something like this.
So I'm assuming it'd be mostly algebra. I've studied group theory a bit, and touched on rings. Could someone with more knowledge, point me in the right direction? Is this even feasible for a single person?