Машиной (обычной) Минского обычно называют регистровую машину, у которой в регистрах натуральные числа (включая ноль) и две команды —

(инкрементировать значение в

и перейти в состояние

) и

(попробовать декрементировать значение в

, и если это был ноль (и не вышло), перейти в

, а если вышло, перейти в

).
По-моему это очень удобный формализм вычислимости, разве что он требует, чтобы мы приняли, что регистр может содержать неограниченные значения; лента машины Тьюринга многим кажется более приземлённой. Ещё кто-то может быть недоволен, что вычислимость сама по себе никак с натуральными числами не связана, и потому якобы ММ — и к примеру рекурсивные функции — хуже, хотя легко представить себе обобщение как ММ, так и рекурсивных функций на любое множество алгебраических типов. Я себе выписывал и то, и то, и это было довольно поучительным опытом (например оператор μ-рекурсии не обобщается натуральным образом, но можно на замену ему предложить куда более гибкий — если мы рассматриваем произвольную кучку типов — оператор поиска в произвольной последовательности

произвольного значения).
Сейчас я опишу, до какого определения обобщённой ММ дошёл, а вопрос темы в том, видели ли вы его уже в литературе и как такая машина там называлась. Скорее всего к нему уже давно пришли, просто я не видел, и хотелось бы знать более общеупотребительное название.
Сначала я в точности определю, что здесь понимается под алгебраическими типами, а точнее под отдельным небольшим самодостаточным «миром» алгебраических типов. Он задаётся множествами

названий типов и

конструкторов, сюръекцией

, задающей тип результата конструктора, и функцией

, задающей типы аргументов конструктора. Коротко это всё можно записать в виде набора определений вида

где

, например,

Множество значений

такого «мира» определяется индуктивно вместе с их типами

:
• если

,

,

,

, то

и

. Для конструктивности, запись

обозначает дерево с корнем

и непосредственными поддеревьями

.
Множество значений типов, описанных примером выше, можно понимать как натуральные числа (

) и конечные кортежи из них (

).
Обобщённой ММ для «мира» алгебраических типов

будет набор

, где
— конечное множество регистров;
— типы регистров;
— некоторый кортеж различных входных регистров машины;
— некоторый кортеж выходных регистров;
(в итоге машина понимается как реализация частичной функции
)
— конечное множество состояний машины, включающее начальное состояние
и состояние остановки
;
— функция перехода, сопоставляющая состояниям выполняемые при нахождении в них команды, множество
которых состоит ровно из элементов такого вида:
• «конструкция»
, где
• «деструкция/матчинг»
, где
(Об их точном смысле см. ниже.)
При выполнении машины мы держим в памяти текущие состояние

и значения регистров

. Обозначим
![$v[r\gets x]$ $v[r\gets x]$](https://dxdy-01.korotkov.co.uk/f/0/5/2/052fd2b0b45e9db2281b313ba9ac301282.png)
функцию

, отличающуюся от

ровно тем, что

.
Выполнение машины

за один шаг определяется так:
• если

, тогда

и

;
• если

, то

и
![$v' = v[r\gets c(v(r_1), \ldots, v(r_n))]$ $v' = v[r\gets c(v(r_1), \ldots, v(r_n))]$](https://dxdy-04.korotkov.co.uk/f/b/a/6/ba65cb415c4166d368a9b6bbbb30eadd82.png)
;
• если

, то положим

таким, что

, и тогда

,
![$v' = v[r_{k1}\gets x_1]\cdots[r_{km}\gets x_m]$ $v' = v[r_{k1}\gets x_1]\cdots[r_{km}\gets x_m]$](https://dxdy-04.korotkov.co.uk/f/7/f/7/7f734ecd06d9aea2a4bde3c587ce3dd282.png)
.
Обозначим транзитивное замыкание

как

. Определим множество результатов работы машины на входах

как

.
Наконец, машина реализует функцию

, если для любого набора аргументов

выполняется одно из следующего:
•

не определено и

;
•

и

.
Всё! Вопрос см. выше.