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

Algebra Calculator

#### Is

Function: is (<expr>) Attempts to determine whether the predicate <expr> is provable from the facts in the `assume` database.

0); optimum:loesungen1[3]; G_p(p):=p*optimum-K(optimum); float(solve(G_p(p)=0)); G_599(x):= 5.99*x-K(x); float(solve_rat_ineq(G_599(x)>0)); m:(350-250)/(5.4-5.99); eqn2:m*5.4+n=350; loesungen2:map(lambda([eqn2],rhs(eqn2)),float(solve(eqn2,n))); n:loesungen2[1]; p(x):= m*x+n; ' title='Is Example' width='30%' />

If the predicate is provably `true` or `false`, `is` returns `true` or `false`, respectively. Otherwise, the return value is governed by the global flag `prederror`. When `prederror` is `true`, `is` complains with an error message. Otherwise, `is` returns `unknown`.

`ev(<expr>, pred)` (which can be written `<expr>, pred` at the interactive prompt) is equivalent to `is(<expr>)`.

See also `assume`, `facts`, and `maybe`.

Examples:

`is` causes evaluation of predicates.

```          (%i1) %pi > %e;
(%o1)                       %pi > %e
(%i2) is (%pi > %e);
(%o2)                         true```

`is` attempts to derive predicates from the `assume` database.

```          (%i1) assume (a > b);
(%o1)                        [a > b]
(%i2) assume (b > c);
(%o2)                        [b > c]
(%i3) is (a < b);
(%o3)                         false
(%i4) is (a > c);
(%o4)                         true
(%i5) is (equal (a, c));
(%o5)                         false```

If `is` can neither prove nor disprove a predicate from the `assume` database, the global flag `prederror` governs the behavior of `is`.

```          (%i1) assume (a > b);
(%o1)                        [a > b]
(%i2) prederror: true\$
(%i3) is (a > 0);
Maxima was unable to evaluate the predicate:
a > 0
-- an error.  Quitting.  To debug this try debugmode(true);
(%i4) prederror: false\$
(%i5) is (a > 0);
(%o5)                        unknown```

There are also some inexact matches for `is`. Try `?? is` to see them.

```(%o1)                                true
(%i2) ```

### Related Examples

a: 5;

b:5;

is('a = 'b);

Calculate

##### is-matrix

A:matrix([1],[2]);

B:matrix([1],[2]);

C:matrix([3,4],[5,6]);

Calculate

Calculate

##### is-sqrt

is (1-sqrt(5))/2<0;

Calculate

mye: (x^2-1)/(x-1)=0;

(is(((subst( (x^2-1)/...

Calculate

Calculate

Calculate

Calculate

##### is-subst

eq: [3*x+5*y=4, 2*x+7...

subst([x=subst(0,nu,a...

Calculate

##### is

u: [0,0,3];

is(1=1 and u[1] >=...

Calculate