Ми знаємо, що бета-рівність просто введених лямбда-термінів можна вирішити. З огляду на M, N: σ → τ, чи вирішується чи для всіх X: σ, MX NX?
Ми знаємо, що бета-рівність просто введених лямбда-термінів можна вирішити. З огляду на M, N: σ → τ, чи вирішується чи для всіх X: σ, MX NX?
Відповіді:
Як я вже сказав у своєму коментарі, загалом відповідь - ні.
Важливим моментом, який потрібно зрозуміти (я кажу це для Вікліба, який, здається, дізнається про ці речі), є те, що наявність мови програмування / набору машин, у яких усі програми / обчислення закінчуються, не означає, що рівність функції (тобто, чи два програми / машини, які обчислюють одну і ту ж функцію) можна вирішити. Простий приклад: візьміть набір багаточленних машин Тьюрінга. За визначенням, всі такі машини припиняються на всіх входах. Тепер, враховуючи будь-яку машину Тьюрінга , існує машина Тьюрінга яка, у рядок , імітуєкроки обчислення на фіксованому вході (скажімо, порожній рядок) і приймає, якщо закінчується не більшекроки або відхиляє інше. Якщо - машина Тьюрінга, яка завжди негайно відхиляє, і обидва (очевидно) поліноміально-тактовані, і все ж, якщо ми могли б вирішити, чи і обчислюють одну і ту ж функцію (або, у цьому випадку, вирішують одну і ту ж мову), ми могли б вирішити, чи закінчується (що, пам’ятаємо, довільна машина Тьюрінга) на порожній рядку.
У випадку просто набраного -calculus (STLC) працює аналогічний аргумент, за винятком того, що вимірювання виразної сили STLC не настільки тривіальне, як у наведеному вище випадку. Коли я писав свій коментар, я мав на увазі пару статей Гіллебранда, Канеллакіса та Майрсона з початку 90-х, які показують, що, використовуючи складніші типи, ніж звичайний тип цілих чисел Церкви, можна кодувати в STLC досить складний розрахунки для роботи вищезгаданого аргументу. Насправді я зараз бачу, що потрібний матеріал вже є у спрощеному доказі теореми Статмена про Мейрсона:
Гаррі Г. Мейрсон, простий доказ теореми Статмена. Теоретичні інформатики, 103 (2): 387-394, 1992. (Доступно в Інтернеті тут ).
У цій роботі, Mairson показує, що для будь-якої машини Тьюринга , існує простий тип і -term , що кодує функції переходів . (Це апріорі не очевидно, якщо мати на увазі надзвичайно слабку виражальну силу STLC щодо цілих чисел Церкви. Дійсно, кодування Мейрсона не є негайним). З цього не важко побудувати термін
(де - екземпляр на типу цілих чисел Церкви) таким чином, що зменшується до якщо закінчується не більше кроків, коли подається порожній рядок або зменшується до іншому випадку. Як і вище, якби нам вдалося вирішити, що функція, представлена є константа , ми вирішили би припинити на порожній рядку.