Логические исследования 2018. Т. 24. № 2. С. 151-157 УДК 164
Logical Investigations 2018, Vol. 24, No. 2, pp. 151-157 DOI: 10.21146/2074-1472-2018-24-2-151-157
В.И. ШАЛАК
Слабое отношение следования между А-термами*
Владимир Иванович Шалак
Институт философии РАН.
Российская Федерация, 109240, г. Москва, ул. Гончарная, д.12, стр.1. E-mail: shalack@gmail.com
Аннотация: Язык А-исчисления находит широкое применение для решения задач в логике, информатике, лингвистике и искусственном интеллекте. Само А-исчисление строится вокруг базисного отношения между термами, которое называется в-редукцией. В предлагаемом докладе для типизированного в смысле Карри А-исчисления формулируется более слабое отношение между термами, которое может как иметь самостоятельное значение, так и позволить установить более тонкие связи между логикой и А-исчислением. Основная идея заключается в том, что при приписывании терму X типа а относительно контекста Г, что записывается в виде Г b X : а, понятие контекста играет роль, аналогичную понятию модели в логике. Если в логике выражение M И A означает, что формула A истинна в модели M, то в типизированном А-исчислении выражение Г b X : а означает, что в контексте Г терму X приписан тип а, и этот терм имеет значение, которое может быть вычислено. В логике отношение следования между формулами A и B определяют как A И B — VM (M И A ^ M И B). Если перенести эту схему в А-исчисление, то отношение А-следования между темами может быть определено как X Ил Y — VГ е С£ж[За(Г b X : а) ^ Зв(Г b Y : в)]. Смысл этого отношения заключается в том, что в каждом контексте, в котором терму X может быть приписан некоторый тип, терму Y также может быть приписан некоторый тип. Иными словами, если вычислима функция, представленная термом X, то вычислима функция, представленная термом Y. Отношение А-следования обладает многими свойствами, присущими классическому отношению следования между формулами логики, а также рядом новых свойств, характерных для А-исчисления с типами.
Ключевые слова: А-исчисление с типами, отношение следования
Для цитирования: Шалак В.И. Слабое отношение следования между А-термами // Логические исследования / Logical Investigations. 2018. T. 24. № 2. С. 151-157. DOI: 10.21146/2074-1472-2018-24-2-151-157
* Статья представляет собой расширенную версию тезисов выступления на I Конгрессе РОИФН, опубликованных в электронном виде: Шалак В.И. Слабое отношение следования между А-термами // История и философия науки в эпоху перемен: сб. науч. ст.: в 6 т. Т. 1. [Электронный ресурс]. М.: РОИФН, 2018. С. 58-61.
© Шалак В.И.
1. Бестиповое А-исчисление
Теория бестипового А-исчисления подробно изложена в [Барендрегт, 1985]. Напомним определения его базовых понятий — исходных символов, термов, аксиом и правил вывода.
1.1. Исходные символы
1. Уаг — множество переменных;
2. А — оператор ламбда-абстракции;
3. ), ( — скобки.
1.2. Термы
1. Всякая переменная х € Уаг есть терм;
2. Если X и У — термы, то (ХУ) есть терм;
3. Если х € Уаг и У — терм, то (Ах.У) — терм.
Терм Ах.У понимается как предписание для вычисления некоторой функции. Применение Ах.У к терму X записывается как (Ах.У)Х, а результатом его будет терм У[Х/х], т. е. подстановка терма X вместо всех свободных вхождений переменной х в терм У при выполнении ограничения, что после подстановки ни одна свободная переменная терма X не оказывается связанной. Аналогичные ограничения на подстановку термов имеют место и в логике предикатов. Они удовлетворяются автоматически, если все свободные переменные отличны от связанных.
Простое первопорядковое А-исчисление задается двумя аксиомами и четырьмя правилами вывода.
1.3. Аксиомы
1. (Ах.У)X ^ У^/х] — в-редукция
2. X ^ X
1.4. Правила вывода
1. X ^ У ^ ^ ^ ^У
2. X ^ У ^ XZ ^ У^
3. X ^ У, У ^ Z ^ X ^ Z
4. X ^ У ^ Ах^ ^ Ах.У Определение доказательства — обычное.
2. Типизация в стиле Карри
При обычном понимании функций мы связываем с ними области определения и области значений. Если f — некоторая функция, то запись f : A —^B служит обозначением того, что множество A — область ее определения, множество B — область значений, а A — B понимается как множество всех функций из A в B, т. е. BA. Если ж € A, то f (ж) € B. Более подробно с типизацией в стиле Карри можно ознакомиться в [Hindley, Seldin, 2008].
В языке А-исчисления нет явного указания на типы значений термов, но мы бы хотели иметь возможность в случае необходимости приписать их. Для этого в метаязыке определим множество меток, которые будем называть типами.
Пусть AType — некоторое множество атомарных типов. Тогда множество всех типов Type определяется по индукции:
1. Если а € AType, то а € Type;
2. Если а, в € Type, то (а — в) € Type;
3. Ничто другое не принадлежит Type.
Пусть X : а будет обозначать, что терму X приписан тип а.
Контекстом Г будем называть множество переменных, каждой из которых приписан тип. При этом если ж : а € Г и ж : в € Г, то а = в. Множество всех контекстов обозначим посредством Ctx.
Индуктивное определение приписывания типов А-термам относительно контекста Г имеет следующий вид.
ж : а е Г
T.1 T.2 T.3
Г Ь ж : а
Г Ь X : а — в, Г Ь Y : а Г Ь (XY)в
Г, ж : а Ь Y : в
Г Ь (Ах.У) : а ^ в
Правило Т.1 — базис индукции, а правила Т.2 и Т.3 — индукционный шаг.
Будем называть терм X типизируемым, если существует контекст Г и такой тип а, что Г Ь X : а. Предикат быть типизируемым термом разрешим, т. е. существует алгоритм, который позволяет по каждому типизируемому терму X построить такой контекст Г и тип а, что Г Ь X : а. Более того, существует алгоритм, который позволяет по заданному терму
X построить в определенном смысле минимальный контекст с требуемыми свойствами.
Например, если X и У — переменные, а (ХУ) — терм, то одним из контекстов, который позволяет приписать ему тип, будет {X : а ^ в, У '■ в}. Тогда сам терм (ХУ) будет иметь тип в, т. е. (ХУ) : в. В то же время, согласно определению Т. 1 — Т. 3 приписывания типов А-термам, терму ЛХ.(ЛУ.(ХУ)) может быть приписан некоторый тип (а ^ в) ^ (а ^ в) в любом контексте, в том числе и пустом.
Вместе с тем можно показать, что ни один терм вида (ХХ) не является типизируемым, т. е. не существует контекста, в котором ему может быть приписан какой-либо тип.
3. Следование в классической логике
Одним из центральных понятий классической логики является понятие следования/выводимости. В ней имеет место следующая цепочка эквива-лентностей:
А Ь В & А = В & УМ(М = А ^ М = В) & УГ(Г Ь А ^ Г Ь В),
где переменная М пробегает по моделям, а Г — по множествам формул. По аналогии можно определить новое отношение между термами А-исчисления, более слабое, чем отношение редукции в А-исчислении.
4. А-следование
Наше определение слабого отношения А-следования '=л' между термами имеет вид:
Х =л У & У Г е Огх[За(Г | Ь Х : а) ^ Зв(Г Ь У : в)]
Очевидно, что правая часть определения отношения '=л' эквивалентна следующей формулировке в терминах отношения включения между множествами:
{Г : За(Г Ь Х : а)} С {Г : Зв(Г Ь У : в)}
Смысл отношения Х =л У заключается в том, что если терм/предписание Х типизируем (может быть вычислен в некотором контексте), то он содержит в качестве составных частей такие более простые термы/предписания, из которых может быть составлен и в этом же контексте вычислен терм/предписание У. При этом типы и значения термов Х и У в общем случае могут не совпадать.
Можно показать, что для типизируемых термов отношение '=л' обладает следующими свойствами:
R.1 0 Ь N ^ M =A N R.2 (Аж.М)N =a M[N/ж] R.3 M =A M
R.4 M I=a N, N =A L ^ M =A L R.5 MN =A M R.6 MN =A N R.7 M =A N ^ M =A Аж^ R.8 Аx.M =a N ^ M =a N R.9 M l=A N ^ Аx.M l=A Аx.N R.10 M =a ^.(NL) ^ M =a Аx.N R.11 M =A Аx.(NL) ^ M =A Аx.L
R.12 M I=a Аx.N ^ M =a N — если x € FV(N)
Свойство R.1 говорит о том, что замкнутые типизируемые термы ведут себя по аналогии с общезначимыми формулами логики — они следуют из любого терма.
О том, что отношение в-редукции включено в отношение А-следования, говорит свойство R.2.
R.3 и R.4 — рефлексивность и транзитивность следования. Свойства R.5 и R.6 позволяют переходить от термов вида (XY) к подтермам X и Y, совершать разборку сложного терма (XY).
Свойства R.7-R.12 описывают взаимодействие следования и оператора ламбда-абстракции А.
Существует аналогия между поведением нетипизируемых термов и поведением противоречивых формул логики. Как противоречивые формулы не имеют ни одной модели, в которых они истинны, так и для нетипи-зируемых термов не существует ни одного контекста, в котором им может быть приписан какой-нибудь тип. Перечень свойств отношения следования пополнится, по крайней мере, еще тремя R.13 — R.15.
R.13 -ЗГЗа(Г Ь: а) ^ X =A M R.14 M =A N ^ ML =A N R.15 M =A N ^ LM =A N
Отношение А-следования разрешимо, т. е. рекурсивно. Это позволяет поставить вопрос о его аксиоматизации в виде исчисления.
Литература
Барендрегт, 1985 - Барендрегт Х. Ламбда-исчисление. Его синтаксис и семантика. М.: Мир, 1985. 606 с. Hindley, Seldin, 2008 - Hindley R.J., Seldin P. Lambda-Calculus and Combinators, an Introduction. Cambridge University Press, 2008. 345 p.
Vladimir I. Shalack Weak consequence relation between A-terms
Vladimir I. Shalack
Institute of Philosophy of Russian Academy of Sciences, 12/1 Goncharnaya St., Moscow, 109240, Russian Federation. E-mail: shalack@gmail.com
Abstract: The language of the A-calculus has many applications for solving different problems in logic, information technology, linguistics and artificial intelligence. The A-calculus is based on the basic relation between terms, which is called ^-conversion. In the presented report, we formulate a weaker relation between the A-terms, which makes it possible to establish more subtle connections between logic and A-calculus. The basic idea is that when we assign a type a to a term X relative to the context r, which is written in the form r h X : a, the concept of context plays a role analogous to the concept of a model in logic. If in logic the expression M N A means that the formula A is true in the model M, then in the A-calculus with types the expression r h X : a means that in the context r the term X is assigned the type a, and this term has a value that can be computed. In logic, the relation of logical consequence between the formulas A and B is defined as A N B VM(M N A ^ M N B). If we transfer this scheme to the A-calculus, then the A-consequence relation between terms can be defined as X Na Y — Vr e Cix[3a(r h X : a) ^ 3^(r h Y : 0)]. The meaning of this relation is that in every context in which we can assign some type to the X, we can also assign some type to the term Y. In other words, if the function represented by the term X is computable, then the function represented by the term Y is also computable. The A-consequence between terms relation has many properties analogous to the classical logical consequence relation between formulas, as well as a number of new properties, characteristic for the A-calculus with types.
Keywords: A-calculus with types, consequence relation
For citation: Shalack V.I. "Slaboe otnoshenie sledovaniya mezhdu A-termami" [Weak consequence relation between A-terms], Logicheskie Issledovaniya / Logical Investigations, 2018, Vol. 24, No. 2, pp. 151-157. DOI: 10.21146/2074-1472-2018-24-2-151-157 (In Russian)
Acknowledgements. The paper is an expanded version of the abstract, published in the I Congress of RSHPS Proceedings in electronic form: Shalack V.V. "Slaboe otnoshenie sledovaniya mezhdu A-termami" [Weak consequence relation between A-terms], in: Istoriya i filosofiya nauki v epokhu peremen [History and philosophy of science in the era of change]. 6 Vols. Vol. 1. Moscow: RSHPS Publ., 2018, pp. 58-61. (In Russian)
Weak consequence relation between X-terms
157
References
Barendregt, 1985 - Barendregt, Kh. Lambda-ischislenie. Ego sintaksis i semantika [Lambda-Calculus. Its syntax and semantics]. Moscow: Mir, 1985. 606 pp. (In Russian)
Hindley, Seldin, 2008 - Hindley, R.J., Seldin, P. Lambda-Calculus and Combinators, an Introduction. Cambridge University Press, 2008. 345 pp.