6.69 Assume facility with functions, Assume and functional forms (11.2.97)

6.69.1 Mark S. Broski

Is it possible for the assume facility to recognize functional forms?

For instance,

assume (f(t)>0)

is(f(t)>0)

gives the result TRUE

but if I enter

is(f(t)+f(t)>0)

an error code is returned.

6.69.2 Robert Israel

Not an error code, but FAIL (indicating Maple doesn’t know) in Release 3. This particular problem is fixed in Release 4:

> is(f(t)+f(t)>0); 
                            true
 

However, assuming f(t) > 0 doesn’t say anything about f(x), or any other value of the function except literally f(t).

> is(f(x)>0); 
                         FAIL
 

Ideally you’d like to be able to say

> assume(f>0);
 

But this doesn’t work:

> is(f(x)>0); 
                        FAIL
 

6.69.3 Brian Blank

I note that Robert Israel has already given a response to the question as asked. Perhaps the following constructive workaround might be of some use to you:

> f := t -> exp(Re(f1(t))):  # Use abs(f1(t)) if you want nonnegative. 
 
> is( f(x) > 0 ); 
 
                                 true 
 
> is(f(x)+f(t) > 0); 
 
                                 true 
 
> is( 1/f(Pi) > 0 ); 
 
                                 true 
 
> is(sqrt(f(t)) , real); 
 
                                 true 
 
> is( ln(f(t)) , real ); 
 
                                 true 
 
> assume( b < c );   is( int( f(t) , t = b .. c ) > 0); 
 
                                 true