Существует ли какая-либо система, похожая на лямбда-исчисление, которая сильно нормализуется, без необходимости добавлять систему типов поверх нее?
Существует ли какая-либо система, похожая на лямбда-исчисление, которая сильно нормализуется, без необходимости добавлять систему типов поверх нее?
Ответы:
Я могу придумать несколько возможных ответов из линейной логики.
Самым простым является аффинное лямбда-исчисление: рассмотрим только лямбда-термины, в которых каждая переменная встречается не более одного раза. Это условие сохраняется путем восстановления, и сразу видно, что размер аффинных членов строго уменьшается с каждым шагом восстановления. Следовательно, нетипизированное аффинное лямбда-исчисление сильно нормализуется.
Более интересные примеры (с точки зрения выразительности) дают так называемые «легкие» лямбда-исчисления, возникающие из подсистем линейной логики, введенных Жираром в «Световой линейной логике» (Информация и вычисления 143, 1998). как «Мягкая линейная логика» Лафона (Теоретическая информатика 318, 2004). В литературе есть несколько таких исчислений, возможно, хорошим справочником является «Легкое аффинное лямбда-исчисление и сильная нормализация за полиномиальное время» (Архив математической логики 46, 2007). В этой статье Теруи определяет лямбда-исчисление, основанное на лёгкой аффинной логике, и доказывает для него сильный результат нормализации. Несмотря на то, что типы упоминаются в статье, они не используются в доказательстве нормализации. Они полезны для аккуратной формулировки основного свойства лёгкого аффинного лямбда-исчисления, а именно того, что члены определенного типа представляют в точности функции Polytime. Подобные результаты известны для элементарных вычислений с использованием других «легких» лямбда-исчислений (статья Теруи содержит дополнительные ссылки).
В качестве дополнительного примечания интересно отметить, что в терминах теории доказательств аффинное лямбда-исчисление соответствует интуиционистской логике без правила сжатия. Гришин заметил (до введения линейной логики), что при отсутствии сжатия наивная теория множеств (т. Е. С неограниченным пониманием) непротиворечива (т. Е. Парадокс Рассела не дает противоречия). Причина в том, что исключение выреза для наивной теории множеств без сжатия может быть доказано прямым аргументом уменьшения размера (как тот, который я привел выше), который не зависит от сложности формул. Посредством соответствия Карри-Говарда это в точности нормализация нетипизированного аффинного лямбда-исчисления. Это путем перевода парадокса Рассела в линейную логику и «подстройкой» экспоненциальные модальности, так что никакое противоречие не могло быть выведено, что Жирар придумал легкую линейную логику. Как я уже упоминал выше, в вычислительном отношении легкая линейная логика дает характеристику вычислимых функций за полиномиальное время. В терминах теории доказательств непротиворечивая наивная теория множеств может быть определена в легкой линейной логике так, что доказуемо полные функции - это точно вычислимые функции за полиномиальное время (на эту тему есть еще одна статья Теруи, «Теория аффинного множества света: наивный»). теория множеств полиномиального времени ", Studia Logica 77, 2004).
Оригинальная статья Черча и Россера «Некоторые свойства обращения» описывает нечто, что может служить примером того, что вы ищете.
Если вы используете строгое лямбда-исчисление, где в каждом вхождении вас есть то, что появляется свободным в , то без системы типов выполняется следующее свойство (это теорема 2 в статье Черча и Россера):
Если является нормальной формой , то существует такое число , что любая последовательность сокращений, начинающаяся с , приведет к [по модулю альфа-эквивалентности] после не более чем сокращений.
Таким образом, даже если вы можете написать не заканчивающиеся термины в (нетипизированном) строгом лямбда-исчислении, каждый член с нормальной формой сильно нормализуется; то есть каждая последовательность сокращений достигнет этой уникальной нормальной формы.
Вот забавный, Нил Джонс и Нина Бор:
Завершение по значению в нетипизированном -calculus
В нем показано, как применить анализ изменения размера (тип анализа потока управления, который обнаруживает бесконечные циклы) для нетипизированных -terms. Это довольно хорошо на практике, но, конечно, ограничивается -terms без определенных констант (хотя метод может быть расширен для более общего использования).
Преимущество типирования, конечно, заключается в низкой стоимости и модульности подхода: в общем случае анализ завершения очень немодулярен, но набор может быть выполнен «по частям».