В качестве базисных логических операторов используется функционально полный набор логических операций: И, ИЛИ, НЕТ (AND, OR, NOT). Значениями логических переменных являются p, q ?{true, false}.
Кроме базиса (AND, OR, NOT) используются соответственно операторы эквивалентности, неэквивалентности и импликации:
IFF p IFF q = NOT p OR q) AND (p OR NOT q;
XOR p XOR q = NOT p AND q) OR (p AND NOT q);
IMP p IMP q = NOT p OR q.
Общая форма записи условного оператора представляется в следующем виде:
IF (test, then, else, unknown),
где test – условное выражение, принимающее значения из {true, false};
then – операторное выражение, исполняемое, если условие истинно;
else – операторное выражение, исполняемое, если условие ложно;
unknown – оператор, возвращающий условное выражение, по которому невозможно определить его значение из множества {true, false}. Иногда может быть выведен символ “?”.
В качестве условных выражений могут выступать алгебраические выражения, связанные знаками отношений { =, /=, <, <=, >, >=}, о которых можно сказать, что они истинны или ложны, и булевы выражения, вычисление которых как раз и принимает эти значения.
Допустимы укороченные формы операторов: IF (test, then).
Операторные выражения могут быть любыми синтаксически и лексически правильными с точки зрения Derive. Неправильная конструкция либо игнорируется, либо не выпускается из командной строки, в которой курсор устанавливается на том месте, где обнаружена синтаксическая ошибка.
К разряду условных операторов можно отнести непрерывные кусочно-ломаные функции:
SIGN(x) – функция знака, равная ? при x>0 и ?? при x<0;
STEP(x) – единичная функция, равная ? при x>0 и 0 при x<0;
MAX(x1, x2, …, xn) – выделение максимального значения;
MIN(x1, x2, …, xn) – выделение минимального значения;
CHI(a,x.b) – функция равна ?, если a < x < b иначе – 0.