Question: Why does solve work with a system of equations, but then not with the same system written slightly differently?

I just tried to solve a very simple system of equations using solve but depending on how I write the system the command does out give any output. 

restart

solve({I__cm = m*r^2, r*T = I__cm*a/r, g*m-T = m*a}, {T, a})

solve({r*T = m*r^2*a*(1/r), g*m-T = m*a}, {T, a})

{T = (1/2)*m*g, a = (1/2)*g}

(1)

NULL

Solution with pencil and paper

T := (1/2)*m*g = (1/2)*m*gNULL

a := (1/2)*g = (1/2)*gNULL

Check this solution

evalb(g*m-T = m*a)

true

(2)

evalb(r*T = m*r^2*a*(1/r))

true

(3)

NULL


Notice that if I define I__cm then there is no solution being shown. I can rename I__cm to something else like y, still no output. Then in the second system I simply sub I__cm into the equation that has this variable, and it works.

So what's going on here? Why doesn't the first use of solve work?

Download solveSys.mw

Please Wait...