I believe that a 'CAS' to be used in learning and teaching mathematics should have a form in which the user tells the machine what to do, so that the machine does not return automatic processes that are meaningless to the learner. This implies that the input is not interpreted except for trivial arithmetic processes,
In the following document I show how XCAS works.
https://www.eonicasys.com.co/CAS/docs/a ... n_XCAS.pdf
For example, the EXPAND (expand an object by addition, multiplication, or division) and COLLEC (group, reverse process) commands
or define new orders for these purposes
