Программой на языке M является возможно пустая последовательность определений отношений и одна цель.
Любое отношение содержит имя отношения, список ее аргументов и тело. Телом отношения является некоторая цель.
Атом это либо переменная, либо некоторый конструктор, примененный к возможно пустой последовательности атомов.
Существует несколько типов целей:
- Унификация двух термов.
- Конъюнкция двух целей.
- Дизъюнкция двух целей.
- Вызов отношения по имени. Аргументами отношения может быть потенциально пустая последовательность атомов.