18c0693f

Выразимость в арифметике


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

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

58. Докажите, что существует множество натуральных чисел, не являющееся арифметическим. (Указание: семейство всех подмножеств множества несчетно, а арифметических множеств счетное число.)

Для начала мы установим арифметичность довольно простых предикатов.



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

Два наиболее известных способа доказывать арифметичность основаны на возможности "кодирования" конечных множеств и последовательностей. Один восходит к Геделю (так называемая -функция Геделя), второй изложен в книге "Теория формальных систем" [24]. Ее написал Р.Смаллиан, известный также как автор популярных сборников "логических задач" и анекдотов. (Один из таких сборников имеет парадоксальное название "Как же называется эта книга?" [23].)

В некоторых отношениях метод Геделя предпочтительней, и мы рассказываем о нем в книжке о вычислимых функциях [5], но сейчас для разнообразия рассмотрим другой способ. Зафиксируем взаимно однозначное соответствие между натуральными числами и двоичными словами: Это соответствие задается так: чтобы получить слово, соответствующее числу , надо записать в двоичной системе и удалить первую единицу. Например, нулю соответствует пустое слово , числу — слово и т. д. Теперь можно говорить об арифметичности предикатов, определенных на двоичных словах, имея в виду арифметичность соответствующих предикатов на .



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

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



также принадлежит . Теперь надо везде заменить множество на его код , а утверждение на , где — построенный нами кодирующий предикат.

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

59. Проведите это рассуждение подробно.

60. Покажите, что двуместный предикат " есть -ое по порядку простое число" арифметичен.