Собственно сегодня ещё уточнил. Есть алгоритм проверки на монотонность функции, причём абсолютно произвольной, с помощью машины Тьюринга. Сам алгоритм:
1. Сравниваем соседние биты пары, затираем пару. Формируем справа
строки из первых
и вторых
эл-в пар (
соответственно).
Повторяем до тех пор пока не сотрем исходную строку значений с ленты или пока не встретится пара с отношением
, во втором случае функция не монотонна.
2. Склеиваем получившиеся строки
. Переходим к 1 шагу
алгоритма. Цикл повторяется
раз, где
число аргументов функции.
3. Если цикл выполняется
раз ф-ция монотонна.
Теперь это надо как-то в виде состояний записать вида