Thanks for your comment. The semantics of Maxima's property-checking
functions can be confusing, especially since there is no standard naming
convention.
Originally, featurep(x,p) only returned true of x (a variable) had been
explicitly *declared* to have property p. Later, it was extended to try to
check whether an expression x had property x. featurep(x,p) returns false
if it cannot prove that x has property p; it is often the case that x *does
*have property p, but Maxima can't prove it. Thus, featurep(n-1/2,integer)
=> false does not mean that Maxima has proven that n-1/2 is not integer,
only that it has not proven that n-1/2 *is* an integer. Similarly,
featurep(n*(n-1)/2,integer) => false. This is because, even though
n*(n-1)/2 is always integral, Maxima cannot prove it.
askinteger(x) asks the user if it cannot prove that x is an integer.
In general, Maxima's capabilities in this area are rather limited.
-s
On Fri, Feb 15, 2013 at 6:00 PM, Nijso Beishuizen <nijso at hotmail.com> wrote:
> Dear all,
>
> I do this:
>
> declare(n,integer);
> askinteger(n-1/2);
> is (2n-1)/2 an integer?
>
> why is it asking me this? Isn't it clear that this is never an integer?
>
> also:
> featurep(n-1/2,integer);
> false
>
> featurep seems to be more knowledgeable than askinteger. Does it do more
> than
> askinteger?
>
>
> Best,
> Nijso
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>