stringtranslate.com

Нумерация Гёделя для последовательностей

В математике нумерация Гёделя для последовательностей обеспечивает эффективный способ представления каждой конечной последовательности натуральных чисел как одного натурального числа. Хотя теоретико-множественное вложение, безусловно, возможно, акцент делается на эффективности функций, манипулирующих такими представлениями последовательностей: операции над последовательностями (доступ к отдельным членам, конкатенация) могут быть «реализованы» с использованием полных рекурсивных функций , а на самом деле — примитивных рекурсивных функций .

Обычно он используется для построения последовательных « типов данных » в арифметических формализациях некоторых фундаментальных понятий математики. Это частный случай более общей идеи нумерации Гёделя . Например, рекурсивную теорию функций можно рассматривать как формализацию понятия алгоритма , и ее можно рассматривать как язык программирования для имитации списков путем кодирования последовательности натуральных чисел в одно натуральное число. [1] [2]

Нумерация Геделя

Помимо использования нумерации Гёделя для кодирования уникальных последовательностей символов в уникальные натуральные числа (т.е. для размещения чисел во взаимоисключающем или однозначном соответствии с последовательностями), мы можем использовать ее для кодирования целых «архитектур» сложных «машин». Например, мы можем кодировать алгоритмы Маркова [3] или машины Тьюринга [4] в натуральные числа и тем самым доказать, что выразительная сила теории рекурсивных функций не меньше, чем у прежних машиноподобных формализаций алгоритмов.

Доступ к членам

Любое такое представление последовательностей должно содержать всю информацию, как в исходной последовательности — самое главное, каждый отдельный член должен быть извлекаемым. Однако длина не обязательно должна совпадать напрямую; даже если мы хотим обрабатывать последовательности разной длины, мы можем хранить данные о длине как избыточный член, [5] или как другой член упорядоченной пары, используя функцию сопряжения .

Мы ожидаем, что существует эффективный способ для этого процесса поиска информации в форме подходящей полной рекурсивной функции. Мы хотим найти полностью рекурсивную функцию f со свойством, что для всех n и для любой последовательности натуральных чисел длины n существует подходящее натуральное число a , называемое числом Гёделя последовательности, такое, что для всех i, где , .

Существуют эффективные функции, которые могут извлечь каждый член исходной последовательности из гёделевского номера последовательности. Более того, мы можем определить некоторые из них конструктивным образом , так что мы можем выйти далеко за рамки простых доказательств существования .

Лемма Гёделя о β-функции

Благодаря гениальному использованию китайской теоремы об остатках мы можем конструктивно определить такую ​​рекурсивную функцию (используя простые числовые теоретико-числовые функции, все из которых могут быть определены полностью рекурсивным способом), удовлетворяющую спецификациям, данным выше. Гёдель определил функцию, используя китайскую теорему об остатках в своей статье, написанной в 1931 году. Это примитивная рекурсивная функция . [6]

Таким образом, для всех n и для любой последовательности натуральных чисел длины n существует соответствующее натуральное число a , называемое числом Гёделя последовательности, такое, что . [7]

Использование функции сопряжения

Наше конкретное решение будет зависеть от функции спаривания — существует несколько способов реализации функции спаривания, поэтому необходимо выбрать один метод. Теперь мы можем абстрагироваться от деталей реализации функции спаривания. Нам нужно только знать ее « интерфейс »: пусть , K и L обозначают функцию спаривания и ее две функции проекции , соответственно, удовлетворяющие спецификации :

Остаток для натуральных чисел

Мы будем использовать другую вспомогательную функцию, которая вычислит остаток для натуральных чисел . Примеры:

Можно доказать, что эту функцию можно реализовать как рекурсивную функцию.

Используя китайскую теорему об остатках

Реализация β-функции

Используя китайскую теорему об остатках , мы можем доказать, что реализация в виде

будет работать, согласно спецификации, которую мы ожидаем удовлетворить. Мы можем использовать более краткую форму, злоупотребляя обозначениями (составляя своего рода сопоставление с образцом ):

Давайте добьемся еще большей читабельности за счет большей модульности и повторного использования (как эти понятия используются в информатике [8] ): определив последовательность , мы можем записать

.

Мы будем использовать это обозначение в доказательстве.

Предположения, настроенные вручную

Для доказательства правильности приведенного выше определения функции мы воспользуемся несколькими леммами. Они имеют свои собственные предположения. Теперь мы попытаемся выяснить эти предположения, тщательно калибруя и настраивая их силу: они не должны быть сказаны ни в излишне резкой, ни в неудовлетворительно слабой форме.

