checks for an irrational value.
> type(sqrt(2), irrational);
> type(sqrt(2), cmplx);
> type(sqrt(-1), cmplx);
> type(sqrt(2), elemental);
> type(1/x, elemental);
> type(ln(x), mathfn);
> type(sqrt(x), function);
> type(sqrt(x), mathfn);
Author: Alexander F. Walz, alexander.f.walz@t-online.de
Original file location: http://www.math.utsa.edu/mirrors/maple/mplmtyp.htm