м до степени 0 в церковных цифрах - PullRequest
2 голосов
/ 11 января 2020

Топи c по информатике на уровне бакалавриата.
Я столкнулся с насущной проблемой около (0 m) с точки зрения возведения в степень чисел церкви в лямбда-исчислении при рассмотрении теории.
Насколько я знаю , (0 m) при уменьшении приводит к λx. x, что не 1 (= m^0), как ожидалось, и даже не в церковных цифрах.

Я принимаю n натурального числа в лямбда-исчислении, кодируемого кодировками церкви, как правило, как показано ниже

n := λfx. (f^n x) = (f ... (f x))

Многие литературные источники говорят, что

EXP(m, n) := λmn. (n m)

возвращает m^n для данных m и n церковных цифр и я понимаю, что функция отвечает правильно в большинстве случаев. Но это не тот случай, когда n = 0, так как

(0 m) = ((λfx. x) m) → λx. x

В математике 1 является единичным элементом натуральных чисел, рассматриваемых как мультипликативная группа, т. Е. x * 1 = 1 * x для любой x в N. Так что, если я установлю EXP функцию в виде

EXP’(m, n) := λmn. (n (MUL m) 1)

для MUL(m, n) = m * n, это будет работать нормально, совпадая с тем фактом, что m^0 часто определяется как 1 по математике. Также это кажется простым в смысле гипероперации.

ГИПЕРПОРАЦИЯ: https://en.m.wikipedia.org/wiki/Hyperoperation

Я ожидаю, что некоторые критические замечания, такие как m^0, не обязательно 1 в математике, и жесткие математические парни сказали бы, что все зависит от определений. Но тогда есть ли логическая поддержка для принятия прежнего стиля EXP(m, n)? Он не возвращает церковные цифры, когда n = 0, поэтому мне кажется, что он все еще плохо определен.

Вопрос

  1. «Почему обычно принимается определение EXP(m, n) := λmn. (n m) для m^n, даже если его выходные данные могут быть не церковными цифрами для церковных числовых вводов? »

  2. « Знаете ли вы какое-либо небольшое исправление EXP, поэтому эта функция хорошо работает для всей церкви? числовые входы? »

  3. « Любые проблемы или недоразумения по моей критике (0 m). »

Кроме того, существуют ли логические предпосылки для результат (0 m) будет λx. x, который является единичным элементом композиции функций, а не 1? Это просто совпадение или я думаю, что это слишком серьезно?

Любые идеи приветствуются.

Я хочу следовать определениям алгебры в Википедии, связанным с церковными цифрами, если необходимо.

Кодировка церкви: https://en.m.wikipedia.org/wiki/Church_encoding

Спасибо.

1 Ответ

2 голосов
/ 11 января 2020

Простое недоразумение: вы говорите "λx. x, что не 1", но λx. x действительно является церковной цифрой 1. Вы, вероятно, знаете церковную цифру 1 как λfx. f x, но простое eta-сокращение и альфа-преобразование показывают, что это эквивалентно λx. x.

...