I created a system that can learn rules. The rules are read by a simple parser that understands mathematical expressions, and once this is done it can derive, simplify, isolate variables...

For example to teach the system how the number zero works I'd do it this way:`der.AddRule( "a*0", "0" )`

der.AddRule( "a+0", "a" )

`where 'a' represents any expression , another rule for workign with powers:`

`der.AddRule( "(a^b)*a", "a^(b+1)" )`

and to compute the derivative:

`der.AddRule( "der(a,a)`

`", "1" )`

`der.AddRule( "der(cos(a),b)`

`", "-sin(a)*der(a,b)" )`

`der.AddRule( "der((a/b),c)`

`", "(der(a,c)*b-a*der(b,c))/(b^2)" )`

So I teached the system a bunch of rules and then its is able simplify, derive and isolate variables (this last one only works on some silly situations)

So, here is the code---> SymbolicMath.zip