I would like to build a mathematical concept map. The basic idea is that I want to be able to know, for any type of mathematical operation, what the underlying principles are for that operation. For example, if I had the operation:


I could use this concept map to see that raising a variable to a power n is the same as multiplying that variable by itself n times.

I’m sorry, as I know this question is a little ethereal, but are there any functions in Mathematica, maybe similar to FullSimplify[] but just going in the opposite direction, that could help me to break equations down into simpler components or concepts?

My goal with this would be to help me know, given a certain type of equation, what underlying principles I should know, first, in order to be able to work with that type of equation.

A related questions is here:

Advice for Mathematica as Mathematician's Aid

But what I am looking for is more a way to systematically find underlying mathematical concepts related to a certain expression.

  • 2
    $\begingroup$ TreeForm gets you started but does not go as far as you wish. $\endgroup$
    – Alan
    Feb 3, 2022 at 20:23
  • 1
    $\begingroup$ Perhaps what you are aiming for is to make by scratch a function that looks over the operators and functions (so that it can detect integrals and derivatives, for example) and then return the mathematical concepts needed to understand such operations. Yep, that sounds like fun. I mean it. $\endgroup$ Feb 3, 2022 at 23:02

1 Answer 1


Your concept map is already present in Mathematica:


concpet map alias TreeForm

Have a look at Power to see how mighty $Power$ is.

The recursive definition:

Row[{TreeForm[Power[z, k]], TreeForm[z Power[z, k - 1]]}]

recursive concept map for Power

Mathematica is an input-output paradigm software. It will never ever add knowledge to what you entered!

So this is always a kind of retrieval of what is already programmed into Mathematica. Therefore the conceptual maturity was achieved by transforming it into a knowledge engine.

There are indeed some functions available to analyze your input into a meaningful cell.

For example, Level is great assistance. Another approach is LeafCount. A good start is ExpressionsOverview.

A broad set of checks whether everything is right to offer the *Q - symbols for example fount via the search of the Mathematica documentation or less extensive TestingExpressions. This can be done even more closed with the symbols from AtomicElementsOfExpressions.

FullSimplify looks like a great aid. The greatest help provides WolframAlpha with the option Step-by-step-solution. There are of course inputs to WolframAlpha that do not have a Step-by-step-solution. WolframAlpha varies a lot so many tricks available on the community might not work in every Mathematica version.

The package GraphStore might be of greater interpret for general knowledge representation. This is set of symbols new to version 12.

For an implementation use for example this: tree-like-diagram-with-text-as-vertexlabels

  • $\begingroup$ Thanks! This gives me a lot to work with, so I really appreciate it. $\endgroup$
    – Jmeeks29ig
    Feb 4, 2022 at 17:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.