Интерпретация Бруэра — Гейтинга — Колмогорова: конструктивистский подход к доказательствам
Brouwer–Heyting–Kolmogorov interpretation
Интерпретация Бруэра-Гейтинга-Колмогорова: суть интуиционистской логики, доказательства формул, реализуемость и связь с теорией Клини. Математическая логика.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
В математической логике интерпретация Брауэра — Хейтинга — Колмогорова, или БХК-интерпретация, интуиционистской логики была предложена Л. Э. Ж. Брауэром и Арендом Хейтингом, а также независимо Андреем Колмогоровым. Она также иногда называется интерпретацией реализуемости из-за связи с теорией реализуемости Стивена Клини. Это стандартное толкование интуиционистской логики.
In mathematical logic, the Brouwer–Heyting–Kolmogorov interpretation, or BHK interpretation, of intuitionistic logic was proposed by L. E. J. Brouwer and Arend Heyting, and independently by Andrey Kolmogorov. It is also sometimes called the realizability interpretation, because of the connection with the realizability theory of Stephen Kleene. It is the standard explanation of intuitionistic logic.
Интерпретация
В интерпретации указывается, что должно быть доказательством данной формулы. Это определяется индукцией по структуре этой формулы:
The interpretation states what is intended to be a proof of a given formula. This is specified by induction on the structure of that formula:
Доказательство ¬A – это пара <B, C>, где B – доказательство A, а C – доказательство ⊥.
Доказательство A ∧ B – это либо <A, C>, где C – доказательство B, либо <B, C>, где C – доказательство A.
Доказательство A ∨ B – это функция, преобразующая доказательство A в доказательство B.
Доказательство A → B – это пара <A, C>, где A – элемент домена, а C – доказательство B.
Доказательство ∀x.A – это функция, преобразующая элемент x из домена в доказательство A.
Формулу ⊥ определяют как ¬¬A, поэтому доказательство ⊥ – это функция, преобразующая доказательство A в доказательство ¬A.
Доказательства ⊥ не существует, это абсурд или нижний тип (неокончание в некоторых языках программирования).
Интерпретация примитивного высказывания предполагается известной из контекста. В контексте арифметики доказательство формулы a = b – это вычисление, приводящее оба терма к одному и тому же числу. Колмогоров придерживался тех же принципов, но формулировал свою интерпретацию в терминах задач и решений. Утверждать формулу – значит заявлять, что известно решение задачи, представленной этой формулой. Например, a = b – это задача сведения a к b; для её решения требуется метод решения задачи a, при условии решения задачи b.
A proof of is a pair where is a proof of and is a proof of A proof of is either where is a proof of or where is a proof of A proof of is a function that converts a proof of into a proof of A proof of is a pair where is an element of and is a proof of A proof of is a function that converts an element of into a proof of The formula is defined as , so a proof of it is a function that converts a proof of into a proof of There is no proof of , the absurdity or bottom type (nontermination in some programming languages). The interpretation of a primitive proposition is supposed to be known from context. In the context of arithmetic, a proof of the formula is a computation reducing the two terms to the same numeral. Kolmogorov followed the same lines but phrased his interpretation in terms of problems and solutions. To assert a formula is to claim to know a solution to the problem represented by that formula. For instance is the problem of reducing to ; to solve it requires a method to solve problem given a solution to problem .
Определение абсурда
В общем случае, логическая система не может иметь формального оператора отрицания, при котором существовало бы доказательство "не" ровно тогда, когда не существует доказательства ; см. теоремы о неполноте Гёделя. Интерпретация BHK вместо этого понимает "не" как приведение к абсурду, обозначаемому , так что доказательство является функцией, преобразующей доказательство в доказательство абсурда. Классический пример абсурда встречается при работе с арифметикой. Предположим, что 0 = 1, и применим математическую индукцию: 0 = 0 по аксиоме равенства. Теперь (по гипотезе индукции), если 0 было бы равно некоторому натуральному числу n, то 1 было бы равно n + 1 (аксиома Пеано: Sm = Sn тогда и только тогда, когда m = n), но поскольку 0 = 1, то 0 также было бы равно n + 1. Следовательно, по индукции, 0 равно любому числу, и, как следствие, любые два натуральных числа становятся равными. Таким образом, существует способ перейти от доказательства 0 = 1 к доказательству любого базового арифметического равенства и, следовательно, к доказательству любого сложного арифметического утверждения. Более того, для получения этого результата не требовалось апеллировать к аксиоме Пеано, утверждающей, что 0 "не" является преемником какого-либо натурального числа. Это делает 0 = 1 подходящим в качестве в арифметике Хейтинга (а аксиома Пеано переписывается как 0 = Sn → 0 = S0). Такое использование 0 = 1 подтверждает принцип взрыва.
It is not, in general, possible for a logical system to have a formal negation operator such that there is a proof of "not" exactly when there isn't a proof of ; see Gödel's incompleteness theorems. The BHK interpretation instead takes "not" to mean that leads to absurdity, designated , so that a proof of is a function converting a proof of into a proof of absurdity. A standard example of absurdity is found in dealing with arithmetic. Assume that 0 = 1, and proceed by mathematical induction: 0 = 0 by the axiom of equality. Now (induction hypothesis), if 0 were equal to a certain natural number n, then 1 would be equal to n + 1, (Peano axiom: Sm = Sn if and only if m = n), but since 0 = 1, therefore 0 would also be equal to n + 1. By induction, 0 is equal to all numbers, and therefore any two natural numbers become equal. Therefore, there is a way to go from a proof of 0 = 1 to a proof of any basic arithmetic equality, and thus to a proof of any complex arithmetic proposition. Furthermore, to get this result it was not necessary to invoke the Peano axiom that states that 0 is "not" the successor of any natural number. This makes 0 = 1 suitable as in Heyting arithmetic (and the Peano axiom is rewritten 0 = Sn → 0 = S0). This use of 0 = 1 validates the principle of explosion.
Определение функции
Интерпретация БХК будет зависеть от того, как понимать функцию, преобразующую одно доказательство в другое, или преобразующую элемент области определения в доказательство. Различные версии конструктивизма расходятся во мнениях по этому вопросу. Теория реализуемости Клини отождествляет функции с вычислимыми функциями. Она рассматривает арифметику Гейтинга, где область квантификации – натуральные числа, а примитивные высказывания имеют вид x = y. Доказательство x = y – это просто тривиальный алгоритм, если x вычисляется в то же число, что и y (что всегда разрешимо для натуральных чисел), иначе доказательства не существует. Затем из них, посредством индукции, строятся более сложные алгоритмы. Если исходить из того, что лямбда-исчисление определяет понятие функции, то интерпретация БХК описывает соответствие между натуральной дедукцией и функциями.
The BHK interpretation will depend on the view taken about what constitutes a function that converts one proof to another, or that converts an element of a domain to a proof. Different versions of constructivism will diverge on this point. Kleene's realizability theory identifies the functions with the computable functions. It deals with Heyting arithmetic, where the domain of quantification is the natural numbers and the primitive propositions are of the form x = y. A proof of x = y is simply the trivial algorithm if x evaluates to the same number that y does (which is always decidable for natural numbers), otherwise there is no proof. These are then built up by induction into more complex algorithms. If one takes lambda calculus as defining the notion of a function, then the BHK interpretation describes the correspondence between natural deduction and functions.