Пусть будет последовательностью натуральных чисел. Пусть m выбрано так, чтобы удовлетворять

Первое предположение подразумевает, что

Это необходимо для выполнения предположения китайской теоремы об остатках (о том, что числа попарно взаимно просты ). В литературе это требование иногда заменяют более сильным, например, конструктивно построенным с помощью факториальной функции, [1], но для этого доказательства более сильная предпосылка не требуется. [2]

Второе предположение никак не касается китайской теоремы об остатках. Оно будет иметь значение для доказательства того, что спецификация для в конечном итоге будет выполнена. Оно гарантирует, что решение системы одновременных сравнений

для каждого i где

также удовлетворяет

. [5] [9]

Более сильное предположение для m, требующее автоматически удовлетворяет второму предположению (если мы определим обозначения, как указано выше).

Доказательство того, что предположение (взаимной простоты) для китайской теоремы об остатках выполняется

В разделе «Настраиваемые вручную предположения» мы потребовали, чтобы

. Мы хотим доказать, что мы можем создать последовательность попарно взаимно простых чисел таким образом, чтобы она соответствовала реализации функции β.

Подробно:

помня, что мы определили .

Доказательство от противного; предположим отрицание исходного утверждения:

Первые шаги

Мы знаем, что означает отношение «взаимной простоты» (к счастью, его отрицание можно сформулировать в краткой форме); поэтому сделаем соответствующую замену:

Используя «более» предваренную нормальную форму (но обратите внимание, что допускается запись, подобная ограничению, в квантификаторах):

Из-за теоремы о делимости , позволяет нам также сказать

.

Подставляя определения записи -последовательности , получаем , таким образом (поскольку аксиомы равенства постулируют тождество как отношение конгруэнтности [10] ) получаем

.

Поскольку pпростой элемент (обратите внимание, что используется свойство неприводимости элемента ), получаем

.

Прибегая к первому вручную настроенному предположению

Теперь мы должны прибегнуть к нашему предположению

.

Предположение было выбрано тщательно, чтобы быть настолько слабым, насколько это возможно, но достаточно сильным, чтобы мы могли использовать его сейчас.

Предполагаемое отрицание исходного утверждения содержит соответствующее экзистенциальное утверждение с использованием индексов ; это влечет за собой , таким образом, указанное предположение может быть применено, поэтому выполняется.

Использование (объектной) теоремы исчисления высказываний в качестве леммы

Мы можем доказать несколькими способами [11], известными в исчислении высказываний, что

держится.

Так как , по свойству транзитивности отношения делимости , . Таким образом (поскольку аксиомы равенства постулируют, что тождество является отношением конгруэнтности [10] )

может быть доказано.

Достижение противоречия

Отрицание исходного утверждения, содержащегося

и мы только что доказали

.

Таким образом,

также должно быть выполнено. Но после подстановки определения ,

Таким образом, суммируя три приведенных выше утверждения, в силу транзитивности равенства ,

также следует держать.

Однако в отрицании исходного утверждения p экзистенциально квантифицировано и ограничено простыми числами . Это устанавливает противоречие, которого мы хотели достичь.

Конец доведения до абсурда

Придя к противоречию с его отрицанием, мы только что доказали исходное утверждение:

Система одновременных сравнений

Мы строим систему одновременных сравнений

Мы можем записать это более кратко:

Ниже будет сказано много утверждений, все они начинаются с " ". Для достижения более эргономичного обращения, отныне все утверждения следует читать как находящиеся в сфере квантификации . Таким образом, начинается здесь.

Давайте выберем решение для системы одновременных сравнений. По крайней мере одно решение должно существовать, поскольку являются попарно простыми, как доказано в предыдущих разделах, поэтому мы можем ссылаться на решение, гарантированное китайской теоремой об остатках. Таким образом, с этого момента мы можем считать удовлетворяющим

,

что означает (по определению модульной арифметики ), что

Прибегая к предположениям, настроенным на основе вторых рук

Вспомним второе предположение, « », и вспомним, что теперь мы находимся в области неявной квантификации для i , поэтому мы не повторяем ее квантификацию для каждого утверждения.

Второе предположение подразумевает, что

.

Теперь по транзитивности равенства получаем

.

ЧТЭК

Нашей первоначальной целью было доказать, что определение

подходит для достижения того, что мы заявили в спецификации : мы хотим сохранить.

Это можно увидеть теперь по транзитивности равенства , рассматривая три приведенных выше уравнения.

(Здесь заканчивается большая область действия i .)

