Пусть
- конечный алфавит,
- множество строк. Будем рассматривать функции из
в
, где
- произвольны.
Будем говорить, что функция
сильнее
, если
. Отношение "сильнее" - отношение частичного порядка на множестве функций. Грубо говоря,
может вычислить больше
.
Меня интересует, есть ли литература, в которой рассмотрено такое понятие, если да, как называется хотя бы это понятие, чтобы можно было погуглить. Я собираюсь написать программу, использующую функцию достаточно сильную в этом смысле (что-то типа execute immediate в SQL).
Или просто хочу узнать, какими свойствами обладают достаточно сильные функции? Имеет ли множество сильных функций верхнюю грань (т.е. есть ли универсальная функция). Я, например, знаю, что для универсальная функция для одноместных примитивно рекурсивных функций не примитивно рекурсивная, а универсальная функция для рекурсивных функций тоже рекурсивна. По идее, то же самое должно быть и в случае, если аргументы функций - строки.
Как устроен код таких функций? Верно ли, что в коде любой достаточно сильной функции должно быть явное ли неявное кодирование класса функций Можно ли множество функций разбить на какие-то достаточно крупные классы по отношению "сильный"
Примеры:
Код:
int f1(int a, int b){
return a+b;
}
int f2(int a, int b, int c){
if(c==0){
return a+b;
}
else{
return c;
}
}
здесь
сильнее, чем
.
Если есть функции
, то используя конструкцию
if можно написать функцию
, которая сильнее, чем
. Однако, если
достаточно велико, или если число функций
счетно, то проще написать универсальную функцию для всех
, кодируя простые функции.