Здравствуйте. Возник вопрос с вариацией
-операции (определение
-операции дано в конце 221 страницы:
https://archive.org/details/a-concise-i ... 1/mode/1up ; на следующей странице дана вышеупомянутая функция):
. Если целью является такая же функция, только с заменой
на
, то получается следующее: если предикат
выполняется (нашлось подходящее k), то, согласно "case distinction" и определению
-функции, значение функции равно
(от переменной m избавились - предикат не может выполняться, если
не равно
). Но если предикат
не выполняется (не нашлось подходящего k), то ничто(?) не обязывает часть предиката
выполняться, и, следовательно, значение функции вполне себе может быть равно m (от переменной m не избавились), а на 222 странице эта функция задается исключительно на векторе
. В чём моя ошибка и почему, например, нельзя было задать эту функцию, как композицию результата
-операции(так как она примитивно-рекурсивная) с
?