Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В математической логике , то индекс De Бройн является инструментом изобретен голландским математиком Де Брёйн для представления условий лямбда - исчисления , не называя связанные переменные. [1] Термины, написанные с использованием этих индексов, инвариантны относительно α-преобразования , поэтому проверка α-эквивалентности такая же, как и проверка синтаксического равенства. Каждый индекс Де Брёйна - это натуральное число, которое представляет вхождение переменной в λ-члене и обозначает количество связующих, которые находятся в области видимости.между этим случаем и соответствующим связующим. Вот несколько примеров:

  • Член λ x . λ y . x , иногда называемый K-комбинатором , записывается как λ λ 2 с индексами Де Брёйна. Связующим элементом для вхождения x является второй λ в области видимости.
  • Член λ x . λ y . λ z . x z ( y z ) ( комбинатор S ) с индексами Де Брёйна есть λ λ λ 3 1 (2 1).
  • Член λ z . (λ y . yx . x )) (λ x . z x ) равно λ (λ 1 (λ 1)) (λ 2 1). См. Следующую иллюстрацию, на которой папки окрашены, а ссылки показаны стрелками.

Графическое изображение примера

Индексы Де Брёйна обычно используются в системах рассуждений более высокого порядка, таких как автоматические средства доказательства теорем и системы логического программирования . [2]

Формальное определение [ править ]

Формально λ-термы ( M , N , ...), записанные с использованием индексов Де Брёйна, имеют следующий синтаксис (круглые скобки разрешены свободно):

M , N , ... :: = n | M N | λ M

где n - натуральные числа больше 0 - переменные. Переменная n является связанной, если она входит в область действия по крайней мере n связывателей (λ); в остальном это бесплатно . Сайт привязки для переменной n - это n- е связующее, в области действия которого оно находится , начиная с самого внутреннего связующего.

Самая примитивная операция над λ-термами - это подстановка: замена свободных переменных в терме другими термами. Например, в β-редукцииM ) N мы должны

  1. найти экземпляры переменных n 1 , n 2 , ..., n k в M , которые связаны с λ в λ M ,
  2. уменьшить свободные переменные M, чтобы соответствовать удалению внешней λ-связки, и
  3. замените n 1 , n 2 , ..., n k на N , соответствующим образом увеличивая количество свободных переменных, встречающихся в N, каждый раз, чтобы соответствовать количеству λ-связующих, при котором соответствующая переменная появляется, когда N заменяет одну из n я .

Для иллюстрации рассмотрим приложение

(λ λ 4 2 (λ 1 3)) (λ 5 1)

что может соответствовать следующему члену, записанному в обычных обозначениях

x . λ y . z xu . u x )) (λ x . w x ).

После шага 1 мы получаем член λ 4 □ (λ 1 □), в котором переменные, предназначенные для подстановки, заменяются квадратами. Шаг 2 уменьшает свободные переменные, получая λ 3 □ (λ 1 □). Наконец, на шаге 3 мы заменяем поля аргументом, а именно λ 5 1; первый ящик находится под одной связкой, поэтому мы заменяем его на λ 6 1 (что составляет λ 5 1 со свободными переменными, увеличенными на 1); второй находится под двумя связующими, поэтому мы заменим его на λ 7 1. Окончательный результат будет λ 3 (λ 6 1) (λ 1 (λ 7 1)).

Формально подстановка - это неограниченный список замен терминов для свободных переменных, записанный M 1 . M 2 ..., где M i - замена i- й свободной переменной. Операция увеличения на шаге 3 иногда называется сдвигом и записывается как ↑ k, где k - натуральное число, указывающее величину увеличения переменных; например, ↑ 0 - это подстановка тождества, оставляя термин неизменным.

Применение замены s к члену M записывается M [ s ]. Композиция двух замен s 1 и s 2 записывается как s 1 s 2 и определяется формулой

M [ s 1 s 2 ] = ( M [ s 1 ]) [ s 2 ].

Правила применения следующие:

Таким образом, шаги, описанные выше для β-восстановления, более кратко выражаются как:

M ) Nβ M [ N .1.2.3 ...].

Альтернативы индексам Де Брёйна [ править ]

При использовании стандартного «именованного» представления λ-термов, где переменные обрабатываются как метки или строки, необходимо явно обрабатывать α-преобразование при определении любой операции над термами. Стандарт Переменных конвенций [3] из Barendregt является одним из такого подхода , при котором применяются α-преобразование по мере необходимости для обеспечения того , чтобы:

  1. связанные переменные отличны от свободных переменных, и
  2. все связыватели связывают переменные, которые еще не входят в область видимости.

На практике это громоздко, неэффективно и часто подвержено ошибкам. Поэтому это привело к поиску различных представлений таких терминов. С другой стороны, именованное представление λ-термов является более распространенным и может быть более понятным для других, поскольку переменным можно давать описательные имена. Таким образом, даже если система использует индексы Де Брёйна внутри, она будет представлять пользовательский интерфейс с именами.

Индексы Де Брёйна - не единственное представление λ-термов, которое снимает проблему α-преобразования. Среди именованных представлений номинальные методы Питтса и Габбея представляют собой один из подходов, в котором представление λ-члена рассматривается как класс эквивалентности всех терминов, которые можно переписать в него с использованием перестановок переменных. [4] Этот подход используется пакетом номинальных типов данных Isabelle / HOL . [5]

Другой распространенной альтернативой является обращение к представлениям более высокого порядка, в которых λ-связка рассматривается как истинная функция. В таких представлениях вопросы α-эквивалентности, подстановки и т. Д. Идентифицируются с теми же операциями в мета-логике .

Рассуждая о метатеоретических свойствах дедуктивной системы в помощнике по доказательству , иногда желательно ограничиться представлениями первого порядка и иметь возможность давать имена или переименовывать предположения. В локально безымянном подходе используется смешанное представление переменных - индексы Де Брёйна для связанных переменных и имена для свободных переменных - которое может извлечь выгоду из α-канонической формы индексированных терминов Де Брёйна, когда это необходимо. [6] [7]

См. Также [ править ]

Ссылки [ править ]

  1. ^ де Брёйн, Николаас Говерт (1972). «Нотация лямбда-исчисления с безымянными манекенами: инструмент для автоматического манипулирования формулами с применением к теореме Черча-Россера» (PDF) . Indagationes Mathematicae . 34 : 381–392. ISSN  0019-3577 .
  2. ^ Габбей, Мердок Дж .; Питтс, Энди М. (1999). «Новый подход к абстрактному синтаксису с использованием связующих». 14-й ежегодный симпозиум IEEE по логике в компьютерных науках . С. 214–224. DOI : 10.1109 / LICS.1999.782617 .
  3. ^ Барендрегт, Хенк П. (1984). Лямбда-исчисление: его синтаксис и семантика . Северная Голландия . ISBN 978-0-444-87508-2.
  4. ^ Питтс, Энди М. (2003). «Номинальная логика: теория имен и связывания первого порядка». Информация и вычисления . 186 (2): 165–193. DOI : 10.1016 / S0890-5401 (03) 00138-X . ISSN 0890-5401 . 
  5. ^ "Именной сайт Изабель" . Проверено 28 марта 2007 .
  6. ^ Макбрайд, МакКинна. Я не число; Я свободная переменная (PDF) .
  7. ^ Aydemir, Chargueraud, Пирс, Поллак, Weirich. Инженерная формальная метатеория .CS1 maint: multiple names: authors list (link)