Существование и уникальность

Мы только что доказали правильность определения : его спецификация требует

выполнено. Хотя доказательство этого было наиболее важным для установления схемы кодирования последовательностей, нам еще предстоит заполнить некоторые пробелы. Это связанные понятия, подобные существованию и уникальности (хотя в отношении уникальности здесь следует подразумевать «не более одного», а соединение обоих задерживается как конечный результат).

Уникальность кодировки, достигаемая минимализацией

Наш конечный вопрос: какое число должно обозначать кодировку последовательности ? Спецификация декларирует только экзистенциальную квантификацию, а не функциональную связь. Мы хотим конструктивную и алгоритмическую связь: (полную) рекурсивную функцию, которая выполняет кодировку.

Тотальность, поскольку минимизация ограничивается специальными функциями

Этот пробел можно заполнить простым способом: мы воспользуемся минимизацией , а полнота результирующей функции будет обеспечена всем, что мы доказали до сих пор (т.е. корректностью определения путем соответствия его спецификации). Фактически, спецификация

Здесь играет роль более общее понятие («специальная функция» [12] ). Важность этого понятия в том, что оно позволяет нам отделить (под)класс (полных) рекурсивных функций от (супер)класса частично рекурсивных функций. Короче говоря, спецификация говорит, что функция f [13], удовлетворяющая спецификации

— специальная функция; то есть для каждой фиксированной комбинации всех аргументов, кроме последнего, функция f имеет корень в своем последнем аргументе:

Функцию нумерации Гёделя g можно выбрать полностью рекурсивной.

Итак, выберем минимально возможное число, которое хорошо вписывается в спецификацию функции : [5]

.

Можно доказать (используя понятия предыдущего раздела), что g является (полностью) рекурсивным.

Доступ длины

Если мы используем вышеприведенную схему кодирования последовательностей только в контекстах, где длина последовательностей фиксирована, то никаких проблем не возникает. Другими словами, мы можем использовать их аналогичным образом , как массивы используются в программировании.

Но иногда нам нужны динамически растягивающиеся последовательности или нам нужно иметь дело с последовательностями, длина которых не может быть введена статически. Другими словами, мы можем кодировать последовательности аналогично спискам в программировании.

Для иллюстрации обоих случаев: если мы формируем нумерацию Геделя машины Тьюринга, то каждая строка в матрице «программы» может быть представлена ​​кортежами, последовательностями фиксированной длины (таким образом, без сохранения длины), поскольку число столбцов фиксировано. [14] Но если мы хотим рассуждать о вещах, подобных конфигурации (машин Тьюринга), и в частности, если мы хотим закодировать значительную часть ленты работающей машины Тьюринга, то мы должны представлять последовательности вместе с их длиной. Мы можем имитировать динамически растягивающиеся последовательности, представляя конкатенацию последовательностей (или, по крайней мере, дополнение последовательности еще одним элементом) с помощью полностью рекурсивной функции. [15]

Длина может быть сохранена просто как избыточный член: [5]

.

Соответствующая модификация доказательства проста: нужно добавить излишек

к системе одновременных сравнений (при условии, что индекс избыточного члена выбран равным 0). Кроме того, предположения должны быть изменены соответствующим образом.

Примечания

  1. ^ ab Monk 1976: 56–58
  2. ^ ab Csirmaz 1994: 99–100 (см. онлайн)
  3. Монк 1976: 72–74
  4. Монк 1976: 52–55
  5. ^ abcd Csirmaz 1994: 100 (см. онлайн)
  6. Smullyan 2003: 56 (= Глава IV, § 5, примечание 1)
  7. Монк 1976: 58 (= Thm 3.46)
  8. Хьюз 1989 (см. онлайн Архивировано 08.12.2006 на Wayback Machine )
  9. ^ Burris 1998: Дополнительный текст, Арифметика I, Лемма 4
  10. ^ ab см. также связанные понятия, например, «равные для равных» ( ссылочная прозрачность ), и другое связанное понятие закон Лейбница / тождество неразличимых
  11. ^ либо теоретическое доказательство (алгебраические шаги); либо семантическое ( таблица истинности , метод аналитических таблиц , диаграмма Венна , диаграмма Вейтча/карта Карно )
  12. Монк 1976: 45 (= Def 3.1.)
  13. ^ Например, определено
  14. ^ Монк 1976: 53 (= Def 3.20, Lem 3.21)
  15. ^ Csirmaz 1994: 101 (=Thm 10.7, Conseq 10.8), см. онлайн

Ссылки

Внешние ссылки