У меня есть то, что я бы назвал философским вопросом о λ-исчислении.
Когда вы изучите λ-исчисление, вы будете удивлены, увидев все, что вы можете сделать там. Вы можете определять целые числа, арифметические операции, логические значения, операторы if-then-else, циклы, рекурсивные функции и т. Д. Я считаю, что это было доказано в вычислительном отношении завершено.
Но с другой стороны, если вы подумаете о том, что вы можете делать с функциями в λ-исчислении, вы поймете, что единственное, что вы можете сделать, - это передать ему функцию, и она вернет другую функцию. И этот процесс никогда не заканчивается.
Итак, как вы можете извлечь результат из вычислений?
Предположим, что результатом выражения является функция f
. Вы хотите проверить, f
является ли то, что вы ожидали. Вы можете проверить это, взять функцию, которую вы знаете, применить f
к ней и получить g
. Но чтобы проверить g
правильность, теперь вам нужно проверить, что g
делает. И вы начинаете все сначала. Так как вы можете рассказать что-нибудь о f
?
Мне кажется, что вы можете заменить все функции в λ-исчислении одной функцией - функцией тождества I = λx.x
, и все будет работать, как описано в λ-исчислении. Церковная цифра, 3
когда дано f
и x
возвращается f(f(f(x)))
. Но поскольку f
и x
может быть только так I
, то возвращается I
. I
применяется I
и I
также возвращает I
. Так что I
удовлетворяет определению 3
. «Булевы значения» (λxy.x)
и (λxy.y)
нужно 2 аргумента, которые будут, I
и I
поэтому оба булевых значения вернутся I
. Каждый эквивалент идентичности, даже если они ведут себя точно в соответствии с их определениями.
Так как ты делаешь разницу? Как вы показываете, что λ-исчисление имеет дело не только с одной функцией?
Есть ли концепция идентичности? Можете ли вы определить функцию сразу, не оценив ее? Я считаю, что было доказано, что нет способа проверить 2 функции на равенство.
Или λ-исчисление не о функциях, а о формальном описании того, что они делают? Это означало бы, что выражения λ не только определяют, что делают функции, но также являются данными, которыми функции манипулируют. Поэтому , когда вы пишете A B
, не применяется A
к B
, но вы применяете функцию , описанная в строке A
для формального определения функции , содержащейся в B
возвращая формальное определение.
Что на самом деле происходит в λ-исчислении? С какими математическими объектами он имеет дело?
Следовать за:
Итак, из приведенного ниже ответа кажется, что λ-исчисление не столько о функциях в математическом смысле, сколько о подмножестве функций, которые могут быть выражены в виде выражений λ. Или даже больше о манипуляции выражениями.