WikiDer > Индекс Де Брёйна
В математическая логика, то индекс де Брёйна это инструмент, изобретенный нидерландский язык математик Николаас Говерт де Брёйн для представления условий лямбда-исчисление без наименования связанных переменных.[1] Термины, написанные с использованием этих индексов, инвариантны относительно α-преобразование, поэтому проверка на α-эквивалентность то же самое, что и для синтаксического равенства. Каждый индекс де Брейна представляет собой натуральное число что представляет собой возникновение Переменная в λ-члене, и обозначает количество связующие которые находятся в объем между этим случаем и соответствующим связующим. Вот несколько примеров:
- Член λИкс. λy. Икс, иногда называемый K комбинатор, записывается как λ λ 2 с индексами Де Брёйна. Связующее для возникновения Икс является вторым λ по объему.
- Член λИкс. λy. λz. Икс z (y z) ( Комбинатор S) с индексами де Брейна есть λ λ λ 3 1 (2 1).
- Член λz. (λy. y (λИкс. Икс)) (λИкс. z Икс) равно λ (λ 1 (λ 1)) (λ 2 1). См. Следующую иллюстрацию, на которой папки окрашены, а ссылки показаны стрелками.
Индексы Де Брёйна обычно используются в более высокого порядка системы рассуждений, такие как автоматические средства доказательства теорем и логическое программирование системы.[2]
Формальное определение
Формально, λ-члены (M, N, ...), написанные с использованием индексов Де Брёйна, имеют следующий синтаксис (круглые скобки разрешены свободно):
- M, N, ... ::= п | M N | λ M
куда п—натуральные числа больше 0 - переменные. Переменная п является граница если это входит как минимум в п связующие (λ); в противном случае это свободный. Сайт привязки для переменной п это псвязующее это в объем из, начиная с самой внутренней подшивки.
Самая примитивная операция над λ-термами - это подстановка: замена свободных переменных в терме другими термами. в β-редукция (λ M) N, например, мы должны:
- найти экземпляры переменных п1, п2, ..., пk в M которые связаны λ в λ M,
- уменьшить свободные переменные M чтобы согласовать удаление внешнего λ-связующего, и
- заменять п1, п2, ..., пk с N, соответствующим образом увеличивая свободные переменные, встречающиеся в N каждый раз, чтобы соответствовать количеству λ-связующих, при котором соответствующая переменная встречается, когда N заменяет один из пя.
Для иллюстрации рассмотрим приложение
- (λ λ 4 2 (λ 1 3)) (λ 5 1)
что могло бы соответствовать следующему члену, записанному в обычных обозначениях
- (λИкс. λy. z Икс (λты. ты Икс)) (λИкс. ш Икс).
После шага 1 мы получаем член λ 4 □ (λ 1 □), в котором переменные, предназначенные для подстановки, заменяются квадратами. Шаг 2 уменьшает свободные переменные, получая λ 3 □ (λ 1 □). Наконец, на шаге 3 мы заменяем поля аргументом, а именно λ 5 1; первый ящик находится под одной связкой, поэтому мы заменяем его на λ 6 1 (это λ 5 1 с увеличенными на 1 свободными переменными); второй находится под двумя связующими, поэтому мы заменяем его на λ 7 1. Окончательный результат будет λ 3 (λ 6 1) (λ 1 (λ 7 1)).
Формально подстановка - это неограниченный список замен терминов для свободных переменных, записанный M1.M2..., куда Mя это замена я-я свободная переменная. Операцию увеличения на шаге 3 иногда называют сдвиг и написано ↑k куда k - натуральное число, обозначающее величину увеличения переменных; например, ↑0 заменяет тождество, оставляя термин без изменений.
Заявление на замену s к сроку M написано M[s]. Состав двух замен s1 и s2 написано s1 s2 и определяется
- M [s1 s2] = (M [s1]) [s2].
Правила применения следующие:
Таким образом, шаги, описанные выше для β-восстановления, более кратко выражаются как:
- (λ M) N →β M [N.1.2.3...].
Альтернативы индексам Де Брёйна
При использовании стандартного «именованного» представления λ-термов, где переменные обрабатываются как метки или строки, необходимо явно обрабатывать α-преобразование при определении любой операции над термами. Стандарт Соглашение о переменных[3] из Барендрегт является одним из таких подходов, при котором при необходимости применяется α-преобразование, чтобы гарантировать, что:
- связанные переменные отличны от свободных переменных, и
- все связыватели связывают переменные, которые еще не входят в область видимости.
На практике это громоздко, неэффективно и часто подвержено ошибкам. Таким образом, это привело к поиску различных представлений таких терминов. С другой стороны, именованное представление λ-терминов является более распространенным и может быть более понятным для других, потому что переменным можно давать описательные имена. Таким образом, даже если система использует индексы Де Брёйна внутри, она будет представлять пользовательский интерфейс с именами.
Индексы Де Брёйна - не единственное представление λ-термов, которое снимает проблему α-преобразования. Среди названных представлений номинальные методы Питтса и Габбая - это один из подходов, в котором представление λ-члена рассматривается как класс эквивалентности всех терминов перезаписываемый к нему с помощью перестановок переменных.[4] Этот подход используется пакетом номинальных типов данных Изабель / ХОЛ.[5]
Еще одна распространенная альтернатива - обращение к представления высшего порядка где λ-связка рассматривается как истинная функция. В таких представлениях вопросы α-эквивалентности, замены и т. Д. Идентифицируются с помощью тех же операций в мета-логика.
Рассуждая о метатеоретических свойствах дедуктивной системы в помощник доказательства, иногда желательно ограничиться представлениями первого порядка и иметь возможность давать имена или переименовывать предположения. В локально безымянный подход использует смешанное представление переменных - индексы Де Брёйна для связанных переменных и имена для свободных переменных - которое может извлечь выгоду из α-канонической формы индексированных терминов Де Брёйна, когда это необходимо.[6][7]
Смотрите также
- В Обозначение де Брёйна для λ-членов.
- Комбинаторная логика, более важный способ исключить имена переменных.
Рекомендации
- ^ де Брюйн, Николаас Говерт (1972). «Нотация лямбда-исчисления с безымянными манекенами: инструмент для автоматического манипулирования формулами, с приложением к теореме Черча-Россера» (PDF). Indagationes Mathematicae. 34: 381–392. ISSN 0019-3577.
- ^ Габбей, Мердок Дж .; Питтс, Энди М. (1999). «Новый подход к абстрактному синтаксису с использованием связующих». 14-й ежегодный Симпозиум IEEE по логике в компьютерных науках. С. 214–224. Дои:10.1109 / LICS.1999.782617.
- ^ Барендрегт, Хенк П. (1984). Лямбда-исчисление: его синтаксис и семантика. Северная Голландия. ISBN 978-0-444-87508-2.
- ^ Питтс, Энди М. (2003). «Номинальная логика: теория имен и связывания первого порядка». Информация и вычисления. 186 (2): 165–193. Дои:10.1016 / S0890-5401 (03) 00138-X. ISSN 0890-5401.
- ^ "Именной сайт Изабель". Получено 2007-03-28.
- ^ Макбрайд, МакКинна. Я не число; Я свободная переменная (PDF).
- ^ Айдемир, Шаргеро, Пирс, Поллак, Вейрих. Инженерная формальная метатеория.CS1 maint: несколько имен: список авторов (связь)