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

и вторых

эл-в пар (

соответственно).
Повторяем до тех пор пока не сотрем исходную строку значений с ленты или пока не встретится пара с отношением

, во втором случае функция не монотонна.
2. Склеиваем получившиеся строки

. Переходим к 1 шагу
алгоритма. Цикл повторяется

раз, где

число аргументов функции.
3. Если цикл выполняется

раз ф-ция монотонна.
Теперь это надо как-то в виде состояний записать вида
