Maxima can't do much w/ functions declared to be
increasing, and can't do anything with functions
declared decreasing.
declare (F, increasing, G, decreasing);
is (F(2) > F(1)); => "unable to evaluate the predicate"
is (G(1) > G(2)); => "unable to evaluate the predicate"
assume (xx > yy);
is (F(xx) > F(yy)); => true (OK)
is (G(yy) > G(xx)); => "unable to evaluate the predicate"
Maxima 5.9.3cvs
Same behavior observed in current circa 5.38 Maxima. Curiously, I notice that with subscripted expressions, it works as expected: