В Derive принято, что имя типа значения, возвращаемого функцией, с вопросительным знаком в конце является предикатом, результатом проверки которого служат либо истина, либо ложь (true or false). Обращение к предикатам функции u :
INTEGER?(u); RATIONAL?(u); EVEN?(u); ODD?(u)
возвращает значение true, если результат выполнения функции является соответственно целым, действительным, четным и нечетным числом, в противном случае – false.
Аналогично, обращение вида
NUMBER?(u); VECTOR?(u); MATRIX?(u) ; SET?(u)
возвращает значение true, если результат выполнения функции является соответственно числом, вектором, матрицей, множеством, в противном случае будет возвращено значение false.
Если обращение представлено как
VARIABLE?(u); STRING?(u); SUM?(u); PRODUCT?(u); POWER?(u),
то значение true будет возвращено тогда, когда результат функции u окажется соответственно переменной, строкой, алгебраической суммой, произведением, степенью, иначе – false.