Каждая ВМ-функция - функция, содержащая описание ВМ (тип функции Rule), должна быть объявлена на панели Function Sheet и описана на панели Rule Function Subsheet.
Описание В М-функции включает в себя множество правил (условных и безусловных предложений вычислимости) и объявление ее входных переменных:
и выходных переменных - результатов функции в поле Result Variables (значения возвращаются через список вызова ).
В общем случае для В М-функций можно отойти от жесткого разделения на только входные или только выходные переменные: входными считаются переменные, значения которых известны до обращения к функции, а выходными - переменные, значения которых могут быть вычислены для заданного множества входных переменных. Поэтому входными могут быть переменные, описанные и как аргументы, и как результаты; аналогично и выходными. Однако в вызове ВМ-функции должен быть специфицирован полностью весь список аргументов и результатов ВМ-функции, даже если заведомо известно, что не все исходные данные означены и соответственно будут получены не все результаты.
В ВМ-функциях попытка означить переменную-параметр значением, отличным от того, что задано на панели Variables Sheet, приводит к ошибке, фиксируются ошибки также, если значение какой-либо переменной вычисленное с помощью одного соотношения, не согласуется со значением этой или другой переменной, вычисленной с помощью другого соотношения.
В теле ВМ-функции могут быть ссылки или обращения к другим В М-функциям или процедурам (рекурсивные ссылки и вызовы не допускаются, т.е. нельзя обращаться к самой себе).
Решатель задач осуществляет обработку переменных и правил ВМ-функции аналогично тому, как это делается для переменных и правил из панели описания вычислительной задачи Rule Sheet. Неизвестные переменные могут содержаться как в левых, так и в правых частях правил и вычисляются с использованием тех правил, в которых они представлены.