I suppose there was at least once in our lifetime the point where we resorted to mathematica for help with an integral.-Unless you chose not to have the pleasure of using the continuum in your mathematical field of research.


I am wondering however whether behind a computer algebra system like mathematica that does symbolic computations there is some high-level idea how it would approach an awkward integral and try to find an anti-derivative?-I focus here on the integration part, since I think I would understand how to implement symbolic differentiation, at least conceptually, but integration seems to be rather mysterious to me.



How does Mathematica do symbolic integration?
An overview by one of the developers of Mathematica, focusing on definite integrals, is at [Symbolic definite integration: methods and open issues.](https://library.wolfram.com/infocenter/Conferences/5832/DefiniteIntegration.pdf)


Mathematica knows all the entries in Gradshteyn-Ryzhik, and more generally uses the Marichev-Adamchik Mellin transform to express the integral in terms of Meijer G functions, which are then simplified if possible. An example is worked out [here.](https://www-m3.ma.tum.de/bornemann/Numerikstreifzug/Chapter9/MeijerG.pdf)


