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

6.69.1 Mark S. Broski
6.69.2 Robert Israel
6.69.3 Brian Blank

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