Давайте построим все част-рек ф-и, что ли.
Нуль есть, инкремент есть (return [x]), проекции есть.
Суперпозиция есть.
На равенство два множества протестировать можно, буду писать if (a == b)
Примитивную рекурсию( h(x,0) = f(x) и h(x, y+1) = g(x, y, h(x, y))) сделать можно:
Код:
h(x,y)
{
return iter(x, y, 0, f(x));
}
iter(x, y, v, r)
{
if (y == v)
return r;
else
return iter(x, y, [v], g(x, v, r));
}
(Проверьте, спал вчера мало, могу тупить :)
Мю (

) тоже можно подобным образом, даже проще, наверное.
Код:
mu(y)
{
return iter(0, y)
}
iter(x, y)
{
ife (f(x, y))
return x;
else
return iter([x], y);
}