notes from reading "A Step-by-Step Solution Methodology for Mathematical Expressions"
Published 2020-03-14T01:58:00.001Z by Physics Derivation Graph
A Step-by-Step Solution Methodology for Mathematical Expressions
by Sahereh Hosseinpour, Mir Mohammad Reza Alavi Milani and Hüseyin Pehlivan
Symmetry 2018, 10(7), 285; https://doi.org/10.3390/sym10070285 https://www.mdpi.com/2073-8994/10/7/285/htm
The following sites parse input, take a specified action, and show the steps
(I'm not sure whether these two sites are related or clones of each other)
Also see https://www.mathway.com/Algebra and http://www.webmath.com/
I find it fascinating to read about someone else having an idea similar to mine:
"Our methodology uses a grammar-based approach to convert mathematical expressions into abstract syntax trees (AST) on which new methods can be developed for different evaluation or interpretation requirements. In this way, users can dynamically enter expressions and all the intermediate operations on them can successfully be achieved through AST nodes." ... "It can also be a good platform for the development of educational products in the field of mathematics, which can display all problem-solving steps."
I'm not clear on the distinctions of the three approaches to solvers, but it's helpful to know there's more than one approach
computer algebra system
rule based: "Starting with a mathematical expression, this approach transforms it into another equivalent expression and compares it with the intended target expression for equivalence verification."
structural approach: "two mathematical expressions are first represented as two mathematical expression trees. Then, tree matching algorithm is used to compare the two trees using dynamic programming for equivalence verification.
Section 2.3 walks through the entire process of getting from BNF to an AST.