'The top-level function in an expression.
The following should hold for all objects::
>> x == x.func(*x.args)
Examples
>>> from sympy.abc import x
>>> a = 2*x
>>> a.func
<class \'sympy.core.mul.Mul\'>
>>> a.args
(2, x)
>>> a.func(*a.args)
2*x
>>> a == a.func(*a.args)
True'

@property
def func(self):

    return self.__class__
