evalb - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


evalb

evaluate as a Boolean expression

 

Calling Sequence

Parameters

Description

Thread Safety

Examples

Calling Sequence

evalb(x)

Parameters

x

-

expression

Description

• 

The evalb command forces the evaluation of expressions involving relational operators, using a three-valued logic system.  The return values are true, false, and FAIL. If evaluation is not possible, an unevaluated expression is returned.

• 

Normally expressions containing the relational operators =, <>, <, <=, >, and >= are treated as algebraic equations or inequalities by Maple.  However, when passed as arguments to the evalb command (or when appearing in a Boolean context in an if or while statement), they are evaluated to true or false if possible.

• 

Note that expressions involving > and >= are converted into equivalent expressions involving < and <=, respectively.

• 

An evalb call using <, <=, >, or >= returns evaluated only with arguments of type extended_numeric, complex, or string. For more on string comparisons, see the section Operations on Entire Strings in Using Strings in Maple.

  

Important: The evalb command does not simplify expressions. It may return false for a relation that is true. In such a case, apply a simplification to the relation before using evalb.

  

Important: The evalb command does not perform arithmetic for inequalities involving <, <=, >, or >=. It may return unevaluated when a relation is true. In such a case, perform the arithmetic operations before using evalb.

Thread Safety

• 

The evalb command is thread-safe as of Maple 15.

• 

For more information on thread safety, see index/threadsafe.

Examples

x=x

x=x

(1)

evalbx=x

true

(2)

evalbx=y

false

(3)

a2&colon;

b2&colon;

evalba=b

true

(4)

evalbFloat<

false

(5)

evalbFloatundefined<undefined

false

(6)

evalbxx+1

true

(7)

The evalb command cannot be used in some cases.

evalby<x

y<x

(8)

evalb2+3I<3+4I

FAIL

(9)

In some cases, you must subtract the right-hand side from the left-hand side before evaluating inequalities that use <, <=, >, or >=.

evalbx<x+1

x<1+x

(10)

evalbxx+1<0

true

(11)

The evalb command uses address tests to determine equality.

evalbxx

true

(12)

You must convert symbolic arguments to floating-point values when using the evalb command for inequalities that use <, <=, >, or >=.

evalb2<sqrt5

2<5

(13)

evalb2<evalfsqrt5

true

(14)

Alternately, in this case you could use the is command to evaluate the boolean expression, without using evalf.

is2<sqrt5

true

(15)

The evalb command can be used in combination with any number of packages.

evalbStringToolsSearch2&comma;This sentence does not contain any numbers.=0

true

(16)

The evalb command can be used to check if an equation has an x-term.

evalbcoeffx3+2x25&comma;x0

false

(17)

evalbcoeffx3+2x25&comma;x20

true

(18)

See Also

boolean

is

testeq

type/complex

type/extended_numeric

Using Strings in Maple