Functions > Boolean Algebra
For a discussion on Boolean Algebra support in MP, please refer to the Boolean Expressions section.
Working with Truth Tables is made easy through a simple GUI tool. Please refer to Truth Tables Easy Kit section for more details.
The following functions are described in this Section:
Creates a Boolean array. Its format is:
bool (val_1, val_2, ..., val_n )
Here val_1, val_2, ..., val_n are any values that can evaluate to either 'true' or 'false'. The value true can be specified using the string literal 'true', a non-zero number or a Boolean variable or expression that evalulates to true. The value false can be specified using the string literal 'false', the number 0, or a Boolean variable or expression that evalulates to false.
>> bool (true, false, true)
>> bool (0, 2, 3)
>> a = 10
>> bool (a > 100, a < 100, a == 100, a != 20, a == 10, a >= 2, a <= 20="" p="">
Creates columns of Truth Tables and names them for future reference. This way you can store premises and get the conclusions very conveniently. Its format is:
fillbool (var_1, var_2, var_3, ....., var_n)
var_1, var_2, var_3, ..., var_n are any valid variable names (left-hand side expressions). Each variable is assigned a Boolean array of required size and is initialized with proper values according to the order it appears.
Suppose you want to create a truth table for the Boolean expression:
Note: Here a,b,c etc. are Boolean variables and +,* and ^ are Boolean operators and not ordinary arithmetic operators.
The expression contains seven (7) Boolean variables. It means that each column of the truth table will have 2^7 = 128 rows! It is not quite convenient to create such a complex truth table manually. The function fillbool can create the required truth table very easily as shown below:
>> result = (a+b)*(a^b)^(a+b*c+(d^x)*y+z)