From what I heard CAS stores the information as a directed graph. In Mathematica you can use the FullForm command to see it directly for example
\sin(x^2)+3
would be
Plus[3,Sin[Power[x,2]]]
It then has rules for how to manipulate these objects. So the derivative operator D (I'm assuming wrt x) interacts with Plus via the rule
D[Plus[f,g]] = Plus[D[f],D[g]]
Mathematica knows that 3 is constant and so D[3]=0. It then reduces Plus[0,?] to just ?.
So we now have
D[Sin[Power[x,2]]]
It allies its chain rule and is programmed so that D[Sin] = Cos:
Multiply[Cos[Power[x,2]],D[Power[x,2]]]
And we know that the derivative of Power[x,2] as Multiply[2,x]