Documentation Center

  • Trial Software
  • Product Updates

TRUE

Boolean constant TRUE

Description

MuPAD® uses a three state logic with the Boolean constants TRUE, FALSE, and UNKNOWN.

The Boolean constants TRUE, FALSE, UNKNOWN are of domain type DOM_BOOL.

See and, or, not for the logical rules of the MuPAD three state logic.

Boolean constants are returned by system functions such as bool and is. These functions evaluate Boolean expressions such as equations and inequalities.

Examples

Example 1

The Boolean constants may be combined via and, or, and not:

(TRUE and (not FALSE)) or UNKNOWN

Example 2

The function bool serves for reducing Boolean expressions such as equations or inequalities to one of the Boolean constants:

bool(x = x and 2 < 3 and 3 <> 4 or UNKNOWN)

The function is evaluates symbolic Boolean expressions with properties:

assume(x > 2): is(x^2 > 4), is(x^3 < 0), is(x^4 > 17)

unassume(x):

Example 3

Boolean constants occur in the conditional part of program control structures such as if, repeat, or while statements. The following loop searches for the smallest Mersenne prime larger than 500 (see numlib::mersenne for details). The function isprime returns TRUE if its argument is a prime, and FALSE otherwise. Once a Mersenne prime is found, the while-loop is interrupted by the break statement:

p := 500:
while TRUE do
  p := nextprime(p + 1):
  if isprime(2^p - 1) then
     print(p);
     break;
  end_if;
end_while:

Note that the conditional part of if, repeat, and while statements must evaluate to TRUE or FALSE. Any other value leads to an error:

if UNKNOWN then "true" else "false" end_if
Error: Cannot evaluate to Boolean. [if]
delete p:

See Also

MuPAD Domains

MuPAD Functions

Was this topic helpful?