У мене є те, що я б назвав філософським питанням про λ-обчислення.
Коли ви досліджуєте λ-обчислення, ви здивуєтеся, побачивши все, що ви можете там зробити. Ви можете визначити цілі числа, арифметичні операції, булеві, висловлювання "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поверненні іншого формального визначення.
Що насправді відбувається в λ-обчисленні? Якими математичними предметами вона займається?
Слідувати:
Гаразд, з відповіді нижче видно, що λ-обчислення стосується не стільки функцій в математичному сенсі, скільки про підмножини функцій, які можна виразити як λ вирази. Або навіть більше про маніпулювання λ-виразами.