### The Maxima on-line user's manual

Algebra Calculator

#### Assume_pos_pred

-- Option variable: assume_pos_pred Default value: false

When assume_pos_pred is assigned the name of a function or a lambda expression of one argument <x>, that function is called to determine whether <x> is considered a parameter for the purpose of assume_pos. assume_pos_pred is ignored when assume_pos is false.

The assume_pos_pred function is called by sign and asksign with an argument <x> which is either an atom, a subscripted variable, or a function call expression. If the assume_pos_pred function returns true, <x> is considered a parameter for the purpose of assume_pos.

By default, a parameter is <x> such that symbolp (<x>) or subvarp (<x>).

Examples:

(%i1) assume_pos: true\$
(%i2) assume_pos_pred: symbolp\$
(%i3) sign (a);
(%o3)                          pos
(%i4) sign (a[1]);
(%o4)                          pnz
(%i5) assume_pos_pred: lambda ([x], display (x), true)\$
x = a

(%o6)                          pos
x = a
1

(%o7)                          pos
x = foo(a)

(%o8)                          pos
(%i9) asksign (foo (a) + bar (b));
x = foo(a)

x = bar(b)

(%o9)                          pos
x = a

Is a - 1 positive, negative, or zero?

p;
(%o10)                         pos
x = a

x = b

x = a

x = b

Is b - a positive, negative, or zero?

p;
(%o11)                         neg

(%o1)                                true
(%i2)

### Related Examples

##### assume_pos_pred-pred

? assume_pos_pred;

Calculate

##### assume_pos_pred-pred

? assume_pos_pred;

Calculate

##### pred

A( r ) := 2 * %pi * r...

r : 2;

A(r);

Calculate

##### pred

A( r ) := 2 * %pi * r...

r : 2;

res : A(r);

Calculate

x=x,pred;

Calculate

? pred;

Calculate

1<2;

1<2,pred;

Calculate