Online Algebra Calculator
Many of users do not use powerful Maxima computer algebra system for systematic work, but for ad hoc algebraic calculations – equations, functions, matrixes, etc. only. To do this job, it is not useful to download the whole application from a web site.
Function: assume (<pred_1>, ..., <pred_n>) Adds predicates <pred_1>, ..., <pred_n> to the current context. If a predicate is inconsistent or redundant with the predicates in the current context, it is not added to the context. The context accumulates predicates from each call to assume.

assume returns a list whose elements are the predicates added to the context or the atoms redundant or inconsistent where applicable.
The predicates <pred_1>, ..., <pred_n> can only be expressions with the relational operators < <= equal notequal >= and >. Predicates cannot be literal equality = or literal inequality # expressions, nor can they be predicate functions such as integerp.
Compound predicates of the form <pred_1> and ... and <pred_n> are recognized, but not <pred_1> or ... or <pred_n>. not <pred_k> is recognized if <pred_k> is a relational predicate. Expressions of the form not (<pred_1> and <pred_2>) and not (<pred_1> or <pred_2>) are not recognized.
Maximas deduction mechanism is not very strong; there are many obvious consequences which cannot be determined by is. This is a known weakness.
assume does not handle predicates with complex numbers. If a predicate contains a complex number assume returns inconsistent or redunant.
assume evaluates its arguments.
See also is, facts, forget, context, and declare.
Examples:
(%i1) assume (xx > 0, yy < -1, zz >= 0);
(%o1) [xx > 0, yy < - 1, zz >= 0]
(%i2) assume (aa < bb and bb < cc);
(%o2) [bb > aa, cc > bb]
(%i3) facts ();
(%o3) [xx > 0, - 1 > yy, zz >= 0, bb > aa, cc > bb]
(%i4) is (xx > yy);
(%o4) true
(%i5) is (yy < -yy);
(%o5) true
(%i6) is (sinh (bb - aa) > 0);
(%o6) true
(%i7) forget (bb > aa);
(%o7) [bb > aa]
(%i8) prederror : false;
(%o8) false
(%i9) is (sinh (bb - aa) > 0);
(%o9) unknown
(%i10) is (bb^2 < cc^2);
(%o10) unknown There are also some inexact matches for assume. Try ?? assume to see them.
(%o1) true (%i2)