We've talked about making simplifying versions of integerp, oddp, and ...; see
thread starting at
http://www.math.utexas.edu/pipermail/maxima/2010/021502.html
We could define simplifications for the nounforms of integerp and friends. This would work
something like:
(%i2) integerp(x);
(%o2) false
The nounform simplifies:
(%i25) 'integerp(x);
(%o25) integerp(x)
(%i26) [subst(x = 42,%), subst(x = sqrt(2),%), subst(x = log(42),%)];
(%o26) [true,false,integerp(log(42))]
Maxima doesn't know that log(42) isn't an integer. So it goes.
(%i27) 'integerp(42);
(%o27) true
Maybe this scheme (especially %o27) isn't all that clear to users? Other functions work this way
(integrate and sum, I think).
--Barton