feels like a multiplication of 4 terms, 3 of which have x in them and could be combined together.
This combining step turns out to be important in teaching, and is why we need to change the tree to not be binary anymore.
Looking further, we found math.js, a powerful and extensive open-source math library.
Its expression trees provide lots of details about the structure of the math expression, which is well suited to creating the steps we want. Its community is great, and Jos has been very responsive and supportive as we’ve been building mathsteps.
It implicitly adds parenthesis when constructing its tree to make the operations binary.
But because and * are commutative and associative binary operations, they feel intuitively like they aren’t binary but could have any number of arguments.It is important that this step-by-step solution is similar to what a tutor would show a install mathsteps: You could also just look at that math expression and use your intuition to prioritize where to start simplifying.But a computer will understand the expression best when it’s stored in a tree.Millions of students use our app and website to learn, and math (especially algebra) is consistently the top subject, for good reason: everyone has to take math, they take it for years, concepts build on each other, and many find it hard to understand.To provide an excellent math learning experience, we wanted to guide students through their math problems, step-by-step.Through converting the binary tree into one that represents math in a more humanly intuitive way, it becomes much easier to perform step-by-step simplifications.For example, consider the expression The transformed tree is a lot closer to the way we all intuitively view addition.We would love for you to join us in making math easy and fun to learn.We use mathsteps to power the math experience in our latest update.But the goal of a CAS, only getting the answer, is a different from our goal, a step-by-step solution.And the step-by-step solution requires a different architecture.