Автор: Глухов М.М.  

Теги: математика   логика  

Год: 1981

Текст
                    

М. М. ГЛУХОВ Математи ческая логика (Учебное пособие) Москва—1981

ОГЛАВЛЕНИЕ Стр. Предисловие........................................ . . 5 Введение................................................. 7 Глава I Множества с отношениями и операциями § 1. Множества и операции над ними...................... 17 § 2. Отображения множеств............................... 22 § 3. Отношения на множестве. Отношения эквивалентности и по- рядка . ....................................... . . . 29 § 4. Множества с операциями ........................... 35 § 5. Аксиоматическое построение системы натуральных чисел 40 § 6. Мощность множества. Конечные и бесконечные множества 45 Глава II Алгебры высказываний и предикатов § 1. Основные логические операции и их свойства ....... 51 § 2. Предикаты и операции над ними .................... 54 § 3. Формулы алгебры предикатов.................... . 58 § 4. Равносильность формул. Основные соотношения равносиль- ности .......................................... . . . 54 § 5. Использование равносильностей для упрощения формул . • 67 16. Формулы алгебры высказываний........................ 69 Глава III Исчисление предикатов f 1. Общее понятие о логическом исчислении.............. 73 I 2. Построение исчисления предикатов................... 74 349 м* 3
Стр* § 3. Выводимость и доказуемость формул...................... 77 § 4. Семантика исчисления предикатов . . ................... 84 § 5. Понятие о теории моделей............................... 93 Глава IV Булевы функции и их обобщения § 1- Понятие булевой функции . ............................ 101 § 2. Представление булевых функций формулами............... 107 § 3. Замкнутые классы функций. Критерий полноты ...... 114 § 4. Представление булевых и псевдобулевых функций через бази- сы функциональных линейных пространств <••-•••• 121 § 5. Многозначные функции . . • 127 § 6. Классификация функций................................ 134 Г л ав а V Реализация булевых функций § 1. Реализация булевых функций контактными схемами .... ^5 §♦2. Нахождение минимальных дизъюнктивных нормальных форм 154 § 3. Реализация булевых функций функциональными схемами . . 167 § 4. Функции Шеннона и их оценки........................... 170 Глава VI Элементы теории алгоритмов Введение . . . ........................................... 179 § 1. Нормальные алгоритмы............................ . 181 § 2. Принцип нормализации алгоритмов................ . 186 § 3. Машины Тьюринга....................................... 189 § 4. Нумерация слов и арифметизация алгоритмов ............ 193 § 5. Рекурсивные функции................................... 197 § 6. Примеры алгоритмически неразрешимых проблем........... 202 Глава VII Сложность алгоритмов и вычислений Введение................................................. 214 § 1. Сложность нормальных алгоритмов, вычисляющих булевы» функции................................................ 215 § 2. О сложности вычислений на машинах Тьюринга............ 218 § 3. О классификации задач по сложности их решения на машинах Тьюринга................................................ 223 Литература по главам................................. . 230 4
Предисловие Данное учебное пособие состоит из введения и семи глав. Во введении приводятся краткие исторические сведения о развитии матема- тической логики, о причинах, стимулирующих ее развитие, и о вкладе со- ветских ученых в разработку проблем математической логики и ее при- ложений. Отдельные дополнительные сведения исторического характера име- ются по главам. Первая глава является вспомогательной. В ней с инту- итивной теоретико-множественной точки зрения вводятся такие общема- тематические понятия, как отображение, функция, отношение, операция, алгебраическая система, кардинальное число и др., и рассматриваются простейшие свойства этих понятий. В последующем изложении из первой главы используются, по существу, лишь терминология и обозначения. Вторая и третья главы посвящены собственно математической ло- гике, как теории математических доказательств, остальные — приложе- ниям к кибернетике и теории алгоритмов. В главах II -III вводятся формальный язык алгебры и исчисления предикатов, обсуждаются ос- новные равносильности формул (законы логики), а также вопросы о со- отношении между классами тождественно истинных и доказуемых фор- мул и о непротиворечивости исчисления предикатов. Доказываются в ос- новном лишь те утверждения, которые нужны для решения двух послед- них вопросов. При этом, в целях упрощения доказательства теоремы Гёделя о выполнимости непротиворечивого множества формул, рассма- тривается лишь чистое исчисление предикатов (без каких-либо, специаль- ных аксиом и аксиом равенства). В заключение дается понятие о теории моделей и отдельных ее приложениях в алгебре. В главах IV-V расска- зывается о представлении булевых и многозначных функций формула- ми, о классификации функций и реализации булевых функций контактны- ми и функциональными схемами. В главах X7!- VII излагаются основные подходы к определению понятия алгоритма и к оценкам сложности алго- ритмов и вычислений. Приводятся примеры алгоритмически не разреши- мых, а также VP-полных задач. В пособии принята сквозная нумерация для рисунков и таблиц, па- раграфы нумеруются по главам, а определения, теоремы и формулы —по параграфам. 5 349-2
В конце пособия приводится использованная по главам (иногда без ссылок) учебная, монографическая и журнальная литература. Автор выражает признательность всем, прочитавшим рукопись по- собия или отдельных ее разделов и сделавшим свои замечания. Боль- шинство сделанных замечаний учтено при подготовке рукописи к печати. Автор 6
Введение Современную математическую логику называют наукой о математи- ческих доказательствах. Историю ее развития условно можно разделить на два этапа. На первом этапе, длившемся примерно до середины XIX в. она развивалась в недрах общей науки логики и имела своей целью фор- мализацию и математический анализ отдельных фрагментов человече- ского мышления. Наиболее полное и систематическое изложение основ общей логики впервые было дано древнегреческим философом Аристо- телем (IV в. до н. э.). Аристотель в своих трактатах "Первая аналитика" "Вторая аналитика", "Категория", "Об истолковании", "Топика", "О со- фистических доказательствах", объединенных его комментаторами под общим названием "Органон" (означающем орудие, или средство позна- ния), выявляет общие закономерности рассуждений, формулирует ряд основных законов логики, разрабатывает теорию определений и доказа- тельств, намечая в общих чертах дедуктивный путь построения научных дисциплин и, в частности, логики. В указанных работах Аристотеля со- держатся зачатки алгебры высказываний, являющейся простейшей со- ставной частью современной математической логики. Однако для ста- новления и развития алгебры высказываний до современного состояния понадобилось еще более 2 тысяч лет. Важнейшие качественные сдвиги в развитии математической (или символической) логики связаны с ра- ботами немецкого математика и философа Г. В. Лейбница (1646 — 1716). В определенной степени они были предопределены общим развитием ма- тематики и, в частности,, введением буквенных обозначений в алгебру и анализ. Г. В. Лейбниц мечтал о создании универсального символического языка, который бы позволил заменить содержательные рассуждения формальными вычислениями и помог из данных опыта выводить все их логические следствия. В логике Г. В. Лейбниц, подобно Ф. Виету (1540-1603) и Р. Декарту (1596-1650) в алгебре, ввел буквенные обо* значения для высказываний и сформулировал ряд законов алгебры вы- сказываний. По Лейбницу каждое понятие должно быть сведено к фикси- рованному набору простых, т. е. не разложимых далее понятий, а слож- ные понятия должны выводиться из простых с помощью логических опе- раций. 2* 7
В принципе неосуществимая и метафизическая идея Г. В. Лейбница о сведении всего содержательного в человеческом мышлении к фор- мальной вычислительной процедуре сыграла тем не менее определенную положительную роль в развитии математической логики. Дальнейшее продвижение в развитии математической логики было осуществлено в работах ирландского математика Дж. Буля (1815—1864) "Математический анализ логики” (1847) и "Законы мысли" (1854). Дж. Буль ввел операции сложения, умножения и дополнения (отрицания) высказываний и распространил на них некоторые законы действий над числами. В построенной Дж. Булем алгебре все символы принимают лишь два значения 1 и 0 (соответствующие истине и лжи). Особое внимание Дж. Буль уделяет изучению логических функций и уравнений, выводу заключений из заданных посылок. В дальнейшем алгебра Буля совершенствовалась и разрабатывалась многими математиками. Так, английский математик С. Джеванс (1835— 1882) классифицировал булевы функции по группе преобразований пере- менных и ввел понятие типа функции. Немецкий математик Э. Шредер (1841—1902) видоизменил алгебру Буля, заменив в ней операцию сложе- ния на дизъюнкцию (т.е. разделительное "или” на соединительное), и сформулировал в полученной алгебре принцип двойственности; немецкий математик Г. Фреге (1848-1925) применил аксиоматический подход к изучению алгебры высказываний, т. е. развил исчисление высказыва- ний; ряд важных логических законов выявил американский математик Де. Морган (1806-1871). Большой вклад в развитие алгебры высказываний внесли русские математики: профессор Казанского университета П. С. Порецкий (1846— 1907), профессор Московского университета И. И. Жегалкин (1869-1947) и др. Так, П. С. Порецкий в 80-х годах построил вполне законченную тео- рию качественных умозаключений, позволившую описать все заключе- ния, выводимые из заданной системы посылок. И. И. Жегалкин впервые обратил внимание на алгебру высказываний как на теорию функций над полем из двух элементов и дал подробное и доступное изложение этой теории. В целом к концу XIX в. построение алгебры высказываний по суще- ству было завершено. Вместе с тем к этому времени вполне назрел но- вый этап развития математической логики, как теории математических доказательств. Важнейшим стимулом к новому скачку в развитии мате- матической логики явился все более распространяющийся в математике аксиоматический метод. В основу любой аксиоматически строящейся теории кладется некоторая легко обозримая система основных (неопре- деляемых) понятий и отношений и основных (недоказываемых) их свойств, называемых аксиомами теории. Далее все понятия определяют- ся через основные, а все утверждения теории логически выводятся из аксиом. Одним из необходимых требований, предъявляемых к системе аксиом теории, является ее непротиворечивость. Требуется, чтобы, ис- 8
ходя из выбранной системы аксиом, нельзя было доказать никакого ут- верждения вместе с его отрицанием. Особенно остро вопрос о непротиворечивости встал после создания Н. И. Лобачевским (1811“1860) неевклидовой геометрии, утверждения которой явно расходились с утверждениями привычной для всех геомет- рии Евклида. И хотя в весьма далеко развитой Н. И. Лобачевским гео- метрии внутренних противоречий не обнаруживалось, вопрос о строгом доказательстве ее непротиворечивости оставался открытым. Для реше- ния этого вопроса необходимо было четко очертить средства доказа- тельств и убедиться в их надежности, ибо в противном случае даже по- лученное в теории противоречие не будет говорить о противоречивости системы аксиом, поскольку причины могут заключаться не в аксиомах, а в самих средствах вывода утверждений из них. Таким образом, перед математической логикой была поставлена задача создания теории математических доказательств и методов дока- зательства непротиворечивости аксиоматических теорий. До этого основным способом убеждения в непротиворечивости тео- рии был так называемый метод интерпретаций одной теории в рамках другой. Так, в 18 71 году немецкий математик Ф. Клейн (1849—1925) с использованием идей английского математика А.Кэли (1821-18 95) по- строил модель геометрии Лобачевского в недрах геометрии Евклида и тем самым свел ее непротиворечивость к непротиворечивости геомет- рии Евклида. В 1899 году немецкий математик Д. Гильберт (1862-1943) построил аналитическую интерпретацию геометрии Евклида, сведя тем самым вопрос о непротиворечивости и геометрии Евклида, и геометрии Лобачевского к вопросу о непротиворечивости теории действительных чисел, т. е. арифметики. Значение арифметики как фундамента матема- тики сознавалось математиками и раньше, а потому на обоснование арифметики обращалось самое серьезное внимание. К концу XIX в. усилиями таких математиков, как Р. Дедекинд (1831-1916), В. Гамильтон (1805-1856), К. Вейерштрасс (1815-1897), Г. Кантор (1845-1918), Г. Грассман (1809-1877), Д. Пеано (1858- 1932), была построена аксиоматическая теория натуральных чисел и на ее основе теории целых, рациональных и действительных чисел. И вот, когда уже казалось, что решение вопроса о непротиворечивости всей математики приближается к завершению, обнаружились парадоксы в созданной и развитой в 70-х годах XIX в. немецким математиком Г. Кантором теории множеств. А так как теория множеств широко ис- пользовалась при построении числовых систем и, в частности, при по- строении теории действительных чисел, то появление парадоксов в тео- рии множеств нанесло серьезный удар по основаниям математики. В качестве примера приведем здесь один парадокс, опубликованный английским математиком Б. Расселом в 1903 году. Обозначим буквой А множество всех таких множеств, которые не являются элементами самих себя. Тогда для любого множества М имеем: 9
д/еЛ<==> MjM. Полагая теперь М равным А, приходим к явному противоречию: А б4 <==“> А А. Различные математики по-разному реагировали на появление пара- доксов в теории множеств. Некоторые считали их несерьезными и лег- ко преодолимыми, другие глубоко переживали и искали выход из создав- шегося положения. Анализ парадоксов показывал, что все они основываются на том или ином свойстве "самоприменимости": сущность, о которой идет речь, в каждом из них определяется посредством некоторой совокупно- сти, к которой она сама принадлежит. Вместе с тем в математике, да и в других науках идея самоприменимости часто используется и не приво- дит к противоречиям, а потому полное исключение образования самопри- менимых понятий вряд ли было целесообразным. Задача же отделения "вредных" и "безвредных" самоприменимых понятий или условий их ис- пользования не представляется тривиальной. Один из способов преодоления парадоксов в математике основывал- ся на аксиоматических теориях множеств. Аксиоматический подход характеризуется стремлением математи- ков ограничить слишком вольное обращение с понятием множества и особенно с бесконечными множествами. В связи с этим были предложе- ны различные системы аксиом теории множеств. Первые две системы аксиом теории множеств были построены независимо и опубликованы в 1908 году английским математиком Б. Расселом и немецким математи- ком Е. Цермело. В дальнейшем эти системы пересматривались й совер- шенствовались многими другими математиками (А. Френкелем, фон Нейманом, П. Бернайсом, В. Куайном, К. Геделем и др.). В настоящее время наиболее распространенной является система аксиом Цермело- Френкеля (ZF). Все известные системы аксиом теории множеств уст- роены так, что в них невозможны рассуждения, ведущие к известным пара- доксам. Однако вопрос о возможности появления новых противоречий остается открытым. Наиболее радикальную позицию в пересмотре оснований математи- ки заняли так называемые интуиционисты. Они рассматривали парадок- сы как симптомы неблагополучия во всей математике и главную их при- чину видели в свободном переносе методов математики с конечных мно- жеств на бесконечные. Число интуиционистов было невелико. Однако интуиционистские взгляды разделяли такие крупные математики, как Л. Кронекер (1823^-1891), А. Пуанкаре (1854-1913), Е. Борель ( 1871- 1956), А. Лебег (1875—1941), Г. Вейль (1885—1955). Наиболее ярким представителем интуиционистов был голландский математик Л. Брауэр (1881-1966). 10
Движение интуиционизма неоднородно, однако можно выделить не- которые характерные черты, присущие различным школам интуициониз- ма и неоинтуиционизма. Укажем некоторые из них. 1. Отрицание актуальной бесконечности, т.е. существования беско- нечных множеств как неких завершенных объектов. Признаются лишь бесконечные последовательности при условии, что указано правило по- строения их членов по предыдущим членам. Другими словами, признает- ся лишь абстракция потенциальной бесконечности. Так, Л. Брауэр не признает множества всех натуральных чисел, как математического объекта, а признает лишь правило построения последовательности нату- ральных чисел. 2. Отождествление понятия существования объекта с возможностью его эффективного построения. Для интуиционистов существует только то, что можно построить. Например, известное доказательство сущест- вования предельной точки в бесконечном замкнутом множестве дейст- вительных чисел для интуиционистов несостоятельно, поскольку в нем не указывается способ построения искомой предельной точки. 3. Отказ от использования закона исключенного третьего при дока- зательстве свойств объектов бесконечного множества. Закон исклю- ченного третьего гласит, что "из двух высказываний, одно из которых является отрицанием другого, хотя бы одно —истинно”. Приведем один пример доказательства с использованием закона исключенного третьего, несостоятельного с точки зрения интуициониз- ма (см. [3]). Теорема. Существуют два иррациональных числа а и 6, таких,__ что число аЬ - рационально. Для доказательства рассмотрим число \/2 . Если оно рационально, то теорема верна при а Если же чис* ло у/2^2 иррационально, то теорема верна при а =^2 * &=V2- Это есть теорема чистого, существования, поскольку в ней доказано существова- ние искомых чисел а, Ъ без указания эффективного способа их построе- ния. При доказательстве мы использовали закон исключенного третьего ("число а или рационально, или иррационально") в применении к объек- там бесконечного множества действительных чисел. Для интуиционистов проведенные рассуждения не являются доказательством, и утверждение теоремы не считалось бы ими истинным, если бы не существовало дру- гого, конструктивного, доказательства этой теоремы. Однако в данном случае дело обстоит лучше, поскольку в 1934 году советский математик А. О. Гельфонд решил 7-ю проблему Гильберта, доказав, что если а — алгебраическое число а / 0,а р - алгебраическое иррациональное число, то а ^ — трансцендентное (а потому и иррациональное) число (см. [15]). Термин "интуиционизм" происходит от основной доктрины соответ- ствующего направления в математике — "изначальной интуиции" целого положительного числа или построения по математической индукции. Эта интуиция носит не чувственный и не эмпирический характер-она врож- 11
денна. Недаром первый из интуиционистов в математике нового време- ни-Л. Кронекер провозгласил, что целые числа создал бог, а все ос- тальное в математике есть творение человека (см. [ 14], стр. 293). Сам термин "эффективное построение объекта" интуиционистами также не определяется. Он считается интуитивно ясным. Вот что пишет по это- му поводу ученик и последователь Л. Брауэра А. Рейтинг. "Математи- ческое построение должно быть таким непосредственным для разума, чтобы не нуждаться ни в каких обоснованиях” (см. [2], стр. 14). Философскую основу интуиционизма составляет субъективный идеа- лизм, который проявляется в самых различных принципах интуициониз- ма, в понимании природы, сущности математики, ее объектов, в игнори- ровании объективной истины в математике. Так, в ответ на критику ин- туиционизма Л. Брауэр говорит, что если даже кто-либо и верит в "объективную истину",» характер ее метафизичен, а математические до- казательства не могут опираться на метафизические соображения (см. [14], стр. 267-271). О том же свидетельствует и высказывание А. Рейтинга: "Но только Брауэр открыл объект, который действитель- но требует иной формы логики. Это объект-умственное математиче- ское построение" и далее "Вы должны понять, в чем заключалась про- грамма Брауэра. Она состояла в исследовании умственного математи- ческого построения как такового, безотносительно к таким вопросам о природе конструируемых объектов, как вопрос, существуют ли эти объекты независимо от нашего сознания" (см. [ 2], стр. 9-10). С математической точки зрения признание принципов интуициониз- ма означало существенное ограничение исторически сложившихся обла- стей математики и особенно математического анализа. Основной вопрос о непротиворечивости в математике у интуициони- стов остался нерешенным. Непротиворечивость их математики основы- валась лишь на интуитивной надежности применяемых ими средств до- казательств. Вместе с тем нельзя не отметить и положительной роли интуицио- низма в развитии математики. В частности, понимание существования как потенциальной возможности построения легло в основу интенсивно развивающегося в настоящее время конструктивного направления в ма- тематике (см. ниже). Существенные ограничения математики, вытекающие из принципов интуиционистов, вызвали резкую критику интуиционизма со стороны многих крупных математиков того времени и, в частности, немецкого математика Д. Гильберта. Обнаруженные в теории множеств парадоксы не смогли поколебать глубокую веру Д. Гильберта в надежность основ классической математики. "Никто не может изгнать нас из рая, кото- рый создал нам Кантор",-заявил Д. Гильберт (см. [ 14], стр. 15). С именем Д. Гильберта и его школы связано третье направление в обосновании математики - формалистическое. Д. Гильберт предложил широкую программу, получившую впослед- ствии название программы финитизма Гильберта. Программа состояла 12
из двух частей. Первая часть заключалась в формализации арифметики, анализа и теории множеств. Предполагалось положить в основу матема- тики некоторое множество аксиом-формул и некоторые четко определен- ные правила вывода одних формул из других, с тем чтобы в полученной формальной системе со строго детерминированным процессом вывода можно было получить все основные утверждения математики. Во второй части предполагалось доказать непротиворечивость построенного фор- мального исчисления, т. е. невозможность вывода в нем какого-либо утверждения вместе с его отрицанием. При этом требовалось, чтобы рассуждения, ипользуемые для доказательства непротиворечивости, но- сили настолько элементарный характер, чтобы в их правильности нельзя было усомниться. Д. Гильберт настаивал, чтобы в теории доказательств (или в метаматематике) разрешалось пользоваться только финитными методами. Точного определения финитных методов Гильберт не дает. Их наиболее определенную характеристику можно извлечь из слов его ученика Ж. Эрбрана (1908—1931) (см. [14], стр. 321): "... всегда рас- сматривается лишь конечное и определенное число предметов и функ* ций; функции эти точно определены, причем определение позволяет произвести однозначное вычисление их значений; никогда не утверж- дается существование какого-либо объекта без указания способа по- строения этого объекта; никогда не рассматривается (как вполне опре- деленное) множество всех предметов а? какой-либо бесконечной совокуп- ности; если же говорится, что какое-то рассуждение (или теорема) вер- но для всех этих х, то это означает, что это общее рассуждение можно повторить для каждого конкретного х, причем само это общее рассуж- дение следует при этом рассматривать только как образец для проведе- ния таких конкретных рассуждений". Отсюда видно, что на рассуждения в метаматематике Д. Гильберт на- кладывал даже более жесткие ограничения, чем интуиционисты. Программа Гильберта послужила могучим толчком к дальнейшему развитию математической логики и к разработке формализованных логико-математических теорий. Сам Д. Гильберт и его ученики П. Бернайс, В. Аккерман и др. много усилий затратили на создание фор- мализованной арифметики. При этом они исходили, в основном, из имею- щейся арифметической системы аксиом Пеано и формализации логики предикатов, осуществленной ранее Г. Фреге, Б. Расселом и А. Уайтхэдом. Для реализации программы Гильберта в части арифметики оставалось, с одной стороны, показать, что в рамках формализованной арифметики можно сформулировать и доказать основные утверждения классической арифметики, а с другой стороны, доказать непротиворечивость созданной теории. Обе эти задачи оказались невыполнимыми в принципе. В 1931 году появи- лась работа молодого немецкого математика К. Гёделя, из результатов кото- рой, грубо говоря, следовало, что каждая непротиворечивая логическая систе- ма, содержащая формализацию арифметики, содержит формулу, которую нель- зя ни доказать и ни опровергнуть в данной системе. Этот вывод К. Гёделя об- наружил принципиальную ограниченность дедуктивных возможностей достаточ- 13
но богатых формализованных теорий и показал неосуществимость пер- вой части Программы Гильберта. Больше того, из результатов К. Гёделя следовало также, что никакое предложение, которое можно точным образом интерпретировать как выражающее непротиворечивость логической системы, содержащей арифметику, не может быть доказано в этой системе. Это утверждение, по существу, говорит о невыполнимо- сти и второй части программы Гильберта о доказательстве непротиво- речивости математики финитными методами. С точки зрения математика, находящегося на позициях диалекти- ческого материализма, результаты К. Гёделя не являются неожиданны, ми и трагичными (каковыми они оказались для Д. Гильберта). Наоборот, для такого человека сама идея ограничения математики узкими рамка- ми символизма и финитизма противоречит ее призванию и способности отражать объективные закономерности бесконечно многообразного и бесконечно развивающегося реального мира. Да и непротиворечивость формализованной теории, доказанная лишь средствами формальной ло- гики, еще не означает истинности теории, поскольку главным критерием истинности является практика, соответствие этой теории объективной действительности. Указанное заключение не умаляет, конечно, большого научного зна- чения программы Гильберта и работ по ее реализации. Формалистиче- ский подход к обоснованию математики во многом определил лицо сов- ременной математической логики, изучающей различные логические ис- числения, являющиеся в большинстве своем формализованными теория- ми гильбертовского типа. В целом, упомянутые нами аксиоматический, интуиционистский и формалистический подходы к обоснованию математики и различные их модификации не вывели математику из трудностей, связанных с пара- доксами.. Однако в ходе их реализации была проделана огромная работа по анализу оснований математики и ее дальнейшему развитию. В част- ности, была развита математическая логика, образовались такие бога- тые и интенсивно развивающиеся в настоящее время области науки, как теория моделей и теория алгоритмов. Развитые в этих теориях методы позволили прояснить и решить ряд классических задач математики (на- пример, проблему континуума, 10-ю проблему Гильберта о разрешимо- сти в целых числах диофантовых уравнений и др.). Создание теории алгоритмов привело к появлению так называемого конструктивного направления в математике, исправившего один из существенных изъянов интуиционизма. Выше было указано, что интуи- ционисты понимали существование объекта только в смысле возможно- сти его эффективного построения. Однако само понятие эффективного построения ими не определялось и понималось лишь интуитивно. Кон- структивисты, сохранив ту же точку зрения на существование объекта, дали определение эффективного построения объекта, используя для это- го строго определенное понятие алгоритма. И хотя в конструктивной математике сохранились основные ограничения интуиционистской мате- 14
матики, конструктивизм оказал положительное влияние на развитие ма- тематики, ибо даже приверженцы классической (канторовской) матема- тики в своих доказательствах стали более критически относиться к тео- ремам чистого существования, стремясь заменить их при возможности конструктивными доказательствами. Большой вклад в развитие математической логики и ее приложений внесли советские математики. При этом в отличие от многих зарубеж- ных ученых советские математики вели свою работу по логике, опираясь на положения передовой революционной философии— диалектического материализма, и потому математическая логика интересовала их в первую очередь как часть математики, располагающая своими резуль- татами и методами, которые могут быть использованы в математике и технике. Укажем в качестве примеров лишь на некоторые работы советских математиков пр математической логике и ее приложениям. В 1925 году А. Н. Колмогоров опубликовал работу (Матем. сб.,. т. 32, стр. 646—667, 1924-1925), посвященную анализу закона исключен- ного третьего и соотношения между интуиционизмом и формализмом. Позднее (1932 год) он дал математическое объяснение содержательно- го смысла конструктивной логики и интуиционистской логики как исчис- ления проблем. В 1928 году В. И. Гливенко доказал, что интуиционистская логика не эквивалентна никакому трехзначному логическому исчислению. В 1936 году А. И. Мальцев (1909—1967) опубликовал свою знамени- тую локальную теорему, которая в дальнейшем нашла широкое примене- ние в самых различных областях математики и легла в основу так назы- ваемого метода компактности в теории моделей. Сам А. И. Мальцев применил эту теорему к решению ряда проблемных вопросов теории групп (см. [8 ]). Указанными работами и большой серией других работ А. И. Маль- цев заложил основы новой науки ’’Теория моделей” и по праву считает- ся одним из ее создателей. В теории моделей язык и методы математи- ческой логики применяются к изучению конкретных математических структур. Большой вклад в теорию моделей внесли многочисленные ученики А. И. Мальцева: А. Д. Тайманов, М. И. Каргополов, Ю. Л.,Ершов и др. В 1939 году П. С. Новиков (1905-1975) предложил весьма простое и остроумное доказательство непротиворечивости арифметики, в основе которого лежит построенное им логическое исчисление, допускающее, кроме операций логики высказываний, счетные логические суммы и произведения. В 40-х годах А. А. Марков (1906-1979) разработал теорию нормаль- ных алгоритмов и доказал алгоритмическую неразрешимость ряда мас- совых математических проблем и, в частности, проблемы тождества слов и проблемы изоморфизма для конечно определенных полугрупп 15
[ 10 J. В последующие годы А, А. Марков и его ученики использовали нормальные алгоритмы для развития конструктивного направления ма- тематики. В 1952 году П. Новиков доказал неразрешимость проблемы тож- дества слов, а также некоторых других проблем для конечно, определен- ных групп [И]. В дальнейшем его учеником С. И. Адяном были разра- ботаны некоторые общие подходы к доказательству отсутствия алгорит- мов, решающих те или иные массовые проблемы [1]. В 1958 году А. Н. Колмогоров и В. А, Успенский, пытаясь охарак- теризовать абстрактно работу вычислителя, дали новое определение алгоритма как процесса переработки графов и доказали его эквивалент- ность известным определениям [5]. Тем самым было получено дополни- тельное обоснование правильности определения алгоритма. В 1965 году А. Н. Колмогоровым теория алгоритмов была исполь- зована для разработки подхода к определению понятия количества ин- формации [6]. В 1972 году молодой ленинградский математик Ю. В. Матиясевич получил завершающий результат в многолетнем пути математиков по решению 10-й проблемы Гильберта. В итоге было доказано отсутствие алгоритма для распознавания разрешимости диофантовых уравнений* [9 ]. Отметим еще, что в 30-40-х годах алгебра высказываний нашла интересные приложения в электротехнике при построении различных ти- пов релейно-контактных схем. Приоритет в этих приложениях математи- ческой логики принадлежит советскому ученому В. И. Шестакову, напи- савшему в 1935 году работу "Алгебра релейно-контактных схем" (опуб- ликованную, к сожалению лишь в 1941- 1946 годах). В 1958—1960 годах О. Б. Лупанов решил ряд трудных проблем по оценкам сложности реализации булевых функций формулами алгебры логики, контактными и функциональными схемами, найдя асимптотичес- кие значения соответствующих функций Шеннона [7]. В заключение отметим, что советскими математиками написано большое число оригинальных монографий по математической логике и ее приложениям. Некоторые из них указаны в списке литературы. 16
ГЛ А В A I МНОЖЕСТВА С ОТНОШЕНИЯМИ И ОПЕРАЦИЯМИ § 1. МНОЖЕСТВА И ОПЕРАЦИИ НАД НИМИ Во всех областях современной математики, за исключением узко специальных ее разделов, связанных с аксиоматическим построением теории множеств, понятие множества принято считать основным, нео- пределяемым понятием. Создатель теории множеств немецкий матема- тик Г. Кантор (1845-1918) пояснял понятие множества следующим об- разом “Множество, или совокупность, — это собрание определенных и различных объектов нашей интуиции или интеллекта, мыслимое в каче- стве единого”. Говорят также, что множество - это совокупность, или собрание, или семейство каких-либо реально существующих или мысли- мых объектов. Предполагается, что объекты, входящие в множество, попарно различимы. Объекты, из которых составлено множество, назы- ваются его элементами. Множества и элементы множеств обозначают различными буквами без индексов и с индексами. При этом, как прави- ло, множества и элементы отождествляют с их обозначениями. Напри- мер, вместо фразы "Элемент, обозначенный буквой а, содержится в множестве, обозначенном буквой 4”, говорят короче: "Элемент а со- держится в множестве А (или принадлежит множеству 4)", и пишут ае4. Запись а£А означает, что а не является элементом множества 4. Если одно и то же множество обозначено разными буквами 4, В, то говорят, что множества 4, В равны, и пишут 4 = В. Если же буквами 4, В обозначены разные множества, то пишут А/В и говорят, что мно- жества 4, В не равны. Знаки - и / будут использоваться и в более об- щей ситуации, когда множества обозначаются не буквами, а каким-ли- бо другим способом. Множество обычно задается или перечислением всех его элементов, или указанием правила перечисления, или указанием каких-либо харак- теристических свойств его элементов. В первом случае множество обо- значается в виде заключенного в фигурные скобки списка его элемен- тов, например, 349 -3 17
11, 2, 3, 4, 51, {al. Во втором случае записывают в. фигурных скобках несколько первых элементов с многоточием, например, {О, 2, 4, 6, ...I. Если же множество А задается системой свойств Ри ..., его элемен- тов, то пишут A = {a:Pt, РА|, или A = {a|Pt, Pk\9 и говорят, что А есть множество всех элементов а9 обладающих свой- ствами Pw РЛ. Например, { а :а-целое число, a* + 2a-3«0| есть множество целочисленных корней уравнения а?3 + 2х-3 = 0. Для удобства в формулировках определений и утверждений теории множеств вводится множество, совсем не содержащее элементов. Та- кое множество называется пустым и обозначается символом 0. Напри- мер, зачастую приходится говорить о множестве, про которое неизвест- но заранее, содержит ли оно хотя бы один элемент. Так, мы говорим о множестве решений системы уравнений, не решая ее и, значит, не зная еще, имеет ли она хотя бы одно решение. Для некоторых часто используемых ниже и известных из средней школы числовых множеств примем стандартные обозначения: N = { 1, 2, 3, ...I - множество натуральных чисел; No =10, 1, 2, 3, ...I -множество целых неотрицательных чисел; Z ={..., -2, -1, 0, 1, 2, ...I -множество целых чисел; JeZ, 640 J-множество рациональных чисел; R - множество действительных (или вещественных) чисел, т. е. чисел, представимых бесконечными десятичными дробями; C={a+W:a, £eR, Р= -1| - множество комплексных чисел; т, я (для т, п eZ)- множество {т, т+ 1, ..., я|, если т< я; {т\, если m«n; 0, если т> л. Если каждый элемент множества А является элементом множест- ва В, то говорят, что А есть подмножество множества В (или В включа- ет А), и пишут А СВ. В частности, любое множество является подмно- жеством самого себя, т. е. А С А, пустое множество 0 считается под- множеством любого множества А, т. е. 0 сА. Если хотят подчеркнуть, что подмножество А множества В не совпадает с В, то пишут А^В и говорят, что В строго включает А, или А является собственным подмно- жеством множества В. 18
Например, для указанных выше числовых множеств имеют место строгие включения: NCN0CZCQCRСС,mTnCZ. В повседневной практике нам часто приходится получать из одних множеств другие, например, объединяя заданные множества, выбирая их общие или, наоборот, необщие элементы и т. д. Для формализации таких способов получения множеств используются различные операции над множествами. Определим четыре операции над множествами: объе- динение, пересечение, вычитание и декартово произведение, обозначае- мые соответственно U, П,\, х. Определение 1. Объединением множеств А, В называется мно- жество A U В, состоящее из всех тех элементов, каждый из которых принадлежит хотя бы одному из множеств А, В: AU В = {т:т еА или т еВ \. Определение 2. Пересечением множеств А, В называется мно- жество А ПВ9 состоящее из всех тех элементов, которые содержатся в обоих множествах А, В: АПВ = 1т:теА, теВ\. Заметим, что пересечение двух множеств может оказаться пустым множеством. В этом случае исходные множества называются непересе- кающимися. Определение 3. Разностью множеств А, В называется множест- во А\В, состоящее из всех элементов множества А, не содержащихся в В: А\В = { т :теА, т/В\. Определение 4. Декартовым произведением множеств А, В на- зывается множество Ах В, состоящее из всевозможных упорядоченных пар вида (а, Ъ), где а еА, Ъ еВ: АхВ = {(а, Ь):аеА, Ъ еВ|. Пример. Для множеств 4 = 11, 2, 31, В»( 2, 41 имеем: 4UB = I 1, 2, 3, 41, 4ПВ = |2|, 4\В = ( 1» 31, В\4 = {41, 4хВ-((1, 2), (1, 4), (2, 2), (2, 4), (3, 2), (3, 4)1, Вх А.Ц2, 1), (2, 2), (2, 3), (4, 1), (4, 2), (4, 3)1. а* 19
Операции над множествами обладают многими интересными свойст- вами, Приведем некоторые из них, обозначая буквами А, В, С произ- вольные множества. 7. Ли(ЛПВ)-Л] 8. Л П(ЛиВ) = Л? > коммутативность операций U, П; 3. (A U U(£U С) 4. (Л П S) П С-А П (В П С) J ““«“"’«о™ П; 5. А 11Л = А 'i I идемпотентность операций U, П; 6. лпл=л J законы поглощения; 9. (Л U В) ПС = (Л nC)U(SflC) 10. (А П В) UC = (Л UC) П (В 11(7) 11. (ЛиВ)\с = (Л\С)и(В\Сг) 12. (Л П В)\с = (Л\ф П (В\С) 13. (ЛиВ)хС = (ЛхС)и(ВхС) 14. (Л П В) х С = (Л хС) П (ВхС) 15. Л\(Ви С) = (Л\В) П (Л\<7); 16. Л\(ВП(7) = (Л\В)и(Л\б7); 17. Л\(ВиС) = (Л\В)\С; 18. Л\(ЛиВ) = 0; 19. Л\(Л ПВ) = Л\В; 20. Л 1)0 = Л; 21. ЛП0=0. Справедливость выписанных равенств следует непосредственно из определений операций над множествами или легко проверяется. Так, проверку равенства 12 можно записать^ виде последовательности утверждений, эквивалентных на основании определений 2-3 (при этом эквивалентность утверждений обозначается знаком <=> ): * «t в€(4>В>\С'<=>аеЛПВ, аХ С <=» а е А, а еВ, а^С <^> \^> аеА\С, аеВ\С <=> а е(Л\С) П (В\С). законы правой дистрибутивности операций П, U, \,х относительно операций U, П; 20
При рассмотрении свойств операций над множествами полезна ге- ометрическая иллюстрация операций (см. рис. 1). На рис. 1 заштрихо- ванная часть изображает пересечение, объединение и разность мно- жеств А, В. Рис. 1 По аналогии с объединением и пересечением двух множеств можно ввести объединение и пересечение произвольного семейства множеств А> г б П Ag ={ а*а>еА$ для веек i e,I I, id U Ai =\a'.aeAi хотя бы для одного iel I. id В частности, если { 1, 2, ..., nl, то вместо П А^ и U А^ id iel пишут соответственно n п . п А И и А, г - 1 г= 1 ИЛИ АП ... ллп и а и ... илп. Если имеет место равенство 4= U А > то говорят, что множество id А разложено в объединение своих подмножеств Aif iel. Если при этом Л^ПЛу = 0 при 9 то говорят о разложении Л в объединение непересе- кающихся подмножеств, или о разбиении множества Л. Пусть Л - произвольное множество и п-натуральное число. Декар- товой n-й степенью множества Л называется множество, обозначаемое 349—4 21
через Ап и состоящее из всевозможных наборов длины п элементов из А: Ап«{ (аи ..., ап) еА, гб 1, п ]. При этом два набора (alf ап) и (&х, Ъп) элементов из А считают- ся равными, если для всех г€1, п. Иначе говоря, для набора су- щественным является не только состав элементов, но и порядок их рас- положения. Подчеркнем еще, что в отличие от множества, в котором все элементы всегда считают различными, набор может содержать и одинаковые элементы. § 2. ОТОБРАЖЕНИЯ МНОЖЕСТВ Определение 1. Пусть А, В - произвольные множества. Отобра- жением множества А в множество В называется всякое правило / , по которому каждому элементу множества А сопоставляется вполне опре- деленный (единственный) элемент множества В. Тот факт, что f есть отображение А в В, кратко записывают в виде f:A + B. Если при этом элементу а из А сопоставлен элемент & из В, то Ъ на- зывается образом элемента а, а а —прообразом элемента Ъ при отобра- жении /, что записывается в виде /(«)= &, или af= Ъ. Из определения отображения f следует, что у каждого элемента а из А образ единственный, однако для элемента Ъ еВ прообразов может быть и много, а может и вообще не быть. Множество всех прообразов элемента Ъ из В называется его полным прообразом и обозначается через Таким образом, или несколько короче, Естественным путем определяются образ /(Ах) подмножества At из А и прообраз подмножества Bt из В при отображении /: а<Ах beBt 22
Пример . Пусть А=1 О, 1, 2, 3, 4, 5, 61 и / - отображение А в А, сопоставляющее каждому элементу а из Л остаток от деления а на чис- ло 4. Тогда имеем: /(0)«0, Д1)= 1, /(2)«2, /(3) = 3, /(4) = 0, /(5)=1, /(6)~ 2, /“(0) = i0, 41,/~‘(3) = { 31,/-1(5) = 0, /(10, 4, 5l) = I 0, 11, /"‘(10, 11) = {0, 1, 4, 51. При отыскании образов и прообразов подмножеств для отображения f полезно использовать графическую иллюстрацию отображения. Для при- веденного выше примера такая иллюстрация приведена на рис. 2. Если /“—отображение множества А в множество В, то множество всех пар вида (а, Ъ), где аеА, ЪеВ и f(a)- Ъ, называется графиком отображения f. Так, графиком отображения из предыдущего примера является множество пар: 1(0, 0), (1, 1), (2, 2), (3, 3), (4, 0), (5, 1), (6, 2)1. Заметим, что приведенное выше определение отображения не является математически строгим, поскольку в нем используется неопределен- ный термин "правило". Для строгого определения понятия отображения используется подход через график. А именно, отображение Ав В отож- дествляют с его графиком, а график уже определяется строго, как под- множество М декартова произведения ЛхВ, удовлетворяющее условию: 4* 23
для каждого элемента аеА в М существует единственная пара с первым элементом а. При таком определении равенство f(a) = b означает нали- чие в множестве М пары (а, Ь). Теорема. Для любого отображения и любых подмножеств Alf А2сА, Ви В2СВ имеют место соотношения: 2)/(А1ПА2)С/(А1)П/(42), 3)f(AlUA1) = f(Ai)\Jf(AI), 5)f~\f(AlpA2, 6)/’1(В1ПВ2)-/-1(В1)П/-1(В2), 7)/-1(B2UB2)-/”(Bl)U/'1(B2), 8) / 1(В1\В2) = /-1(В1)\/”1(В2). Доказательство. Предварительно заметим, что по определению образа и полного прообраза подмножества X имеем: Ъ ef (X) <;==> b = f(x) для некоторого х еХ, (1) aef-l(X)<=>f(a)eX. (2) Теперь, пользуясь утверждениями (1), (2), докажем для примера утвер- ждения 3 и 8. 3) Пусть Ъ -любой элемент из 5. Тогда: b e/(4lU42) <^=> b = f(a) для некоторого a€41U42<=> <=> b = f(a) для некоторого а из А2 или А2 <=> <=> bef(A2) или bef(A2)<=> b ef (4JU f (42). Тем самым утверждение 3 доказано. 8) Пусть а - любой элемент из 4. Тогда: а €/-1(В2\В2) <=> f{a) еВ2\В2 <=> f(a) eBlt f(a) <=* ««/“(Bi), aef1 (ВД/’^В,). Утверждение 8 доказано. Остальные утверждения доказываются аналогично. Покажите на примерах, что включения 1, 2, 4, 5 могут быть строгими. 24
В зависимости от свойств образов и прообразов различают отобра- жения сюръективные, инъективные и биективные. Отображение f \А + В называется сюръективным, если f(A) = т. е. в каждый элемент из В отображается хотя бы один элемент из А, или при любом Ъ еВ. Графическая иллюстрация сюръективного отображения приведена на рис. 3. Отображение f'.A->B называется инъективным, если оно разные элементы множества А отображает в разные элементы множества В, т. е. /(а1)«/(а2)=> а2 = а2, или У*"1 (Ъ) является либо пустым, либо одноэлементным множеством при любом Ъ еВ. Инъективные отображения называются также вложе- ниями. Графическая иллюстрация инъективного отображения приведена на рис. 4. 25
Отображение f'.A-*B называется биективным, или взаимно одно- значным, отображением Л на В, если оно сюръективно и инъективно, т. е. если /”*(&) есть одноэлементное множество при любом ЪеВ. Графически биективное отображение представлено на рис. 5. Примеры. 1. Определим отображение /t:Z-»N0, положив для а е Z где | а | — абсолютная величина числа а. Очевидно, что Д сюръективное, но не инъективное отображение. 2. Отображение Д :Z-*Z, определенное правилом I 2 • а, если О, I 2 | а | - 1, если а< О, является инъективным отображением. Оно не является биективным, по- скольку /2(Z) = No?£Z . Однако если таким же образом определить отоб- ражение Z bN,,to получим биективное отображение. Определение 2. Отображение множества А в себя называется преобразованием множества Л. Биективное преобразование множества А называется подстановкой множества А, или подстановкой на Л. Примером подстановки на множестве целых чисел может служить отображение /:Z-»Z , определенное равенством + 1, aeZ. Заметим еще, что отображение f множества Л в В называют также функцией, заданной на множестве Л со значениями в множестве В. При этом элемент f(a) называют значением функции f в точке а. Само мно- жество Л называют областью определения функции /, а множество /(Л) СВ-областью значений функции f. 26
Функцию f*,A-*B зачастую трактуют как переменную величину у, принимающую значения из В и так зависящую от переменной величины х, принимающей значения из А, что каждому значению а переменной ве- личины х соответствует вполне определенное значение /(а.) величины у. При этом пишут у = /(«) и вместо "функция /” говорят "функция /(а?)". В теории и на практике часто приходится осуществлять последова- тельно различные отображения множеств. В связи с этим дадим Определение 3. Композицией отображений ф и / , где /:4-£, называется отображение ф©/:А-»В, определенное условием: (фр/) (а) = Ф(/(а), ае4. (1) То же самое отображение называют еще произведением отображе- ний / и <р и обозначают в виде /• ф, или /ф. Таким образом, (/ф)(а)«ф(/(а)), аеД. (2) Каждая из записей (1), (2) имеет свои достоинства. В записи (1) первым применяется то преобразование, которое записано ближе к элементу. В (2) первым применяется то преобразование, которое написано первым. Если вместо / (а) писать а/, то равенства (1), (2) запишутся в виде а(фо/)-(а/)Ф, а(/ф) = (а/)ф. Отсюда видно, что при записи образа в виде /(а) удобнее пользоваться композицией. Если же вместо / (а) писать а/, то удобнее пользоваться произведением отображений. Отметим некоторые свойства композиции и произведения отобра- жений. 1. Если то (АоА)°А=А° (А°А)« <3) Для доказательства найдем образ элемента а из А при действии отображений, записанных в левой и правой частях равенства (3). Из (1) имеем ((А ° А) ° /.)(«) “ (А ° А)(А (<»)) - А (А (А (°)))» 27
(Л о (Л о f^a) = /, ((Л О Л)(а)) = Л (f2 (Л (а))). Отсюда и следует (3). С использованием операции умножения равенство (3) запишется-в виде Л(//з)“(Л/2)/3. 2. Если отображения f^A^B, f2*B-*C сюръективны, инъективны или биективны, то соответственно таким же будет и отображение /2°А» или fj2. Докажите это в качестве упражнения. Заметим, что в общем случае из биективности fxf2 не следует биек- тивность Л, f2, из сюръективности ftf2 следует сюръективность лишь f29 а из инъективности ftf2 следует инъективность лишь Д. Приведите соот- ветствующие примеры. 3. Если для отображений f\A-*B, у'.В + С, у :В-*С выполняется ра- венство (4) и отображение /-сюръектино, то = Действительно, условие (4) означает, что для любого элемента аеА Ф(/(а)) = ^(/(а)). (5) Так как /—сюръективно, то для любого ЪеВ существует аеА, такое, что f(a)^b . Отсюда и из равенства (5) следует, что <р(5) = у (6) для лю- бого Ъ еВ, т. е. ф = у. Приведите пример, показывающий, что условие сюръективности для / существенно. 4. Если для отображений <р:А-В, -.В + С выполняется равенство vp о/® О ф и отображение чу - инъективно, то /»ф. Доказательство этого свойства и пример, показывающий, что усло- вие инъективности у существенно, приведите в качестве упражнений. 5. Если f и ф-преобразования множества А, то их композиция /о ф (и произведение /ф) также является преобразованием множества 4. 28
§ 3. ОТНОШЕНИЯ НА МНОЖЕСТВЕ. ОТНОШЕНИЯ ЭКВИВАЛЕНТНОСТИ И ПОРЯДКА Человеку в своей деятельности чаще всего приходится иметь дело с такими множествами, между элементами которых существуют опре- деленные связи, или отношения. Так, в коллективах людей имеются от- ношения родства, товарищества, соседства, старшинства и т. д. На мно- жестве целых чисел можно рассматривать отношения "равенства", "де- лимости", "больше", "меньше", "между" и т. д. Прежде чем дать определение понятия отношения, рассмотрим на примерах, чем вполне определяются некоторые знакомые нам отношения на множестве чисел Af = {l, 2, 3, 4, 51. 1. Отношение делимости на М можно задать перечислением всех пар чисел из М, в которых первое число делит второе. В данном случае такими парами будут: (1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (2, 2), (2, 4), (3, 3), (4, 4), (5, 5). 2. Отношение "меньше" также можно задать перечислением пар элементов, в которых первое число меньше второго. Получим множест- во пар: {(1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (4, 5),1. 3. Отношение равенства задается множеством пар {(1,1), (2, 2), (3,3), (4, 4), (5, 5)1. (6) 4. Для задания отношения "меньше или равно" необходимо к только что перечисленным парам добавить пары из примера 2. 5. Отношение непосредственного следования (или "быть больше на единицу") задается множеством пар {(1,2), (2,3), (3,4), (4,5),I. 6. Отношение "а является квадратом Ъ" задается множеством, со- стоящим из двух пар (1, 1), (4, 2). 7. Отношение "быть на 10 единиц больше" задается пустым множе- ством пар, поскольку в множестве М нет таких чисел а, 6, что а на 10 единиц больше, чем Ъ. В примерах 1-7 все отношения учитывали лишь связи между любы- ми двумя элементами множества. Такие отношения называются бинар- 29
ними. Рассмотрим на том же множестве примеры отношений, в которых учитываются связи в тройках элементов/ 8. Отношение "строго между” задается множеством троек: 1(1, 2, 3), (1, 2,4), (1, 2, 5), (1, 3, 4), (1, 3, 5), (1, 4, 5), (2, 3, 4), (2, 3, 5), (2, 4, 5), (3, 4, 5)1. 9. Отношение между тремя элементами а, Ъ, с9 означающее, что с есть сумма элементов а, Ь, задается на М следующим множеством троек: {(1, 2, 3), (1, 3, 4), (1, 4, 5), (2, 3, 5), (2, 1, 3), (3, 1, 4), (4, 1, 5), (3, 2, 5), (1, 1, 2), (2, 2, 4)1. Отношения из примеров 8, 9 называются тернарными. После рассмотрения приведенных примеров становится естествен- ным следующее Определение 1. Отношением арности я, или л-арным отношени- ем на множестве М9 называется произвольное подмножество R множе- ства Мп: ВСМп. При этом если (aw ап) eR, то говорят, что элементы аи ап нахо- дятся в отношении /?. Ниже мы ограничимся в основном рассмотрением лишь бинарных отношений (т. е. случаем я» 2). В этом случае вместо (а, b) eR чаще пи- шут aRb, например, Ь, а> Ь, а^Ъ, а\Ь (а делит Ъ), а|| b (а парал- лельна 5), el Ъ (а перпендикулярна Ъ) и т. д. Если же элементы а, b нё находятся в отношении R, то будем писать aR Ъ (при конкретных R используются разные формы записи, например, а/Ъ (а не больше 6), a )f Ъ (а не делит Ъ) и т. п.). В зависимости от свойств множества пар, определяющего бинарное отношение, выделяют различные классы отношений. Определение 2. Отношение R на множестве М называется реф- лексивным, симметричным, антисимметричным, транзитивным, связ- ным, если выполняются соответственно условия (для любых элементов а, Ъ, с е М): aRi% aRb влечет bRa, aRb^JbR^ влечет а= b, aRb влечет aRc, aRb НаприМё^б^ношение делимости на множестве N рефлексивно, ан- тисимметрично, Транзитивно и не связно; отношение параллельности на 30
множестве прямых плоскости рефлексивно, симметрично, транзитивно и не связно, отношение мо является квадратом Ъ" на множестве N анти- симметрично, не рефлексивно, не транзитивно и не связно; отношение на N рефлексивно, антисимметрично, транзитивно и связно. Можно говорить и о многих других свойствах бинарных отношений, однако мы ограничимся только указанными, поскольку через них опре- деляются два наиболее важных для всей математики бинарных отноше- ния-отношения эквивалентности и частичного порядка. Определение 3. Бинарное отношение R на множестве М называ- ется отношением эквивалентности, если оно рефлексивно, симметрично и транзитивно. Значение отношений эквивалентности определяется следующей тео- ремой. Теорема. Пусть Д-бинарное отношение на множестве М и [а]_- гС класс всех элементов из М, которые находятся в отношении R с элемен- том а еМ, т. е. = \xRa I. Ль Отношение R является отношением эквивалентности на множестве М тогда и только тогда, когда классы обладают следующими свойст- вами: 1) любые два элемента одного класса находятся в отношении R*t 2) любые два элемента из разных классов не находятся в отноше- нии R\ 3) объединение всех классов [а]^ равно М. Доказательство. Пусть отношение R удовлетворяет условиям 1-3. Из условия 3 следует, что любой элемент а из М содержится хотя бы в одном классе, а тогда по условию 1 aRa, т. е. R рефлексивно, Если а, Ъ еМ и aRb, то из условий 2-3 следует, что а и Ь содержатся в од- ном классе, а тогда по условию 1 ЬДа,т. е. R -симметрично. Анало- гично доказывается транзитивность отношения Д. Обратно, пусть Л —отношение эквивалентности, т. е. R рефлексив- но, симметрично и транзитивно. Если Ъ, с — элементы какого-либо одно- re масса Ид# то имеем: bRa, cRa> Тогда по свойству симметрично- сти получим aRc. Применяя теперь свойство транзитивности к соотно- шениям b Ra, a Re, получим bRc. Таким образом, любые два элемента одного класса находятся в отношении Д. Возьмем теперь элементы Ъ, с из разных классов и докажем, что они не находятся в отношении Д. Допустим, что с е[а,]Л, и bRc. Так как [aJDi4(a.]D, то существует элемент а, такой, что a 6 [а.] \ Ль /ь Ль 31
\[«а1л ИЛИ а б[аа1д\[а,]д. В первом случае имеем: bRalt cRa2, bRc, aRait aRa2. В силу симметричности отношения R из bRa2 следует a fib. Теперь из соотношений aRau a fib, bRc, cRa2 по свойству транзитивности получим соотношение aRa2, противореча- щее условию. Аналогично придем к противоречию и во втором случае. Таким образом, элементы из разных классов не находятся в отношении R. Осталось заметить, что поскольку ае[а] в силу рефлексивности отношения R. Теорема дока- зана. Если R - отношение эквивалентности на множестве М, то классы [a]R называются классами эквивалентности, соответствующими отно- шению Л. Из доказанной теоремы следует, что два класса или совпада- ют, или не пересекаются. Тем самым мы получаем разложение множест- ва М в объединение непересекающихся непустых классов, т. е. разбие-. ние множества М. Про это разбиение говорят, что оно индуцируется от- ношением R. Таким образом, каждое отношение эквивалентности на множестве И индуцирует разбиение множества М. Обратно, если задано произвольное разбиение множества М9 то, определив на М отношение R условием: аа, Ь содержатся в одном классе разбиения, мы получим отношение эквивалентности, индуцирующее исходное раз- биение. Таким образом, между всеми отношениями эквивалентности на множестве М и всеми разбиениями множества М существует естествен- ное-взаимно однозначное соответствие (при котором отношению эквива- лентности соответствует индуцируемое им разбиение). Указанным соответствием и объясняется широкое использование отношений эквивалентности в научной и практической деятельности че- ловека. А именно, всякий раз, когда хотят какие-то объекты раскласси- фицировать по какому-либо признаку, то, по-существу, вводят отноше- ние эквивалентности на рассматриваемом множестве. Классификация элементов множества облегчает задачу его изучения, поскольку позво- ляет вместо всех элементов изучать лишь совокупность отдельных 32
представителей из классов эквивалентности. Более того, эти предста- вители могут быть выбраны наиболее простыми с точки зрения не инте- ресующих нас свойств. Например, из всех эквивалентных между собой систем уравнений достаточно исследовать и решить лишь одну, в неко- тором смысле наиболее простую, систему. Определение 4. Бинарное отношение /? на множестве М назы- вается отношением частичного порядка (или просто отношением поряд- ка), если оно рефлексивно, транзитивно и антисимметрично. Связное отношение частичного порядка называется линейным порядком. Естественными примерами отношений частичного порядка являются отношение < ("меньше или равно") на произвольном множестве дейст- вительных чисел и отношение теоретико-множественного включения на множестве всех подмножеств любого фиксированного множества Л/. При этом в первом случае мы имеем отношение линейного порядка, во вто- ром нет, если М не одноэлементно. Отношение порядка на множестве обычно вводится в том случае, когда хотят установить определенную иерархию между его элементами. Оно обозначается чаще всего значком^. Если Ъ и а£Ъ, то пишут а< Ъ и говорят "а меньше 6". Множество М с заданным на нем отношением частичного или ли- нейного порядка < называется соответственно частично или линейно упорядоченным множеством и обозначается в виде М (<;). В некоторых случаях при изучении частично упорядоченных мно- жеств используются их геометрические изображения-диаграммы. При построении диаграммы частично упорядоченного множества М ($) раз- личные элементы из М отождествляются с различными течками плоско- сти, так, что: 1) точка а лежит левее (или ниже) точки Ъ, если Ьв 2) точка а соединяется отрезком с отличной от нее точкой Ъ9 если Ь и не существует точки с, отличной от а, Ъ, удовлетворяющей усло- вию Ь (в этом случае говорят, что Ъ непосредственно следует за а или а непосредственно предшествует &). Так, для множества Af~{0, I II, {21, {31, {1, 21, 11, 31, {2, 31, { 1, 2, 311 всех подмножеств множества 4 = { 1, 2, 31, упорядоченного отношением включения, диаграмма изображена на рис. 6. ___ Диаграмма линейно упорядоченного множества 1, п с произволь- ным отношением линейного порядка изображена на рис. 7. В ней все точки аи а29 ..., расположены на одной прямой линии. Отсюда проис- ходит и сам термин - "отношение линейного порядка". Для частично упорядоченного множества М «) естественным обра- зом определяются понятия минимального и максимального элементов. Элемент а называется минимальным (максимальным), если для любого элемента Ъ еМ из а (соответственно из Ъ) следует Ъ. 349-5 33
Заметим, что частично упорядоченное множество может иметь один или несколько минимальных (максимальных) элементов и может совсем не иметь их. Так, частично упорядоченные множества с диаграммами, изображенными на рис. 6, 7, имеют по одному минимальному и по одно- му максимальному элементу. Множество N с обычным отношением < имеет единственный минимальный элемент 1 и не имеет максимальных элементов. Множество М=2, 6, упорядоченное отношением делимости (диаграмму см. на рис. 8), имеет три минимальных элемента 2, 3, 5 и три максимальных элемента 4, 5, 6. Интересно отметить, что в данном примере число 5 является и минимальным и максимальным элементом. Рис. 6 • 5 В математике особо важную роль играют частично упорядоченные множества, в которых любое подмножество имеет минимальный элемент. Про такие частично упорядоченные множества говорят, что они удовлет- 34
воряют условию минимальности. В частности, линейно упорядоченные множества с условием минимальности называются вполне упорядочен- ными. Так, множество чисел М с обычным отношением порядка "меньше или равно" удовлетворяет условию минимальности при Af = N и не удов- летворяет при 4/ = Z . Об особой роли частично упорядоченных множеств с условием минимальности будет сказано ниже (см. § 6). § 4. МНОЖЕСТВА С ОПЕРАЦИЯМИ Определение 1. Операцией арности п, или n-арной операцией, на множестве М при п> 0 называется произвольное отображение При этом образ элемента (alf ..., ап) из Мп при отображении f называет- ся результатом применения операции f к элементам аи из М и обозначается в виде Ж, ап). Подчеркнем, что согласно определению 1 операция применима к лю- бому набору (aw ап) из Мп и результат всегда принадлежит множе- ству М. Для общности вводят также понятие и нуль-арной операции. Резуль- татом нуль-арной операции по определению считается некоторый фикси- рованный элемент множества М. В связи с этим нуль-арную операцию и обозначают, как правило, тем же символом, что и элемент множества А/, являющийся значением этой операции. При n= 1, 2, 3 n-арные операции называются соответственно унар- ными, бинарными и тернарными. Из сравнения определения 1 с определением 2 из § 2 видно, что по- нятие унарной операции совпадает с понятием преобразования множест- ва. Практически наиболее интересными являются бинарные операции. Если /-бинарная операция на множестве М9 то вместо f(au а2) чаще пи- шут «1/«2. Во многих конкретных примерах вместо / используются сим- волы о, U, П и др» Приведем примеры бинарных операций. 1. Бинарными операциями являются хорошо знакомые из средней школы операции сложения и умножения на множествах No, Z, Q, R, С, а также операция вычитания на множествах Z , Q, R, С. Заметим, что вычитание не является операцией на множестве N, поскольку разность натуральных чисел может и не быть натуральным числом. То же можно сказать и о делении на любом из указанных мно- жеств, поскольку невозможно деление, например, на нуль. 5* 35
2. Пусть М «) есть произвольное линейно упорядоченное множест- во /-отображение М2 в М, определенное условием: f(a, 6) «max {а, Ъ I для любых а, ЬеМ, где max {a, b I - максимальный элемент частично упорядоченного мно- жества, состоящего из двух элементов а, Ь, относительно порядка, ин- дуцированного отношением < на М. Так как М «)- линейно упорядочен- ное множество, то при любых а, ЬеМ max {а, Ь I есть вполне определен- ный элемент из М и потому / есть бинарная операция на М. Аналогично определяется операция взятия минимального элемента min {а, Ъ } на М. 3. Рассмотрим множество JP(Af) всех подмножеств фиксированного множества М. Так как пересечение и объединение любых двух подмно- жеств из М являются вполне определенными подмножествами из М, то операции пересечения и объединения пар подмножеств из М являются бинарными операциями на множестве 5Р(Л/). Они обозначаются соответ- ственно Пии. Заметим, что на $(М) обычно рассматривается еще унарная опера- ция ' взятия дополнения: А* ~М\А. 4. Пусть ЩМ) есть множество всех преобразований непустого мно- жества М. В § 2 было определено понятие композиции /оф любых двух преобразований множества М, причем / оф есть также преобразование множества Следовательно, композиция преобразований есть бинар- ная операция на множестве П(Л/). То же самое можно сказать и о произ- ведении преобразований множества М. 5. Обозначим через Ж (М) множество всех бинарных отношений на Af* Определим для каждой пары отношений Rw R2 на М третье отношение /?, положив для любых элементов а, b еМ aRb в том и только том слу- чае, когда существует элемент с еМ9 такой, что aRtc и cR2b : aRb <=> существует с еМ : aRxc, cR2b. Отношение R называется произведением отношений Rl9 R2 и обозначает- ся в виде R2* R2> Произведение бинарных отношений есть бинарная опе- рация на множестве Ж(Л/). Даже из только что приведенных примеров видно, сколь разнообраз- ными могут быть бинарные операции на множествах. В связи с этим для облегчения изучения множеств с операциями сами операции класси- фицируются по их свойствам. Определение 2. Бинарная операция * на множестве М называет- ся коммутативной или ассоциативной, если для любых элементов а, Ь, сеМ выполняется соответственно равенство а * Ъ ® b * а9 (а*Ь)* с*а* (Ь* с). 36
Так, операции сложения и умножения чисел на N, Z, Q, R, С и би- нарные операции, приведенные в примерах 2—3, коммутативны и ассоци- ативны. Операция вычитания на множествах чисел Z, Q, R, С не комму- тативна и не ассоциативна, операция композиции преобразований мно- жества М (см. пример 4) ассоциативна, но не коммутативна, если М не одноэлементно (докажите это в качестве упражнения). Укажите, какими из указанных свойств обладает операция умножения бинарных отноше- ний, определенная в примере 5. Так как на одном и том же множестве может быть задано несколь- ко, бинарных операций, то могут существовать свойства, связывающие .различные операции. Определение 3. Пусть * и о-две бинарные операции на множе- стве Л/. Операция * называется лево- или праводистрибутивной относи- тельно операции о, если для любых элементов а, Ъ, с из М выполняется соответственно равенство А ♦ (Ъ о с) * (а * Ъ) о (а * с), (а о Ъ) ♦ с = (а * с) о (& * с). Бели выполняются оба эти равенства, то говорят просто о дистрибутив- ности операции * относительно операции о. Так, на числовых множествах N,Z, Q, R операция умножения дис- трибутивна относительно операции сложения, но не наоборот. Обе бинар- ные операции, определенные в примере 2 (а также и в примере 3), дис- трибутивны одна относительно другой. Определение 4. Множество М с заданными на нем операциями и отношениями называется алгебраической системой. При этом М назы- вают основным множеством системы, а множество символов, использу- емых для обозначения определенных на М операций и отношений, - ее сигнатурой. Алгебраическую систему с основным множеством М и с сигнатурой Rv, ..., Ri I, состоящей из символов операций fa арностей Ял и отношений kj арностей mj, обозначают в виде М (ст), или подробнее, ж (А, • •••> При этом набор натуральных чисел <п„ ..., •••л mi> называют типом системы М (ст). Если на алгебраической системе определены только операции или только предикаты, то она называется соответственно алгеброй или мо- делью. Примером алгебраической системы может служить множество на- туральных чисел N с бинарными операциями сложения и умножения и бинарными отношениями =, <• Примером модели является любое час- тично упорядоченное множество. Широкое распространение в математике и ее приложениях получили Такие алгебры, как полугруппы, квазигруппы, группы, кольца, поля, мо- Э49-6 37
дули, решетки и др. Подробно они изучаются в алгебре. В математичес- кой логике особую роль играют так называемые булевы алгебры. Определение 5. Булевой алгеброй называется множество В с двумя бинарными операциями Л, V, одной унарной операцией * и двумя нуль-арными операциями (т. е. выделенными элементами) Q, 1, удовлет- воряющими условиям (при любых а, Ъ, сеВ): 1. (аЛ&)Лс«аЛ(&Л<?)» 2. (аУЪ)Ус~аУ(ЪУс), 4. aV&~3Va, 5. 6. а Vа~а, 7. аЛ («VЪ)~а, 8. а V (аЛ Ъ)-а9 9. aA(6Vc)«(aA&)V(eAc), 10. aV(6Ac)«(aV3)A(aVc), 11. а Ла* = 0, 12. aVa'-l. Заметим, что система условий 1-12 не является независимой. До- кажите, например, что равенства 5, 6 являются следствиями остальных равенств. Покажите, что из условий 1—12 следуют равенства: а Л 0 = 0, а Л 1»а, a V0«a, а V 1= 1, (аЛ Ъ)'» а' V V 9 (а V 6)'*а'Л Ь'. Элементы 0 и 1 булевой алгебры В называют соответственно ее.ну- лем и единицей. Иногда их обозначают в виде 0^ и 1^. Примером булевой алгебры является множество всех подмножеств произвольного множества М с бинарными операциями пересечения П и объединения U, унарной операцией дополнения и нуль-арными операция- ми 0, М9 играющими соответственно роль 0 и 1. Булеву алгебру образует также множество всех (положительных) делителей числа т, равного произведению различных простых чисел, с операциями 4 аЛ £==н.о.д. (а, Ъ}, аУ 5 = н.в.к. (а, Ъ)9 а' ~ — а * и с числами 1 и т в роли нуль-арных операций соответственно 0 и 1. (Проверьте выполнение условий 1-12. Будут ли все они выполняться при любом т?) Ниже нам встретятся и другие примеры булевых алгебр. Интересно отметить связь булевых алгебр с частично упорядочен- ными множествами. Положим для элементов а, Ъ произвольной булевой алгебры В\ Ъ <=£> аУ 6. 38
Из свойств 6, 4, 2 следует соответственно, что так определенное отно- шение < на В рефлексивно, антисимметрично и транзитивно. В итоге имеем частично упорядоченное множество В«). Его диаграмма назы- вается диаграммой булевой алгебры В. Так, на рис. 6 изображена диа- грамма булевой алгебры всех подмножеств множества {1, 2, 31. В математике при изучении алгебраических систем их обычно клас- сифицируют по типам и по свойствам. Так получаются классы полугрупп, групп, колец, полей, булевых алгебр и т. д. В каждом таком классе ал- гебраические системы обычно изучаются с точностью до изоморфизма. Определение 6. Алгебраические системы А, В одной и той же еигнатуры ..., /д.; Ru ..., R^\ типа <nw ..., nk; ти т^> назы- ваются изоморфными, если существует биективное отображение <р: А-*В, такое, что: 1) для любой операции и любых элементов ..., ап е4 вы- полняется равенство г ф(Л(ам —> %)) = /г(ф(а1). —. ф(ап.)); 2) для любого отношения R • еа и любых элементов аи ..., атеА 3 з R:(alt ...» ат)<=> ...» <p(am )). J 3 J 3 йри этом само отображение ф называется изоморфизмом системы А на систему В. Пример. Пусть В —булева алгебра всех подмножеств множества ..., ап\9 а В2-булева алгебра всех делителей числат-рхр2 ... рП9 где ?1, р29 рп- различные простые числа. Определим отображение ф :Bl-^B2f положив ф0®*? ...» Of !) = ?; ... pit Иф(0)=1. 1 к 1 к Легко видеть, что = Иф(15?=1В1’ фМ')-ф(4)'» также ф(4ЛВ) = ф(4)Аф(В), ф(4УВ)«ф(4) Уф(В) для любых подмножеств 4, В множества J/. Это и означает, что ф есть изоморфизм булевой алгебры 4 на булеву алгебру В. g. Легко видеть, что отношение изоморфизма является отношением ^вивалентности на любом множестве алгебраических систем одной сиг- натуры и потому все такие системы разбиваются на классы изоморф- ных систем. Из определения 6 видно, что изоморфные алгебраические в* 39
системы сигнатуры а с точки зрения свойств операций и отношений от- личаются лишь обозначениями элементов. Отождествив в системах из определения 6 элементы а и <р (а), мы получим одну и ту же систему. Вот почему в алгебре и изучаются алгебраические системы с точностью до изоморфизма. Тем самым достигается существенная экономия на- ших сил и времени при изучении всего многообразия алгебраических систем. Заметим, что понятие изоморфизма естественным образом распро- страняется на алгебраические системы различных, но однотипных сиг- натур. При этом необходимо только предварительно установить между операциями (а также между отношениями) систем взаимно однозначное соответствие, сохраняющее арности. Так, если операции Ц соответству- ет операция то условие 1 определения 6 запишется в виде Ф (fi (alt .... ап = (<p (at).Ф (ап )). г г В частности, если /—бинарная операция *, а //-бинарная операция о, то последнее равенство будет иметь вид Ф(«1*«2) = ф(а1) о<р(а2). Примером изоморфизма алгебр с различными сигнатурами может служить отображение <р алгебры R +(•) в алгебру R (+), определяемое ра- венством ф (а?) = loga;r. Условие 1 определения 6 гарантируется в этом случае известным свойством логарифмов: 1°ga(«y) = 1og0a;+log0y. Этот пример показывает, что в некоторых случаях переход к изо- морфной алгебре позволяет существенно упростить вычисления. В этом проявляется еще одна положительная роль понятия изоморфизма. §5. АКСИОМАТИЧЕСКОЕ ПОСТРОЕНИЕ СИСТЕМЫ НАТУРАЛЬНЫХ ЧИСЕЛ Арифметика, как наука о числах, является одной из древнейших на- ук и подобно другим наукам возникла из потребностей практической де- ятельности человека. "Как понятие числа, так и понятие фигуры заим- ствованы исключительно из внешнего мира, а не возникли в голове из чистого мышления" (Ф. Энгельс, "Анти-Дюринг", изд. 1953 г., стр. 37). В силу потребностей практики происходило как накопление фактов о свойствах чисел, так и постепенное расширение самого понятия числа. Вслед за натуральными появляются дробные, отрицательные, рациональ- ные, иррациональные и мнимые числа. Укоренившиеся исторически тер- мины "иррациональный" и "мнимый" свидетельствуют о том первона- 40
чальном сопротивлении, которое встречало диктовавшееся практикой появление новых чисел на каждой стадии развития числовых систем. Задача аксиоматического построения арифметики возникла значи- тельно позже, чем в геометрии, поскольку арифметические предложе- ния более тесно примыкают к непосредственному опыту человека и по- тому на первый взгляд не вызывают потребности в доказательствах. Только бурное развитие всей математики в XIX в. потребовало строгого аксиоматического построения арифметики. К середине XIX в. появилась геометрия Лобачевского, не укладывающаяся в рамки при- вычной евклидовой геометрии. Встал вопрос обоснования как геометрии Лобачевского, так и геометрии Евклида. Оказалось, что непротиворе- чивость той и другой сводится к непротиворечивости арифметики. С другой стороны, логического обоснования арифметики требовало раз- витие математического анализа, полностью основанного на теории дей- ствительных чисел. Вот почему во второй половине XIX в. проблеме обоснования, или аксиоматического построения, арифметики уделили самое серьезное внимание многие крупные математики. К. Вейерштрассом был указан метод построения целых чисел как классов пар (с содержательной точки зрения разностей) натуральных чисел, а также рациональных чисел, как классов пар (с содержательной точки зрения частных) целых чисел. До него В. Гамильтон построил мо- дель системы комплексных чисел, как пар дествительных чисел. Нако- нец, Р. Дедекинд, Г. Кантор и К. Вейерштрасс независимо друг от дру- га построили различные, но эквивалентные, теории действительных чи- сел, основываясь на теории рациональных чисел. Таким образом, для завершения аксиоматизации арифметики осталось построить систему аксиом для множества натуральных чисел. Эта работа, начатая немец- ким математиком Г. Грассманом еще в 1861 году, была завершена в 1891 году итальянским математиком Д. Пеано. Ниже мы приведем схему построения арифметики натуральных чи- сел, основанную на аксиоматике Пеано и на определении операций по Грассману. Основными понятиями при этом являются понятия множества., под- множества, элемента множества, а основными отношениями — бинарные отношения равенства, "следовать за”, включения (подмножества в мно- жество) и принадлежности (элемента множеству). В этих терминах мно- жество натуральных чисел N определяется следующей системой аксиом Пеано: 1. Существует элемент множества N, не следующий ни за каким элементом из N (один из них назовем единицей и обозначим 1). 2. Для каждого элемента aeN существует единственный элемент, следующий за а (будем обозначать его через а'). 3. Для каждого элемента aeN существует не более одного элемен- та, за которым следует а, т. е. из Ъ*~с9 следует Ъ-с. 4. (Аксиома полной математической индукции.) Если М есть подмно- жество множества N, удовлетворяющее условиям: 41
a) 1 еМ, б) из а еМ следует а9 еМ для любого а сМ,- ToAf = N. В проведенном аксиоматическом определении множества N ничего не говорится о природе его элементов. Она может быть какой угодно, лишь бы их совокупность удовлетворяла аксиомам 1—4. Выбирая в ка- честве N некоторое конкретное множество, в котором определено неко- торое конкретное отношение "следовать за", удовлетворяющее аксио- мам 1—4, мы получим модель данной системы аксиом. Можно доказать, что между любыми двумя моделями системы ак- сиом 1-4 можно установить взаимно однозначное соответствие, сохра- няющее отношение "следовать за". Иначе говоря, любые две модели си- стемы аксиом 1-4 изоморфны относительно отношения "следовать за". В качестве стандартной модели обычно выбирают выработанный в про- цессе исторического развития ряд символов (натуральных чисел): 1, 2, 3, 4, ... (1) Используя аксиомы 1—4, можно доказать все известные свойства натуральных чисел. При этом главным средством доказательства явля- ется основанный на аксиоме 4 принцип полной математической индукции. Теорема 1. Пусть Т (л) - некоторое утверждение, зависящее от переменной величины п, принимающей значения из N, причем: а) Т (л) истинно при я«1; б) для любого из истинности Т (л) следует истинность Г(л+1). Тогда Г (л) истинно для всех леи. Доказательство. Обозначим через М множество тех натураль- ных чисел, для которых утверждение Г (л) истинно. Тогда из условия теоремы следует, что: 1) 1 сМ\ 2) если псМ, то п'сМ. Отсюда по аксиоме 4 получаем A/ = N, т. е. утверждение Т (л) истин- но при любом л £N. На аксиоме индукции основываются не только доказательства, но и определения. Так же, как и в теореме 1, можно доказать, что функция /(л) однозначно определена на множестве N, если она определена при л= 1 и для любого л ее значение на п9 однозначно определяется по ее значению на л. Определим операции сложения и умножения натуральных чисел. Определение 1. Операцией сложения натуральных чисел называ- ется отображение /:N2-N, удовлетворяющее условиям (при любых а. Ъ eNV 1)/(а, 1)-а'; ' h 2) f(a, b9)~f(a, Ъ)9. 42
Если вместо f(a, Ъ) условиться писать а+Ъ, то условия 1-2 запи- шутся в следующем виде: 1) а+1 = а'; 2) а+6*«(а + Ь)'. Определение 2. Операцией умножения натуральных чисел назы- вается отображение удовлетворяющее условиям (для любых а, Ъ е М): 1) ф(а, 1) = а, 2) <р(а, 6') = ф(а, + Используя вместо ф(а, £) общепринятое обозначение а* Ъ, или аЪ, условия 1—2 можно записать следующим образом: 1) а • 1 = а; 2) аЪ9 = а6 + а. Методом полной математической индукции нетрудно доказать, что указанные выше отображения / и ф существуют и определяются услови- ями 1-2 однозначно и что операции сложения и умножения ассоциатив- ны, коммутативны и связаны дистрибутивным законом а (Ъ + о) = аЪ + ас. Для примера докажем ассоциативность сложения (а+ 6) + с = а+ (Ъ + с). (2) Пусть с® 1. Тогда, используя последовательно условия 1, 2, 1 для сложения, получим: (а+ 6)+ 1 = (а+ Ъ)9 = а + Ъ* - (Ъ + 1). Следовательно, для с ® 1 равенство (2) верно. Допустим, что оно верно для с, и докажем для <?'. Используя последовательно условие 2, предпо- ложение индукции и снова условие 2, получим: (а+ &) + <?'« ((«+&) +с)1® (a+(hc))'afl + (& + с)' »а+(& + с'). Утверждение доказано. Теперь на множестве N можно ввести отношение порядка. Определение 3. Будем говорить, что натуральное число а мень- ше натурального числа &, и писать а< J, если найдется такое с 6N, что Теорема 2. Отношение < на N является отношением полного по- рядка, т. е. множество N (<) вполне упорядочено. Доказательство, а) Сначала индукцией по Ъ очевидным обра- зом устанавливается, что для любых а, Ь е N выполняется неравенство (3) <3
б) Рефлексивность, антисимметричность и транзитивность отноше- ния < следуют непосредственно из его определения, свойств сложения и неравенства (3), в) Докажем условие минимальности. Пусть Л/CN и ЛМ0. Обозначим через Мх множество всех чисел из N, не превосходящих каждого числа из Л/. Индукцией по а просто устанавливается, что 1< а при любом aeN. Значит, 1 Однако Л/^IM, поскольку и аеМ влечет а+1/М^ Следовательно, найдется такое ЬеМ19 что (иначе было бы Af1 = N). Покажем, что &-минимальный элемент в М. Действительно, т для любого теМ, поскольку Ъ еМ„ и остается доказать, что Ъ €М. Если Ъ4М, то Ъ< т, и потому &+т для любого т еМ. Получили про- тиворечие. Теорема доказана. Можно было бы доказать многие интересные свойства, связывающие от* ношение < с операциями сложения и умножения натуральных чисел. Например, монотонность сложения: а<а+с<Ъ + с; монотонность умножения: а< Ь=> ас < Ъс\ свойство, называемое аксиомой Архимеда: для любых а, Ъ в N существу- ет такое с eN, что а< Ъс\ и т. д. Мы не будем на этом останавливаться, отослав интересующихся, например, к монографии [5]. В заключение сделаем отдельные замечания. 1. В начале данного параграфа говорилось о том, что аксиомати- ческого построения арифметики натуральных чисел требовала проблема доказательства непротиворечивости геометрии и математического ана- лиза. С построением аксиоматической теории натуральных чисел ука- занная проблема не была решена, поскольку противоречие в теории мо- жет быть следствием не только системы аксиом, но и логических средств, используемых в доказательствах. Вместе с тем проведенная математиками XIX в. работа по анализу и построению арифметики была необходимой для последующего развития всей математики. Выделив простейшие факты (аксиомы), лежащие в основе арифметики, она повы- сила нашу уверенность в прочности математического фундамента и на- правила дальнейшие усилия математиков на анализ средств доказав тельств (см. гл. III). 2. Система аксиом Пеано независима, т. е. для каждой из аксиом 1-4 существует множество с отношением "следовать за", на котором эта аксиома не выполняется при выполнении всех остальных аксиом. 44
В качестве таких множеств можно выбрать соответственно: Mt~\a, Ь, <?|, где Ъ' = с, с'-а; М2-{а, М, где а' = 6; Af3« I а, Ъ, с, d\, где а'= 6, Ъ* = с, с* ^d, d* = Ь\ M4=NUN, где N- множество (1) с естественным отношением "следовать за", a Й- множество символов вида п для всех л е IM, в котором (п)' = п'. Следовательно, ни одна из аксиом 1—4 не является следствием остальных. 3. Используя условие минимальности для линейно упорядоченного множества, можно усилить принцип полной математической индукции. Теорема 3. Пусть Т (л) - утверждение, зависящее от натурально- го числа л, причем Т (л) - истинно при л= 1 и из его истинности для чи- сел 1, 2, ..., л следует истинность для л + 1. Тогда Т (п) - истинно для любого п в N. Доказательство. Допустим, что утверждение Т (п) истинно не для всех ле N,и обозначим через М множество всех тех натуральных чисел л, при которых неверно Т (л). По теореме 2 в М существует минималь- ное число, которое отлично от 1 и потому следует за некоторым числом л0. Таким образом, имеем: утверждения 7\(1), ..., Г(л0) истинны, а Т (л£) нет. Это противоречит условию теоремы. 4. Утверждение, аналогичное теореме 3, имеет место и точно так же доказывается для любого частично упорядоченного множества с условием минимальности. Теорема 4. Пусть М (<) - произвольное частично упорядоченное множество с условием минимальности и Т (т) - утверждение, зависящее от параметра т, принимающего значения из А/. Тогда утверждение Т(т) истинно для любого теМ, если: 1) Т (т) истинно для всех минимальных элементов из 2) из истинности Т (т) для всех элементов т< л следует его истин- ность для лг = л. На этой теореме основан метод доказательства, называемый мето- дом трансфинйтной индукции. § 6. МОЩНОСТЬ МНОЖЕСТВА. КОНЕЧНЫЕ И БЕСКОНЕЧНЫЕ МНОЖЕСТВА В повседневной практике натуральные числа используются в двух различных смыслах-в порядковом и количественном. В соответствии с этим говорят "первый", "второй", "третий" и т. д., или "один", "два", "три” и т. д. 45
Построенная в предыдущем параграфе аксиоматическая теория арифметики натуральных чисел отражает лишь порядковый смысл нату- рального числа и потому называется порядковой теорией. В данном па- раграфе будет указана схема построения арифметики, отражающая ко- личественный смысл натурального числа. Количественная характеризация натуральных чисел основывается на сравнении множеств путем установления взаимно однозначного соот- ветствия между их элементами или между элементами одного множест- ва и частью другого. Фактически в данном параграфе будет строиться арифметика так называемых кардинальных чисел, содержащая в себе как часть арифметику натуральных чисел. Определение 1. Непустое множество А называется равномощ- ным множеству В, если существует биективное отображение А на В. Очевидно, что отношение равномощности множеств рефлексивно, симметрично и транзитивно, и потому все множества разбиваются на непересекающиеся классы равномощных множеств. Сопоставим с каждым классом равномощных множеств некоторый символ так, чтобы разным классам соответствовали разные символы. Символ, сопоставленный классу, называется кардинальным числом этого класса (или, просто, кардинальным числом), а также мощностью любого множества из этого класса. Мощность множества А обозначает- ся в виде | А |. Таким образом, мощность множества отражает лишь то общее, что есть у этого множества со всеми остальными множествами содержаще- го его класса. Из определения же видно, что эта общность заключается лишь в возможности установить взаимно однозначное соответствие между элементами любых двух множеств из этого класса. Для некоторых кардинальных чисел введем общепринятые обозначе- ния. Возьмем какой-либо элемент а и построим ряд попарно неравно- мощных множеств { al, {а, {al I, { а, { а|, { а, { а \ 11, ... (1) Мощности этих множеств обозначаются соответственно символами 1, 2, 3, ..., а множество всех этих символов — буквой N. В итоге мы получим неко- торое множество координатных чисел, называемых натуральными чис- лами. Ниже будет показано, что кардинальные числа не исчерпываются множеством N. Для того, чтобы кардинальные числа, как символы, несли смысло- вую нагрузку понятия мощности, или количества, необходимо научиться сравнивать их между собой, складывать, умножать и т. п. Определение 2. Пусть а, р-любые кардинальные числа и а«|4|, ₽= | В |. Говорят, что число а не превосходит числа [3, и пишут а< р, если существует инъективное отображение А в В. 46
Легко видеть, что определение корректно, т. е. соотношение а< (3 не зависит от выбора представителей А, В из классов. Очевидно также, что отношение < рефлексивно и транзитивно. ЕТо антисимметричность следует из классической теоремы Шрёдера-Бернштейна. Мы приведем здесь ее наиболее прозрачное доказательство, принадлежащее Г. Бирк- гофу и С. Маклейну (см. [ 2]). Теорема 1. Если существуют инъективные отображения f\A + B, д:В+А, то существует биективное отображение h:A+B. Доказательство. Если хотя бы одно из преобразований /, д би- ективно, то утверждение теоремы верно. Пусть /, д — не биективны. Определим отображения Д : /(4)-» A, gt'-g[B)-*B9 положив для аеА и ЪеВ\ А(/(«)) = а, ?>(?(&)) = 6. Заметим, что отображения дг не определены соответственно на мно- жествах Будем теперь классифицировать элементы из А на три подмножест- ва Ао, А19 А1 следующим образом. Возьмем любой элемент аеА и бу- дем применять попеременно преобразования д19 Д до тех пор, пока это можно. Если на некотором шаге получим элемент из 4\^(В) или из В\/(4) (тогда процесс обрывается), то отнесем элемент а соответст- венно в класс 40 или 4V В противном случае отнесем а к А'. В итоге получим разбиение множества А: 4 = 40U41U4\ Аналогично, действуя на элементы из В попеременно преобразованиями А, Ри получим разбиение множества В: в=воив1ив\ Очевидно, что f(40) = Bu/(4')»В', <л(4х) = В0. Теперь искомое биективное отображение ф :4->В определяется следую- щим образом: ф(а). /(а), если аеА0 U4*; gja), если а еА^ 47
Следствие. Введенное определением 2 отношение на множестве кардинальных чисел является отношением частичного порядка. Извест- но также, что множество кардинальных чисел с отношением < вполне упорядочено. Доказательство можно найти, например, в [4]. Докажем еще, что множество кардинальных чисел не ограничено. Теорема 2. Если У (Л/)- множество всех подмножеств произволь- ного множества М9 то \М\<\9(М)\. (2) Доказательство. Определим отображение /:Мположив для теМ /(т) = {т!. Очевидно, что f инъективно, и потому |Л/|<|!Р(Л/)| . Докажем еще, что \М | 9(М) |. Допустим, что | М |« | |, т. е. что существует биективное отображение ср: Л/ -* fP(Af). Определим множества: А-{ т еМ : т е<р (т)|, В = М\А. Так как ф-биективно, то в М найдется элемент mQ, удовлетворяющий условию ф(т0) = В. Выясним, какому из множеств А, В принадлежит Если т0 еА, то по определению А имеем moe<p(mo), т. е. mQEB. Если допустить, что mQeB> то Д1овф(т0) и потому шоеА. А так как А ПВ~0, то в обоих случаях приходим к противоречию. Следовательно, | М | $(М) |, и неравенство (2) верно. Введем теперь некоторые операции над кардинальными числами. Определение 3. Пусть а, р — произвольные кардинальные числа, а= | Л р = | В | иЛП В = 0. Суммой чисел а, р , произведением чисел а, Р и р-й степенью числа а называются соответственно кардинальные числа а + р » | A UB |; а • р = | А х В |, аЭ = |АВ'|, где Л —множество всевозможных отображений В в Л. Исходя из свойств операций над множествами, можно доказать сле- дующие свойства операций над кардинальными числами: (о + р) + у = а+(р + у), а+ЫР+ а, а(Р + у) «ар + а у, (ар)у-а(Ру), ар • ра, (ар)у«ау.ру, (а₽ГжаРУ. 48
Если 3/-произвольное множество, то, сопоставив каждому его под- множеству N характеристическую функцию г 1, если х £ N, f# (я) к - |^0, если х eMxN, получим биективное отображение $(№) на I 0, Следовательно, | и по теореме Кантора имеем: для любого кардинального числа а выполняется неравенство а< 2 . Очевидно, что отношение полного порядка на множестве всех кар- динальных чисел индуцирует отношение полного порядка на любом его непустом подмножестве в частности, на N. Нетрудно показать, что на N оно совпадает с отношением порядка, установленным в предыдущем параграфе. Определение 4. Множество N с отношением < называется нату- ральным рядом, а множество 1, я = {1, 2, ..., п\ с отношением <: - его начальным отрезком длины я. Очевидно, что мощность множества 1, п равна п и не равна мощно- сти множества N ни при одном значении л. Определение 5. Пустое множество и любое множество, равно- мощное какому-либо начальному отрезку натурального ряда, называют- ся конечными множествами. Остальные множества называются беско- нечными. Мощности конечных^ бесконечных множеств называются со- ответственно конечными и бесконечными кардинальными числами. Таким образом, конечными кардинальными числами являются все натуральные числа 1, 2, 3, ..., а также мощность пустого множества, которая обозначается символом 0, называемым нулем. Определение 6. Все множества, равномощные множеству нату- ральных чисел N, называются счетными. Счетной называется и их мощ- ность. Счетная мощность обозначается символом (алеф-нуль). Теорема 3. Кардинальное число больше любого натурального числа и является наименьшим среди бесконечных кардинальных чисел. Доказательство. Первое утверждение теоремы следует из не- ограниченности натурального ряда. Докажем второе утверждение. По- ставим в соответствие числу 1 произвольный элемент из М. Такой най- дется, поскольку Л/^0. Пусть мы уже сопоставили числам 1, 2, ..., п попарно различные элементы из Af. Так как М бесконечно, то оно не равномощно отрезку 1, я и потому в М найдется элемент, не сопостав- ленный ни одному из чисел 1, ..., я. Сопоставим его числу я+ 1. Таким 349—7 49
образом, каждому натуральному числу мы сопоставим определенный элемент множества М так, что разным числам будут сопоставлены раз- ные элементы. Следовательно, существует инъективное отображение N в М9 т. е. 11М|< \М или- | М |. Следствие. Любое бесконечное множество равномощно некото- рому собственному подмножеству. Действительно, по теореме 3 М содержит счетное подмножество т29 ...I. Построим отображение / множества М, положив:/(mJ = и /(а) «а для а^М\М^ Очевидно, что /-биективное отображение М на Л/\{ m J. Таким образом, свойство множества не быть равномощным никако- му собственному подмножеству является характеристическим для ко- нечных множеств. Поэтому иногда (следуя Р. Дедекинду) его принима- ют за определение конечного множества. 50
ГЛ А В A II АЛГЕБРЫ ВЫСКАЗЫВАНИЙ И ПРЕДИКАТОВ § 1. ОСНОВНЫЕ ЛОГИЧЕСКИЕ ОПЕРАЦИИ И ИХ СВОЙСТВА В математической логике изучаются высказывания и различные связи между ними. При этом понятие высказывания считается основ- ным, неопределяемым понятием. В качестве пояснения говорят лишь, что высказывание-это утверждение, относительно которого известно, истинно оно или ложно. Предполагается также, что высказывание не мо- жет быть и истинным, и ложным. В данном параграфе высказывания бу- дут обозначаться малыми латинскими буквами (возможно, с индексами). Если высказывание а истинно или ложно, то будем говорить, что оно имеет значение "И" или "Л", и писать соответственно авИ или авЛ. Таким образом, по существу, мы предполагаем, что для любого множе- ства высказываний задано его отображение в двухэлементное множест- во Q = {w, Л|. Высказывания а, Ъ, имеющие одинаковые значения, называются рав- носильными, что обозначается в виде а в Очевидно, что отношение равносильности высказываний является отношением эквивалентности на любом заданном множестве высказыва- ний Af, и потому М разбивается на два класса высказываний-на класс истинных и класс ложных высказываний. В обычной речи мы из определенных высказываний а, Ъ с помощью различных связок можем образовывать новые высказывания, например, па и д", "а или Ъ" "если а, то "неверно, что а". В математической логике эти высказывания соответственно обознача- ются в виде 7* 51
а&5, аУ Ъл а + Ъ9 а (или 1а) (1) и называются конъюнкцией, дизъюнкцией, импликацией высказываний а, Ъ и отрицанием высказывания а. При этом, во избежание двусмысленно- стей, которые нередко встречаются в обычном разговорном языке, в логике дается точное определение значений высказываний (1) в зависи- мости от значений заданных высказываний а, Ъ. Эти определения крат- ко можно записать следующим образом: а& Ъ =и <= => ан И, 5 зИ аМЪ е.1 <= => аз Л, Ъ з Л а-* Ъ аЛ <= => а = И, £ = Л а = И <= => а = Л. Все это можно записать также в виде таблицы: Таблица 1 а ъ аУЬ а-> Ъ а И и И И И л и л л и Л л л и л и И и л л л л И и В высказываниях а&&, aV& а и Ъ называются членами, или ком- понентами, соответственно конъюнкции и дизъюнкции; в высказывании а-+Ъ а называют посылкой, Ъ~ заключением импликации. Сделаем два замечания. 1. В обычной речи союз "или” используется в двух смыслах, аимен- но, различают разделительное "или” и неразделительное "или”. Дизъюнк- ция соответствует неразделительному "или”, поскольку высказывание а V Ъ истинно во всех случаях, когда истинно хотя бы одно из высказы- ваний а, Ъ, в частности, и когда истинны оба высказывания. 2. Из определения высказывания а^Ъ видно, что оно истинно всег- да, кроме случая, когда анИ, 6= Л. Это означает, что в математической логике запрещено выводить лишь из истинных посылок ложные высказы- вания. Только в этом случае ложным будет сам вывод, т. е. сама имп- ликация. Из ложного же высказывания даже правильными рассуждения- ми, т. е. путем истинной импликации, можно получить как истинное, так и ложное высказывание. В связи с этим говорят: ”Из лжи следует, что угодно”. 52
Таблица 1 может служить также определением операций &, V, на двухэлементном множестве й = {и, л|. Они называются соответст- венно конъюнкцией, дизъюнкцией, импликацией и отрицанием. Их назы- вают также основными логическими операциями. При этом прилагатель- ное "основные” означает как наиболее широкое распространение их в логике, так и тот факт, что через них естественным образом выража- ются всевозможные ^другие операции на Q (см. § 2 гл. IV). Операции &, V, обладают многими свойствами,, сходными со свой- ствами операций П, U, ' на множестве всех подмножеств произвольно- го множества. А именно: - операции &, V коммутативны, ассоциативны, идемпотентны, ди- стрибутивны одна относительно другой и связаны законами поглощения а & (а V Ъ) г а, «V (а& = — операция отрицания инволютивна (т. е. а~а) и связана с опера- циями &, V законами де Моргана а&Ъ=аУЪ> аУЬ = а&Ь и соотношениями а&а = Л, аVа =И. Отсюда следует, что множество Q = 1m, л| относительно операций &, V, является булевой алгеброй (см. определение § 4 гл. I). В ней роль 1 и 0 играют соответственно элементы и, л. Эта простейшая, двухэле- ментная булева алгебра называется алгеброй высказываний (поскольку ее элементами являются значения высказываний). Операция на Q также обладает рядом свойств, связывающих ее с другими операциями. Например, имеют место соотношения; а^Ь~Ъ-^а (закон контрапозиции), =и, аЪ^Ь^ И, а-* Ь~а V Ъ и др. В частности, последнее из выписанных соотношений выражает импликацию через дизъюнкцию и отрицание. Из соотношения а = а и законов де Моргана легко получаются рав- носильности 349-8 53
a&b=aV b, aV b^a&b, показывающие, что операции & и V могут быть выражены соответствен- но через V, ~ и &, Таким образом, при построении алгебры выска- зываний можно было бы взять всего лишь две основные операции &, . Однако в этом случае даже простейшие свойства алгебры высказыва- ний имели- бы достаточно громоздкие записи и были бы менее прозрач- ны с содержательной точки зрения. Так, свойство дистрибутивности операции & относительно V записалось бы в виде а & (ft &с ) = (#&£)& (а&с). § 2. ПРЕДИКАТЫ И ОПЕРАЦИИ НАД НИМИ В математике при изучении того или иного множества М зачастую используют предложения, содержащие символы переменных со значения- ми из М и превращающиеся в истинные или ложные высказывания при замене символов переменных элементами из Л/. Приведем примеры, взяв в качестве М множество натуральных чисел N и буквы х, у, 2 в ка- честве символов переменных. t Рассмотрим предложение "а? есть простое число", обозначив его ради краткости через р(х). Ясно, что это предложение не является высказыванием, поскольку о нем нельзя сказать, истинно оно или ложно. При а?=1 оно ложно, при а? = 2, 3-истинно, при а?« 4-ложно и т. д. Предложениелр {х) естественнее считать функцией от х, которая при каждом конкретном значении х из N становится высказыванием. Та- кие функции принято называть предикатами. Другими примерами преди- катов на множестве N могут служить предложения: 1) "а? есть число, кратное 5", 2) "Число а: не превосходит 7”, 3) "Число х имеет хотя бы один делитель", 4) "Число х удовлетворяет уравнению а?2 + а?-1 = 0", 5) "Произведение чисел а?, у больше ста", 6) "Число а; делит число у", 7) "Число г является суммой чисел а?, у", 8) "Число г заключено между числами а?, у" И т. д. По числу переменных, участвующих в предложении, различают 1-местные (или унарные) предикаты, 2-местные (или бинарные) преди- каты, 3-местные (или тернарные) предикаты и т. д. 54
В общем случае под n-местным (или n-арным) предикатом на произ- вольном множестве М понимают всякое предложение, которое содержит п различных переменных, принимающих значения из М, и превращается в высказывание при замене переменных произвольными элементами из М. В дальнейшем мы не будем исключать и случай п=0, понимая под 0-местным предикатом произвольное высказывание. n-местные предикаты, содержащие символы переменных хи ..., хП9 будем обозначать в виде ?(®1> —. *п), 9^1, — Значение а (и или Л) высказывания, получающегося при замене в предикате р(х1} ..., хп) переменных х„ ..., хп соответственно элемен- тами а19 ..., ant называют значением предиката в точке (at, ап), или при хг-аи ..., хп = ап, записывая это в виде р(а1г ап) = а. Таким образом, с каждым n-местным предикатом р на М сопостав- ляется отображение множества Мп в двухэлементное множествоQ={n, л|, или, как говорят, n-местная логическая функция. Предикат р зачастую отождествляют с сопоставляемой ему логической функцией, в связи с чем появляется возможность дать более строгое определение предика- та как отображения Мп в Q. Нам в данном параграфе будет удобнее сто- ять на менее строгой точке зрения, понимая под предикатом предложе- ние с переменными. Укажем еще на связь между понятиями n-арного предиката и п-ар- ного отношения на множестве М. По n-арному предикату р естествен- ным образом определяется n-арное отношение /?: (°» —> an)eR<^=> р(а„ ап)=и. Тем самым устанавливается взаимно однозначное соответствие между множествами всех n-арных отношений и всех n-арных предикатов на множестве М. В связи с этим множество М с системой определенных на нем пре- дикатов а называется, как и множество М с системой отношений, мо- делью сигнатуры ст и обозначается в виде М (ст). Опишем некоторые спо- собы, позволяющие получать из одних предикатов на множестве М дру- гие предикаты на том же множестве. 1. Пусть р[хи хп) - произвольный предикат на М. Заменив в нем а?! некоторым элементом аеМ, мы получим новый, (п-1)-местный преди- кат на М, который будем обозначать в виде р(а, жп), 8 55
или каким-либо иным образом/ например q(x2, ...,хп). Так, если р(х, у, з) есть трехместный предикат "х + у = г" на И, то Р(2, у, з) есть двухместный предикат "2 + у=з", который можно запи- сать также в виде предложения: "Число з на две единицы больше числа у". Аналогично новые предикаты можно получать из предиката р(хи ... ..., хп), заменяя в нем какую-либо другую переменную или даже несколь- ко переменных элементами из М. Ясно, что заменив к переменных, мы получим (п-й)-местный предикат. 2. Заменив в предикате р (х19 х2, ..., хп) при 2 xt на х2 (или, как говорят, отождествив переменные хи х2)9 мы получим новый предикат, который обозначим через у(ж2, х29 а?3, ..., а?Л). Ясно, что этот предикат уже содержит n —1 различных переменных, а по- тому является (я— 1)-местным предикатом. Например, отождествляя в предикате "х + у-з" на N переменные х, у, получим двухместный предикат пу + у~зп или п2у = зп, который можно записать также предложением: "Число з в два раза больше чис- ла у". Аналогично можно получать из предиката р(хи ..., хп) новые пре- дикаты, отождествляя какие-либо другие переменные. 3. Учитывая связь понятия предиката с понятием высказывания, можно определить логические операции для предикатов. Так, соединяя два предиката'(предложения) р, q союзом "или", мы получим новый пре- дикат, который обозначим через р V q и назовем дизъюнкцией предикатов р> 2* Если y-n-местный, а у-т-местный предикаты, а переменные, входя- щие в у, не входят в q, то у V q будет (т + п)-местным предикатом. Его значение при конкретных значениях переменных равно дизъюнкции со- ответствующих значений предикатов у, q. Аналогично определяются конъюнкция и импликация предикатов, а также отрицание предиката. 4. Кроме операций &, V, для предикатов на множестве можно определить еще логические операции навешивания кванторов всеобщно- сти и существования. Пусть у (а:) -одноместный предикат на М, т. е. предложение, содержащее переменную х, принимающую значения из А/. Построим из него новое предложение, добавив перед ним фразу "Для всех а?" и обозначив новое предложение через *»?(«). (1) Из смысла полученного предложения видно, что оно является высказы- 56
ванием, которое истинно, если предикат. р(х) принимает значение "И" при любом значении переменной х из М, и ложно, если р принимает зна- чение "л", хотя бы при одном значении х из М. Символ V называют квантором всеобщности и говорят, что высказывание (1) получено из предиката р(х) навешиванием квантора всеобщности по переменной ®. Рассмотрим теперь n-местный предикат р(х1г ..., на множестве М. Добавив к нему фразу "Для всех х” или "Для всякого х”, получим новое предложение, которое обозначим в виде V®1?(®1, хп). (2) Из построения этого предложения видно, что при замене в нем перемен- ных z2, хп соответственно элементами а2, ап е М получится выска- зывание аЛ), которое истинно в том и только том случае, когда высказывание р(а> а2» •••> ап) истинно при любом аеМ. Таким образом, (2) является (п- 1)-местным предикатом. Говорят, что он получен из предиката р навешиванием квантора всеобщности по переменной Понятно, что квантор V можно навешивать и по другим переменным. Добавляя перед предикатом р(хи яЛ), как предложением с пере- менными х„ ..., хп, фразу "Существует х„ такое, что", мы получим но- вое предложение, которое обозначают в виде 3®tp(®u ®п). (3) Подставив в него элементы аи ..., ап вместо хг, хп, получим выска- зывание 3®lp(®i, а„), которое истинно в том и только том случае, когда высказывание р (а, а2, ..., ап) истинно хотя бы при одном а из Af. Следовательно, предложе- ние (3) есть (п- 1)-местный предикат на М. Символ 3 называется квантором существования, а о предложении (3) говорят, что оно получено из предиката р(хи хп) навешиванием квантора существования по переменной Квантор существования мож- но навешивать и по другим переменным. Приведем примеры. Пусть р(х, у) есть предикат на множестве N: "ж делит у”. Тогда предложение Vyp(a?, у) зависит только от перемен- ной ж. При = 1 оно принимает значение "и", поскольку 1 делит любое натуральное число. При любом другом значении х из N оно принимает значение "л". Предложение Чхр(х9 у) зависит только от переменной у и принима- ет значение "л" при любом значении у, поскольку в N не существует 'чисел, делящихся на все натуральные числа. 5*7
Нетрудно видеть, что предложения Зхр(х> у) и Зур(х9 у), зависящие соответственно от у и а?, принимают значения "И” при любых значениях указанных переменных. С помощью рассмотренных выше способов можно из некоторой ис- ходной системы предикатов на множестве М получать все новые и но- вые предикаты, записываемые в виде различных выражений через ис- ходные предикаты, символы переменных, элементов из М9 логических связок &, V, , V, Э и служебных символов - скобок и запятых. Та- кие выражения называются формулами. Ниже будет дано точное (индук- тивное) определение формулы. § 3. ФОРМУЛЫ АЛГЕБРЫ ПРЕДИКАТОВ Формулы будут определяться как строчки некоторых символов, или, как говорят, слова в некотором алфавите. Алфавитом называют произвольное множество попарно различных символов, допускающих такую запись, по которой однозначно восста- навливаются сами символы. Обычно символ отождествляется с любой своей записью, в связи с чем символы алфавита называют также его буквами. В математике в качестве символов зачастую используются изображения букв латинского и других алфавитов, изображения цифр, изображения букв с индексами, символы операций +, •, -, © и др. Если Л = { аи а2, ..., ап\ - алфавит, то любая конечная последова- тельность ai“i2 ••• <Н 12 т его букв называется словом в алфавите Л. При этом число т называет- ся длиной слова. Длина слова Р обозначается в виде ЦР). Для удобст- ва в рассуждениях вводится еще символ А для обозначения пустого; слова, т. е. слова, не содержащего нц одной буквы. По определению Z(A) = O. Так как слово есть конечная последовательность букв, то можно все буквы в слове естественным образом занумеровать и говорить о 1-й, 2-й и т. д. буквах слова. Обычно слова записывают в строчки, а буквы в них нумеруют слева направо. Два слова называются равными, или графически равными, если они имеют одинаковую длину и соответ- ствующие их буквы равны. Равенство слов будем обозначать знаком =. Множество всех слов и всех слов длины т в алфавите А обозначим со- ответственно через И7 (Л) и Wт (Л). На множестве W (Л) можно ввести операцию умножения (или припи- сывания) слов, взяв в качестве произведения слов Р> Q слово PQ, полу- ченное приписыванием слова Q справа к слову Р. 58
Говорят, что слово Р является подсловом слова Q, если существуют та- кие слова L, R (возможно пустые), что Q-LPR. В этом случае говорят также, что слово Р входит, или имеет вхожде- ние, в слово Q. Может оказаться, что указанная выше пара слов L, R находится по словам Р и Q неоднозначно. Выпишем все такие различ- ные пары слов (Li9 R^ и упорядочим их по возрастанию длины слова Z^. Получим: Q = LJ^R^ L2PR2= ... ~LSPRS. В этом случае говорят, что имеется з вхождений слова Р в слово Q и все эти вхождения упорядочивают по возрастанию длины слова В со- ответствии с этим говорят о 1-м, 2-м и т. д. вхождениях слова Р в Q. Например, слово ’’арарат” содержит два вхождения слова "ара". В сле- дующей записи 1-е и 2-е вхождения слово "ара" подчеркнуты соответ- ственно одной и двумя черточками снизу: "арарат". Перейдем теперь к определению формул алгебры предикатов на ал- гебраической системе И (ст). Сигнатуру ст представим в виде объедине- ния ст = ст111ст2, где ст1-множество символов операций, а ст2-непустое множество символов предикатов на М. В частности, множество стх мо- жет быть и пустым. Обозначим через ст0 подмножество из стх обозначе- ний всех нуль-арных операций, т. е. выделенных элементов множества М. Оно может быть любым подмножеством из М. При определении фор- мулы в качестве обозначений будут использоваться различные буквы (возможно, с индексами): а3 Ь3 с для элементов из ст0; <р, у для эле- ментов из стх; р, q для элементов из ст2. Кроме того, будут использо- ваться: множество X символов предметных переменных со значениями из М, обозначаемых буквами х, у, г, и, v (возможно, с индексами);, мно- жество О логических операций & , V, 1, V, 3 и служебных символов — скобок и запятых. Таким образом, алфавитом при построении формул будет служить множество A = ctUJU(9. В конкретных примерах для операций и предикатов будут использовать- ся также общепринятые обозначения: +, е, •, =*, < и т. д. Определим предварительно понятие терма на системе М (ст). Определение 1. 1. Каждый символ переменного из X или константы из ст0 есть терм. 59
2» Если /-символ n-арной операции из ст и tu ..., £п-термы, то слово f(tlf ..., £Л) есть терм. 3. Других термов нет. Таким образом, множество термов для М (и) есть минимальное под» множество слов в алфавите й, содержащее множество ст, UX и замкну- тое относительно образования слов по правилу 2. Если вместо перемен- ных из X в терм t подставить элементы из И и произвести все указан- ные в t операции, то мы получим элемент из М, называемый значением терма t. Следовательно, терм t определяет функцию на М, зависящую от тех переменных, которые входят в t. Так, если if«N ист«|0, 1,+, *1, то термами могут быть представлены все многочлены над N. Теперь определим понятие формулы. В формулах нам необходимо будет различать свободные и связанные вхождения переменных. Эти по- нятия удобнее определить параллельно с определением формулы. Определение 2. 1. Любой символ нуль-местного предиката из ст есть формула. 2. Если р—символ n-местного предиката из ст, a tu ..., tn — термы, то слово р(4п tn) есть формула. Формулы, определенные в пунктах 1—2, называются элементарны- ми. Все вхождения переменных в элементарные формулы называются свободными. 3. Если А и В- формулы, то слова (Л) 6с (В), (4) V(B), (4)-*(В), 1 (4) * также являются формулами. В них каждое вхождение переменной явля- ется вхождением в формулу 4 или В и считается таким же (свободным или связанным), каким оно было соответственно в 4 или В. 4. Если 4 - формула, в которой есть свободное вхождение пере- менной х^, то слова и Эа^(4) являются формулами, в которых все вхождения переменных, отличных от xit называются так же, как и в 4, а все вхождения переменной х^ на- зываются связанными. При этом формула 4 называется областью дей- ствия записанного перед ней квантора V или 3 по переменной х^ 5. Других формул нет. Замечание. В приведенном определении формулы на алгебраичес- кой системе М (ст) от М, по существу, использовалось лишь множество выделенных элементов ст0. Поэтому формулу М (ст) можно рассматривать такж1 и как формулу на любой другой алгебраической системе сигнату- ры ст. В связи с этим формулы на алгебраической системе М (ст) называ- ют просто формулами алгебры предикатов сигнатуры ст. * Как и ранее, дальше вместо 1 (4) будем писать (4). 60
Число всех логических операций, участвующих в записи формулы А, назовем рангом формулы А и обозначим через т (4). В частности, г(4)=0 в том и только том случае, когда 4 — элементарная формула. Рассмотрим пример. Пусть р1} р2~ символы двухместных предика- тов. Тогда выражение ^х))> V (1) есть формула, поскольку рг(х2, р2(х29 х2) являются формулами по пункту 2, это элементарные формулы. Тогда (р2 (х19 х2)) есть формула по пункту 3, Зх1(рл(х29х1)] и Vx2((p2(xu х2))) есть формулы по пункту 4, далее (За?х (Pi (х29 xt))) V (Va?2 ((р2 (хи х2)))) есть формула по пункту 3. В ней последнее вхождение а?х свободно, а потому (1) есть формула по пункту 4. Заметим, что в формуле (1) все вхождения переменной xt связан- ные, первое вхождение переменной х2 свободно, остальные-связанные. Число скобок при записи формулы можно уменьшить, если усло- виться: 1) не заключать в скобки элементарные формулы; 2) не заключать в скобки формулу, над которой находится знак от- рицания; 3) считать, что операция & сильнее V, обе эти операции сильнее операции а операции навешивания кванторов сильнее всех других опе- раций; 4) не заключать в скобки большие латинские буквы, являющиеся обозначениями формул; 5) опускать скобки в формулах вида (...((41&42)&48) .--)&4л, (...((4xV42)V43) ••) V4*; 6) записывать формулу 6^ (62а?2 (• • • (6^а?^4) • • •)) с кванторами 61, ..., Б|. в виде бха?1б2а?2 ... 5^4 и в виде бхя?х, х29 ..., хкА при совпа- дении кванторов бх, ..., б^. При указанных соглашениях формулу (1) можно записать в виде Va?x (За?х рх (а?2, я?х) V Va?2 р2 (х19 а?2)). В дальнейшем для сокращения иногда будем опускать знак & , т. е. вместо 4& В писать АВ. Если 4 —формула сигнатуры а, то любое ее подслово, являющееся формулой, называют подформулой формулы 4. Подробнее понятие под- формулы можно определить индукцией по рангу формулы. 61
Определение 3, 1. Подформулой элементарной формулы А называется лишь сама формула А. 2. Подформулами любой формулы вида АВ, AVB, А-*В называются сама эта формула и все подформулы формул АиВ. 3. Подформулами любой формулы вида A, Va?A, ЧхА называются сама эта формула и все подформулы формулы А. Пользуясь определением 3, нетрудно выписать все подформулы лю- бой заданной формулы. Так, подформулами формулы (1) будут сама она и формулы: Р\ (Х2> Хх)» Р1{хх» X2$f ^ХхРх(Х2> Хх) > Plfoxt Х 2$ 9 V&2Р2(Хх2^9 3 xiPx(^2> ^i) V Vxtp2(xu а?2). Из рассмотренных в § 2 правил получения предикатов на множест- ве М из заданных предикатов видно, что любая формула А алгебры пре- дикатов сигнатуры а является предикатом на алгебраической системе М (ст), зависящим лишь от тех предметных переменных, которые имеют свободные вхождения в А. Если такими переменными являются хг, ... •••> хп> то формулу А иногда записывают в виде А (х19 ..., хп). Заменив свободные вхождения переменных в формуле А элементами из М (оди- наковыми для всех вхождений одной переменной), мы получим высказы- вание, значение которого можно вычислить, исходя из значений элемен- тарных высказываний и используя определения логических операций. Значения этих высказываний называются значениями формулы А на М (ст) при соответствующих значениях переменных. Определение 4. Формула А алгебры предикатов сигнатуры ст на- зывается выполнимой на алгебраической системе М (ст), если она прини- мает значение "И" хотя бы при одном наборе значений из М для пере- менных, имеющих свободные вхождения в А, В противном случае фор- мула А называется ложной на М (ст). Формула А называется истинной на М (ст), если она принимает значение "и” при любых наборах значений из М для переменных, имеющих свободные вхождения в А. Определение 5» Формула алгебры предикатов сигнатуры ст назы- вается выполнимой, тождественно истинной или тождественно ложной, если она соответственно выполнима хотя бы на одной алгебраической системе, истинна на всех системах или ложна на всех системах сигна- туры ст. 62
Тождественную истинность (ложность) формулы А обозначают в ви- де А*и (А = Л). Примеры. 1. А->(£-*А)^и для любых формул А, В. 2. АВ^А=Л для любых формул А, В. 3. Формула х2х~^х^х29 »3((а?1 = а?2а?э)-*(а?1 = »2) 7(0?! = »,)) (2) выполнима, но не истинна на алгебраической системе N (• ; =). Легко видеть, что она зависит лишь от xt и принимает истинное значение в том и только том случае, когда значением переменной хх является про- стоечисло. 4. Формула V xl9 х2 (хгх2 = x2xt) (3) выполнима, так как она выполнима, например, на системе N (• ; =). Од- нако она не тождественно истинна, поскольку существуют алгебраичес- кие системы с некоммутативной операцией умножения. Пример 3 показывает, что формулами алгебры предикатов можно записывать те или иные свойства элементов алгебраических систем, или характеризовать те или иные подмножества ее основного множест- ва или множества наборов ее элементов. Так формула (2) характеризует множество всех простых чисел. Фор- мула З2?2(а?1а?2 = ^3) характеризует множество пар натуральных чисел, из которых 1-е число делит 2-е, т. е. отношение делимости на N. Пример 4 показывает, что формулы алгебры предикатов сигнатуры о могут быть использованы для характеризации алгебраических систем сигнатуры ст. Формула (3) выделяет класс алгебраических систем с ком- мутативной операцией умножения, если под равенством = понимать от- ношение (предикат) совпадения элементов множества (подробнее об этом см. § 5 гл. III). Зачастую запись свойства с помощью формулы является более ко- роткой, а главное, более прозрачной по сравнению со словесной. Этим и объясняется широкое использование языка алгебры предикатов в самых различных областях математики. При этом, кроме указанных здесь, до- пускаются различные другие упрощения в записях формул. Так, усло- вие непрерывности функции f(x) в точке xQ записывают в виде формулы Ve> 0 36> 0 (| а?-аг01 < 5 |/(а?)-/(а?0) | < £)• 63
§ 4. РАВНОСИЛЬНОСТЬ ФОРМУЛ. ОСНОВНЫЕ СООТНОШЕНИЯ РАВНОСИЛЬНОСТИ Определение 1. Формулы А, В алгебры предикатов сигнатуры ст называются равносильными на алгебраической системе М (ст), если они принимают на М (ст) одинаковые значения при любом наборе значений предметных переменных, имеющих свободные вхождения в А или В. Из определения 1 видно, что равносильность тех или иных формул сигнатуры ст зависит от свойств алгебраической* системы М (ст). Напри- мер, формулы V хА и ЗхА равносильны на любой одноэлементной си- стеме, однако не равносильны в общем случае. Можно привести и менее тривиальные примеры. Изучение равносильностей, имеющих место для отдельных конкретных алгебраических систем, не отвечает целям и за- дачам математической логики, как науки об общих закономерностях в рассуждениях. В связи с этим более ценным является следующее поня- тие равносильности. Определение 2. Формулы алгебры предикатов сигнатуры ст на- зываются равносильными, если они равносильны на любой алгебраичес- кой системе сигнатуры ст. Равносильность формул А, В, как и равносильность высказываний, будем обозначать в виде А = В. Отметим следующие очевидные свойства равносильности формул. 1. Отношение равносильности формул является отношением эквива- лентности на множестве всех формул сигнатуры ст, и, следовательно, все указанные формулы разбиваются на классы равносильных формул. 2. Если формула А9 получена из А заменой некоторой подформулы В равносильной ей формулой В1, то А'=А. Приведем примеры равносильностей, называемых иногда основны- ми равносильностями алгебры предикатов. 1. АВ&ВА 2. АУВ^ВУА J 3. (АВ) С^ А (ВС) 4. (А У В)У С = АУ ($У С) J 5. А(ВУС) = АВУАС > 6.АУВС~(АУВ)(АУ£)] 7.А(АУВ)^Ау Ъ.АУАВ = А ] 9.АА = А (10. AVAsA J 11. АВ =А 12. A VBbABJ 13. А-ВнВ-А 14. X s А 15. AVAsH законы коммутативности; законы ассоциативности; законы дистрибутивности; законы поглощения; законы идемпотентности; законы де Моргана; закон контрапозиции; закон двойного отрицания; закон исключенного третьего; 64
16. А&. А =л 1?. (А-в)&(В-С)-»(4-(7)«И '18. VarVyAsVy V xA\ 19. 3 ж Э y4 s 3 у 3 a>4 J 20. УжЯ-ЗжД) 21. ЗхА = УхА J закон противоречия; правило силлогизма; правила перестановки одноименных кванторов; правила отрицания кванторов; 22. Ул (4& В) = Vz4& Ужй') законы дистрибутивности кванторов 23. 3*(4VB)^3*4V3tf5 V’ 3 относительн<> операций & иУ / _ J (соответственно); (24. А^В^А VB; 6да4 *В = 6да(4 *#), где 5 - квантор V или 3, * - операция & или V и Формула В не содержит свободных вхождений да; 26. 5да4 (да) ~ 5у4 (у), где 5 - квантор V или 3, А (да) - формула, не со- держащая свободных вхождений буквы у, а А (у) - формула, полученная из А (да) заменой всех свободных вхождений да на у. Перечисленные равносильности являются следствиями свойств ло- гических операций, а потому имеют место для любых систем. В связи с этим их называют основными законами логики предикатов. Они посто- янно (явно или неявно) используются при доказательствах утверждений во всех разделах математики. Так, зачастую вместо теоремы вида А->В доказывается равносиль- ное ей утверждение В->А . При этом используется закон контрапозиции 13. Закон исключенного третьего 15 обычно используется при доказа- тельствах от противного, когда для доказательства теоремы А опровер- гают утверждение А и отсюда на основании равносильности A У4=и де- лают вывод об истинности 4. Правило силлогизма 17 позволяет сводить доказательство теоремы вида 4-*67 к доказательству цепочки более простых утверждений, например, 4-* В, В-+С. С другой стороны, в доказательствах иногда допускаются ошибки, состоящие в замене утверждения не равносильным ему предложением. Так, по аналогии с равносильностями 18-19, разрешающими перестав- лять одноименные кванторы, иногда переставляют и разноименные кванторы. Этого делать нельзя, поскольку в общем случае формулы вида V да 3 у А и 3 у V да4 (1) не равносильны. Например, формула УдаЗу(#< у) истинна на N, а фор- мула 3 у V х (х < у) ложна. Аналогичные ошибки допускаются с использованием правила дист- рибутивности кванторов V и 3 относительно операций V и & (соответст- венно). Покажите в качестве упражнения, что формулы Уда (4 VF) и Уда4 УУдаЯ, 349-9 65
а также формулы В х (4 & В) и Э хА & 3 хВ в общем случае не равносильны. Заметим, что равносильность формул А, В эквивалентна истинно- сти формулы (АВ) к (ВА) или двух формул А+В, В+А. Однако практически зачастую бывает так, что из двух последних фор- мул истинна только одна. Так, приведенные выше формулы (1) в общем случае не равносильны, но формула 3yVo?4 -*УхЗуА истинна на любой алгебраической системе. Если формула А-*В истинна на системе М (ст), то при любом наборе значений предметных переменных, имеющих свободные вхождения в формулу А-*В9 формула В принимает истинное значение всякий раз, когда истинным является значение 4. В связи с этим говорят, что фор- мула В является следствием формулы 4. Свойства отношения логического следования формулы из формул также широко используются при доказательствах. Подробно об этом бу- дет говориться в главе III. В рассуждениях при доказательствах иногда используется также известный в математической логике принцип двойственности. Определение 3. Пусть 4- формула алгебры предикатов, не со- держащая операции Формула, полученная из 4 заменой всех вхожде- ний V на & , & на V, V на 3 и 3 на V, называется двойственной к 4 и обозначается через 4*. Очевидно, что (4*)* = 4, и потому формулы 4 и 4* называются двой- ственными. Двойственными называются и взаимозаменяемые операции V и &, а также кванторы V и 3. Теорема 1» Пусть 4-формула алгебры предикатов и ри ..., ps суть все различные элементарные подформулы в 4, т. е. 4 = Л(Р1, ..., ps). Тогда имеет место равносильность формул: ?S) = A (р„ ps). 66
Доказательство. Докажем теорему индукцией по рангу г фор- мулы 4. При г = 0, ее утверждение верно. Допустим, что оно верно для любой формулы ранга п и пусть г(Л) = п+1. Возможны следующие 5 случаев: А = АХМ А2, А = ЧхА„ Л = За?Ли A = Ai9 1. Л = ЛХ& Л2. Тогда, используя предположение индукции, закон де Моргана 11 и общие свойства равносильности, получим: 4*(Р„ ?S) = A*(P1> ..., Ps)VAt(?i> ?5)э ^AAPi, >->PsY'l Aid»!, •> PsY^A(pu Ps). В трех следующих случаях рассуждения аналогичны. Вместо равно- сильности 11 в них используются соответственно равносильности 12, 20, 21. В последнем случае утверждение теоремы следует непосредствен- но из предположения индукции. Теорема доказана. Следствие 1. (Принцип двойственности.) Для любых формул А, В алгебры предикатов: * А з В <=> А* = В*. Принцип двойственности позволяет вместо двух равносильностей А = В и Л*нВ* доказывать лишь любую одну из них. § 5. ИСПОЛЬЗОВАНИЕ РАВНОСИЛЬНОСТЕЙ ДЛЯ УПРОЩЕНИЯ ФОРМУЛ Равносильности 1-26 зачастую используются также для преобразо- вания формул к равносильным им формулам нужного вида. В качестве примеров рассмотрим преобразование формул алгебры предикатов к так называемым приведённым и предваренным формулам. Определение 1. Формула алгебры предикатов называется при- веденной, если в ней не используется операция а отрицание или не используется совсем, или относится лишь к элементарным формулам. Определение 2. Предварённой (или нормальной, или пренексной) формулой алгебры предикатов называется любая формула вида 5>а’г.52% — (!) *2 к где 5и ..., 5^-кванторы, а А приведенная формула, не содержащая кванторов. 9* 67
Теорема 1. Для всякой формулы А алгебры предикатов сущест- вует равносильная ей приведенная формула. Докажем теорему индукцией по рангу г (Л) формулы Л. Если г(Л)=0, то утверждение верно. Пусть г(Л)> 0. Тогда по определению формулы Л совпадает с одной из формул вида Л1&Л2э ЛХУЛ2, 6а?Лх, ЛХ-»Л2, Лх. (2) По предположению индукции формулы Аи Л2 равносильны приведенным формулам. Заменив ими в (2) формулы Лх, Л2, мы в трех первых случа- ях сразу получим приведенные формулы. А так как ЛХ->Л2^Л^\/Л2 (см. равносильность 24), то остается рассмотреть случай, когда Л = ЛХ. Ес- ли Л элементарна, то.Л-приведенная формула. Если же Лt не элемен- тарна, то она может иметь вид #Х&Я2, В^В29 ЬхВ19 В^В2> В„ • где г г (Л)-2. Тогда по свойствам равносильности 11, 12, 20, 21, 24, 14 формула Л равносильна одной из формул: _ _ _ _ _ - Вх V В2, Вх & В2, 5*а?Вх, Вх & В2, Ви (3) где 5* — квантор, двойственный к 6. Остается применить предположение индукции к формулам Вх, Вх, В2 и заменить их в (3) приведенными формулами. Теорема 2. Для всякой формулы Л алгебры предикатов существу- ет равносильная ей предварённая формула. Доказательство. По теореме 1, не теряя общности, можно счи- тать, что Л - приведенная формула. Снова применим индукцию по г(Л). Для г(Л) = 0 утверждение верно. Пусть г(Л)> 0. Тогда формула Л может иметь вид 1) Л х & Л 2 2) Лх V Л2, 3) 6яЛх, 4) Лх, I причем в случае 4 Лх-элементарная формула и для нее утверждение теоремы верно. Рассмотрим случаи 1—3. 1. Л«ЛХ& Л2. По предположению индукции Ai равносильна предва- рённой формуле В^9 г=1, 2, причем согласно равносильности 26 связан- ные переменные любой из формул Ви В2 можно считать отличными от всех переменных другой формулы. Таким образом,Л = ВХ & В2, где мож- но считать Вх»510?1 ... ^foXfoC В2 = 6^+ j + 1 ••• §пХпС29 х19 •••> хк не входят в С2, + хп не входят в и формулы Си С2 не содержат кванторов. Отсюда, используя равносильность 25, получим 68
4 = 51а?1 ••• +j ... 5na?ft (С\ & CJ. i 2) 4 = 4XVА29 рассуждения двойственны. 3)4 = 50:4^ По предположению индукции А2 равносильна приведен- ной формуле ... ЪкхкВ, (4) причем можно считать, что х£хи ..., хк. Возможны два подслучая: а) В содержит свободные вхождения х. Тогда равносильна пред- варённой формуле ... 8кхкВ; б) В не содержит свободных вхождений х. Тогда из равносильности С4\ледует, что значения формулы 4Г не зависят от значений переменной х9 а потому 4 = 4Х и теорема доказана. § 6. ФОРМУЛЫ АЛГЕБРЫ ВЫСКАЗЫВАНИЙ Если сигнатура ст содержит непустое множество символов нуль-ар- ных предикатов, то, применяя к ним лишь пункты 1 и 3 определения фор- мулы предикатов, мы получим множество формул, называемых форму- лами алгебры высказываний. По определению предикатов нуль-арный предикат является просто высказыванием, и, значит, формулы алгебры высказываний составлены только из высказываний с помощью логичес- ких операций &, V, . Отсюда происходит и сам термин "формула ал- гебры высказываний". Такие формулы широко используются при кон- струировании различных кибернетических устройств (в частности, ЭВМ) и потому заслуживают специального рассмотрения. В данном параграфе мы будем рассматривать формулы лишь алгеб- ры высказываний. В связи с этим будем предполагать, что сигнатура ст состоит целиком из символов нуль-арных предикатов р„ р3, ... Фор- мулу 4 составленную из символов р19 рП9 будем обозначать иногда в виде А (р„ Рп). В соответствии с определением 2 § 5 формулы А, В алгебры выска- зываний являются равносильными, если они имеют одинаковые значения ("и" или "Л") на произвольной алгебраической системе сигнатуры ст. Од- нако алгебраическую систему можно определить так, чтобы нуль-арные предикаты из ст принимали на ней любые наперед заданные значения. Следовательно, формулы 4, В алгебры высказываний следует считать равносильными, если они принимают одинаковые значения при любых значениях входящих в них предикатов. Таким образом, нуль-арные преди- каты выступают здесь как переменные со значениями "И" и "Л". А так 349—10 69
как в формулах алгебры высказываний никаких других переменных нет, то участвующие в них символы нуль-арных предикатов, не боясь путани- цы, будем называть переменными. Определение 1. Формула А алгебры высказываний называется выполнимой, если она принимает значение "и" хотя бы на одном наборе значений содержащихся в ней переменных. В противном случае она на- зывается тождественно ложной, что обозначается в виде А = Л. Определение 2. Формула А алгебры высказываний называется тождественно истинной, или тавтологией, если она принимает значение "и" при любых значениях переменных. Обозначается это в виде Л=и. Для формул алгебры высказываний остаются в силе все свойства и соотношения (без кванторов) равносильности, приведенные в § 5 для формул алгебры предикатов. В частности, любая формула алгебры вы- сказываний равносильна приведенной формуле. Укажем еще несколько формул специального вида, к которым мо- гут приводиться формулы алгебры высказываний. 4 Для удобста записей введем для реет, аб{0, 11 обозначение (р при а= 1; р при а=0. Определение 3. Формулы вида <*1 «2 ак а11/ а2 р. р. ... р. и®. Чр. V... V?. Ч г2 г2 Ък называются соответственно элементарной конъюнкцией и элементарной дизъюнкцией. Определение 4. Формула называется дизъюнктивной нормальной формой (ДНФ), если она является; дизъюнкцией элементарных конъюн- кций. Двойственным образом определяется конъюнктивная нормальная форма. Теорема 1. Для всякой формулы А алгебры высказываний суще- ствуют равносильные ей дизъюнктивная и конъюнктивная нормальные формы (ДНФ и КНФ формулы 4). Доказательство. Не теряя общности, будем считать, что фор- мула Л приведенная. Докажем теорему индукцией по длине ?(Л) форму- лы Л (т. е. по общему числу элементарных подформул формулы Л). Если ЦА)~ 1, то утверждение очевидно. Пусть /(Л)> 1. Так как Л приведенная, то Л = ЛХЛ2 или Л»Л1\/Л2. По предположению индукции имеем: п ш f s Лх=н V л = & В t А2 s V A2j == & В 2j, 1=1 7 = 1 70
где А- - элементарные конъюнкции, а - элементарные дизъюнкции. Если A-AtA2f то А равносильна КНФ т s (& ^и)(& *2;), i - 1 j = 1 а применяя закон дистрибутивности конъюнкции относительно дизъюнк- ции, получим и ДНФ: п г п г v 4ti)( V А2/)= V V Ми42у). г = 1 ) sx 1 г = 1 j = 1 В случае А = АгУА2 рассуждения двойственны. Заметим, что доказательство теоремы 1 указывает и сам алгоритм нахождения ДНФ и КНФ любой формулы А. Сначала нужно найти равно- сильную А приведенную формулу, а затем, пользуясь дистрибутивным законом, приводить к ДНФ (КНФ) все подформулы полученной формулы, начиная с подформул меньшего ранга. Пример. Найти / х \ КНФ для формулы A^plp2^(pi^p2)(p2^pt). (1) Сначала, пользуясь равносильностями 24 и 11, найдем приведенную фор- мулу, равносильную А: А' = р. V V(pt V р2) (р2 V р2). Воспользовавшись законом дистрибутивности дизъюнкции относительно конъюнкции, получим искомую КНФ: А = (Fl v р2 V pt V р2) (р, V р2 V р2 V pt). (2) По ДНФ и КНФ для формулы можно распознавать тождественную истин- ность или ложность формулы А. Теорема 2. Формула А является тождественно истинной тогда и только тогда, когда в каждую элементарную дизъюнкцию любой ее КНФ входят какое-либо переменное р^ и его отрицание к Доказательство. Пусть & А^ — какая-либо КНФ для формулы i~ 1 А и каждая элементарная дизъюнкция А^ содержит пару подформул ви- да Pj> ’pj . Так как операция V коммутативна и pj V р} =и, то А^вИ при а потому и А-И. 10* 71
Обратно, пусть Л нИ и & А^- КНФ для А. Тогда & А^=и, и по i—i г®1 определению операции & А^ = и при г€1, к. Допустим, что в некоторой элементарной дизъюнкции Ai нет пары подформул вида р$, Pj. Тогда, придавая переменным, входящим в Ai без отрицания, значение "л", а остальным-значение ”им, получим ложное высказывание. Следователь- но, А^ и, а потому и А^и, что противоречит условию. В силу принципа двойственности имеет место утверждение, двойст- венное к теореме 2. Теорема 3. Формула тождественно ложна тогда и только тогда, когда в каждую элементарную конъюнкцию любой ее ДНФ входят какое- либо переменное и его отрицание. Например, формула (1) тождественно истинна, поскольку ее КНФ (2) удовлетворяет условию теоремы 2. Заметим, что ДНФ и КНФ для любой заданной формулы находятся неоднозначно. Так, КНФ (2) равносильна, отличной от нее КНФ (p2Vp2) (рУ'р^. В связи с этим представляют интерес так называемые совершенные ДНФ и КНФ. Определение 5. Совершенной дизъюнктивной нормальной фор- мой от переменных ри рп называется такая ДНФ, в которой все эле- ментарные конъюнкции различны и каждая из них имеет вид рх р2 „.р . Двойственным образом определяется совершенная КНФ. п Докажите в качестве упражнения следующее утверждение. Теорема 4. Для всякой формулы А (pw рп)£л (А(ри ..., рп)&) существует единственная эквивалентная ей совершенная ДНФ (КНФ) от переменных р„ рп. 72
Г Л A В A III ИСЧИСЛЕНИЕ ПРЕДИКАТОВ § 1. ОБЩЕЕ ПОНЯТИЕ О ЛОГИЧЕСКОМ ИСЧИСЛЕНИИ В настоящее время большинство математических теорий строится дедуктивно. В основу теории кладется какое-либо достаточно хорошо обозримое множество основных понятий и утверждений, называемых ак- сиомами. Все остальные понятия определяются через основные или уже до этого определенные понятия, а все утверждения теории выводятся, как говорят, логически из аксиом или уже до Этого доказанных утверж- дений. В любой такой теории естественно возникают вопросы: всякое ли утверждение, сформулированное в терминах данной теории, можно дока- зать или опровергнуть (вопрос о полноте), нельзя ли в ней доказать ка- кое-либо утверждение и его отрицание (вопрос о непротиворечивости) и др. Такие вопросы можно считать корректными лишь в том случае, если будут точно определены понятие утверждения, сформулированного в тер- минах данной теории, и понятие доказательства. В ответ на такие пот- ребности математики и возникли различные логические исчисления, призванные формализовать те или иные фрагменты математических теорий, а также доказательства в этих теориях. Каждое логическое исчисление характеризуется: 1) набором используемых в нем символов, или алфавитом; 2) правилами построения из алфавита осмысленных утвержде- ний, или формул; 3) некоторым фиксированным набором формул, называемым систе- мой аксиом; 4) набором правил, позволяющих выводить одни утверждения из дру- гих, называемых правилами вывода. Алфавит, правила образования формул и само множество формул образуют язык исчисления, а правила преобразования формул-его синтак- сис. Язык логического исчисления должен выбираться так, чтобы с его помощью можно было записать, или формализовать, возможно большее число утверждений. Разные формальные языки отличаются друг от дру- 73
га широтой охвата формализуемых в них утверждений, или выразитель- ностью, а также ориентацией на изучение той или иной теории. Аксиомы и правила вывода логического исчисления позволяют выде- лить из множества всех формул так называемые доказуемые формулы, или теоремы. К ним относятся все аксиомы, а также формулы, которые могут быть получены из аксиом с помощью правил вывода. Если исчис- ление создается для обслуживания какой-либо математической теории, то естественно требовать, чтобы все доказуемые в нем формулы были формализацией истинных утверждений теории. Этот фактор должен на- кладывать определенные ограничения на выбор аксиом и правил вывода исчисления. В то же время набор аксиом и правил вывода должен быть достаточно богатым, чтобы с его помощью можно было доказать воз- можно большее число истинных утверждений теории. Отметим еще один момент, связанный с выбором языка, аксиом и правил вывода логического исчисления. Логическое исчисление призвано, как правило, обслуживать не одну конкретную математическую теорию, а достаточно широкий класс теорий, В связи с этим в качестве аксиом такого исчисления должны выбираться формулы, отражающие утвержде- ния, истинные в любой теории из обслуживаемого класса. Аналогично и правила вывода должны из истинных утверждений приводить к утверж- дениям, истинным во всех этих теориях. Правила, определяющие содержательный смысл формул исчисления, и соответствие между понятиями доказуемости и истинности формул составляют предмет так называемой семантики логического исчисле- ния. Ниже мы рассмотрим один класс наиболее широко распространен-* ных исчислений, называемых исчислениями предикатов 1-й ступени. § 2. ПОСТРОЕНИЕ ИСЧИСЛЕНИЯ ПРЕДИКАТОВ 1. Язык исчисления предикатов В качестве алфавита исчисления предикатов возьмем то же самое множество й = ст UXU О, которое служило алфавитом при определении формул алгебры предика- тов. За элементами множеств ст, Хи 0 сохраним те же самые обозначе- ния и названия, хотя здесь на все буквы алфавита Й мы должны пока смотреть просто как на символы, не имеющие какого-либо содержа- тельного смысла. Например, символ операции f здесь не обозначает ка- кую-либо конкретную операцию, определенную на каком-либо конкретном множестве. То же относится и к символам предикатов. Термины же "символ операции” и "символ предиката" объясняются тем, что в прило- жениях исчисления предикатов к конкретным математическим теориям мы будем трактовать их (интерпретировать) как операции и предикаты 74
на конкретном множестве- Аналогично, предметным переменным будут придаваться значения из этого Множества- Понятия терма и формулы сигнатуры а в исчислении предикатов определяются буквально так же, как в алгебре предикатов (см. опреде- ления 1-2, § 3, гл. II ). Равенство формул, как и в алгебре предикатов, будем обозначать знаком =. Из множества всех формул ниже особую роль будут играть форму- лы, не содержащие свободных вхождений предметных переменных. Они называются замкнутыми формулами, или предложениями. Таким образом, нами полностью определен язык исчисления преди- катов 1-й ступени сигнатуры о. Обозначим его буквой £. При записи формул языка £ будут использоваться те же правила сокращения числа скобок, что и в алгебре предикатов. Заметим, что кроме исчисления предикатов 1-й ступени в математи- ческой логике и в теории моделей рассматриваются исчисления предика- тов и логические языки 2-й ступени. В их алфавиты кроме перечисленных выше символов вводятся также символы функциональных и предикатных переменных и кванторы V, 3 могут навешиваться не только на предмет- ные переменные, но и на функциональные переменные и предикатные переменные. 2. Аксиомы и правила вывода исчисления предикатов При построении исчисления предикатов с определенным выше язы- ком £ аксиомы и правила вывода могут выбираться по-разному. Мы вы- берем систему аксиом из [6]. Аксиомы этой системы по используемым в них логическим операциям делятся на 5 подсистем, которые мы зану- меруем римскими цифрами. В подсистемах E-IV под буквами А, В, С понимаются произвольные формулы языка £, ограничения на формулы системы V указываются в формулировках соответствующих аксиом. L 1) 4 + (В + 4), 2) (4+(В->С)) + ((4->В)^(4 + С)). II. 1) АкВ + А, 2}АкВ-+В, 3) (А + В) + ((А + С) + (А + В ЬС)) . III. 1) 4+4VB, 2) B + 4VS, 3) (4+C) + ((£ + C,) + (4Vfl + C’)). IV. 1) 4 + 4, 2)4+4, 3) (4 + В) + (В + 4). V. 1) V® 4(а?) + 4(0> 2) 4 (О-З ж 4 (а?), 75
где А (а?) — формула, содержащая свободные вхождения, переменной х, a A (Z)-формула, полученная заменой в А (х) всех свободных вхож- дений х термом t9 удовлетворяющим условию: ни одно свободное вхож- дение х в А (а?) не находится в области действия квантора по какой-ли- бо переменной,, содержащейся в t (при этом условии говорят, что терм t свободен для х в формуле А (а?)) ♦. Сформулируем теперь правила вывода. Каждое такое правило поз- воляет из некоторого множества исходных формул получать новую фор- мулу. Поэтому правило вывода записывают обычно в виде "дроби", у ко- торой в "числителе" находятся исходные формулы, а в "знаменателе"— вновь получаемая формула. 1. Правило заключения: А,А-+В * » В где А, В -любые формулы языка £. II . Правило V-введения: В А В.+ ЧхА 9 где А содержит, а В не содержит свободные вхождения переменной х.. III. Правило 3-удаления: А^В ЗхА^В* где А, В-формулы, удовлетворяющие тем же условиям, что и в прави- ле II. Формула, находящаяся в "знаменателе" правила вывода, называет- ся непосредственным следствием формул "числителя". Заметим, что, подставляя в аксиому 1Х вместо А, В произвольные формулы, мы получим бесконечное множество формул. Таким образом, запись аксиомы 1х является, по существу, схемой, по которой можно получать формулы. То же можно сказать об остальных аксиомах и о формулах из правил вывода. Определив язык £ и аксиомы с правилами вывода, мы определили тем самым логическое исчисление, называемое исчислением предика- тов 1-й ступени сигнатуры а. Меняя о, т.е. меняя множество формул, и сохраняя схемы аксиом и правил вывода, мы будем получать другие исчисления предикатов. В дальнейшем язык £ будем считать фиксиро- ванным й соответствующее логическое исчисление будем обозначать той же буквой £. * Далее аксиомы будем обозначать римскими цифрами с индексами. Например, Пэ - аксиома 3 из подсистемы II . 76
§ 3. ВЫВОДИМОСТЬ И ДОКАЗУЕМОСТЬ ФОРМУЛ Определение 1. Выводом формулы А из конечного или беско- нечного множества формул Г в исчислении' £ называется конечная по- следовательность формул Ар (1) в которой А^.Ли каждая из формул А^ , г el, п, является или аксио- мой, или формулой из Т (исходной формулой), или получается по некото- рому правилу вывода из предыдущих формул последовательности (1). Если существует вывод формулы А из множества формул Т исчис- ления £, то говорят, что в £ А выводима из Т, и пишут £ или Ви ...д В, I— Л, если Т={51? В }. При этом формулы из Т называют посылками вы- вода. Особо важным является случай, когда Г— пустое множество. Определение 2. Формула А языка £, выводимая в исчислении £ из пустого множества формул, называется доказуемой формулой, или теоремой исчисления £, а сам вывод формулы А из пустого множества формул называется ее доказательством. Если формула А доказуема в исчислении £, то пишут 1-Л. £ Так как у нас исчисление £ фиксировано, то букву £ будем опус- кать и писать просто Т к- Л; В„ В |^_ л; к-Л. * & Очевидно, что при выводах и доказательствах формул можно ис- пользовать не только аксиомы и исходные формулы, но и любые дока- занные ранее формулы. v Дальше нас будут интересовать вопросы о характеризации доказу- емых формул и формул, выводимых из заданного множества, вопросы о непротиворечивости и полноте исчисления £ • Предварительно приведем доказательства некоторых формул и вспомогательных правил вывода. При этом последовательности формул, являющиеся доказательствами или выводами, будем записывать в столбик, указывая справа их проис- хождение (номер аксиомы, номер правила вывода, порядковые номера исходных формул и т. п.). 77
Теорема 1. i—А-+А для любой формулы А. Доказательство. 1) (А.((В.А) + А))->((А.(В-*А))-,(А + А)), (12) 2) A->((£UA) + A), (I,) 3) ММВ^А))МА^4), (I, 1, 2) 4)А^(В->А), (IJ 5) А->А. (I, 3. 4) Теорема 2. Если А - любая формула и В - доказуемая формула, то f— А-> ZL Доказательство получается добавлением к доказательству формулы В аксиомы 1х и формулы А-+В, получаемой из В и аксиомы 1х по прави- лу I. Теорема 3. i— АВ-* ВА для любых формул А, В. Доказательство. 1) (АВ-* В ) + ((АВ-* А)-> (АВBA))t (П3) 2)АВ-*В, (Их) 3) (АВ->4)МАВ-ВА), (1,1,2) 4) АВ -.А, (Пх) 5) АВ + ВА. Заменяя в доказательстве теоремы 3 аксиомы Щ—П3 соответствен- но аксиомами III,,получим доказательство следующей формулы. . Теорема 4. ъ—АУВ + ВУА для любых формул А, В. Теорема 5. к- 3 х А (а?) -> Ух А (а?) для любой формулы А (а?), содержащей свободные вхождения переменной х, Доказательство. 1) А ( а?)-Зя А(а?), (V2) 2) (А (х) + 3 х А (а;)) + (3 х А (х) + А (х)), (IV,) 3) 3 ж А (а?)-♦ А (а?), (1,1,2) 4) За? A(a?) + Va? АД?). (11,3) Даже из приведенных простейших примеров видно, что задача по- строения доказательств формул является сложной и зачастую весьма искусственной. То же относится и к построению выводов. Попытайтесь для примера построить вывод AC \—А-+(С->0). Для облегчения этой работы сначала доказывают ряд вспомогательных правил вывода, которыми затем можно заменять целые куски выводов или доказательств. Ряд наиболее распространенных вспомогательных правил вывода можно получить из так называемой теоремы дедукции. Однако и ее фор- мулировка и ее доказательство в общем случае сложны. Мы рассмотрим пока один ее ослабленный вариант. 78
Теорема об ограниченной дедукции. Пусть Т - произволь- ное множество формул и А, В - произвольные формулы. Если Г, Al-В (2) и существует вывод формулы В из TU {А ], в котором не используются правила V-введения и 3-удаления, то Tl-A + B. (3) Доказательство. Пусть В„ В2> Вт~В есть вывод формулы В из TU {4 |, в котором не используются правила V-введения и 3-удаления. Докажем утверждение (3) индукцией по длине вывода т. Пусть т«1. Тогда В является или аксиомой, или посылкой. Если В-аксиома, то она, очевидно, доказуема и по теореме 2 имеем i— А + В для любой формулы А. Отсюда и следует (3). Пусть В — посылка. Если В^ А, то (3) следует из теоремы 1. Если же В е Т, то можно указать сле- дующий вывод формулы А -*В из Т: В-*(А-*В), (IJ 2) В, (посылка) 3) А-*В (1,1,2) Допустим, что теорема верна при п, и докажем ее для т = л+ 1. В этом случае по условию формула В будет или аксиомой, или посылг кой, или непосредственным следствием двух предыдущих формул В\, В. по правилу заключения. Если В-аксиома или посылка, то (3) устанав- ливается точно так же, как и при т= 1. Пусть В получается из R, В. по правилу заключения, т. е. В. ».В, -»В. Так как г < n, j $ п, то по предпо- j г ложению индукции имеем: Tt-A^B., г * Tl-A+(B.^B). Применяя теперь к формулам А.(В. .В), А+В. и к аксиоме 12 (А.(В. .В)).((А->В,)->(А + В)) дважды правило заключения, получим формулу А-*В. Теорема доказана. 79
Докажем теперь ряд вспомогательных правил вывода, обозначая в них буквами А, В, С произвольные формулы £. Правило умножения формул: А, В1- -АВ. Вывод. 1) (А->А)-»((А-*В)-*(А-»АВ)), (И.) 2) А->А, (Теорема 1) 3) (А-*В)-*(А-»АВ), (1,1, 2) 4) В-.(А-.В), (It) 5) В, (посылка) 6) А-.В, (1,4, 5) 7) А* АВ, (I, 3, 6) 8) А, (посылка) 9) АВ. (1,7,8) Правило силлогизма: А + В, B + Ci-A + C. Согласно теореме дедукции достаточно'показать, что А + В, В+С,А\-С, причем существует вывод С, не использующий правил V-введения и 3-удаления. Таким выводом может служить последовательность формул: А, А^В, В,В^С> С. Для ее получения дважды применяется правило заключения к посылкам. Аналогично доказываются следующие правила. Правило умножения посылок: A + (B + C)t-AB-+C. Правило разделения посылок: АВ-*С ь- Правило перестановки посылок: АВ-*(А+С). Правило умножения заключений: А-*В, А + С 1—А^ВС. Правило сложения посылок: А + С, B+Ci—AV В->С. 80
Правило введения посылки: Лк-Я^А. Правило контрапозиции: А-^В^-В-. А. Правила де Моргана: a) A VB к- АВ, 5) АВ \—АУВ. а) Вывод: 1) АВ-А, (II.) 2) АВ->В, (II.) 3) А АВ, (правило контрапозиции, 1) 4) В-*АВ, (правило контрапозиции, 2) 5) A VB + AB, (правило сложения посылок, 3, 4) 6) A VB, (посылка) 7) АВ. (1,5, 6) 6} Вывод: 1) А\ AV В, (Ш.) 2)В->А VB, (1П.) 3) 4УВ-»А, (правило контрапозиции, 1) 4) А УВ-В, (правило контрапозиции, 2) 5) 1-А, (IV,) 6) в->в, (14) 7) А VB->А, (правило силлогизма, 3, 5) 8) А VB-B, (правило силлогизма,. 4, 6) 9) JVS^AB, (правило умножения заключений, 7, 8) 10 ЛВ^А VB, (правило контрапозиции 9) 11) А У В-A VB, (14) 12) АВ -АУВ. (правило силлогизма, 10, 11) Правйла з-отрицани.я: а) 3® А (®) t— V® А (®) (следует непосредственно из теоремы 5); б) Va? А (х) I— 3 а? А (х). Вывод. 1) Уа: Л(7)^ jg), (VJ 2) А (а?)-*Уа? Л (а?), (правило контрапозиции, 1) 3) Л(хв)-лта» (IV,) 349-11 81
4) А (ж) - Уж А Дж), 5) Зж А (ж)-Уж АДж) (правило силлогизма, 2/, 3) (1П, 4) (правило контрапозиции, 5) 7) Vx A (a?) -> Ух ЛПрО, 04) (правило силлогизма, 6, 7) 8) Уж А (ж)-Зж А (ж). Правила У-отрицания. а) Уж А (ж) i—Зж А (ж); б) 3 ж А (ж) t—Уж А (ж). Докажите в качестве упражнения. Правило противоречия: АА I— В (из противоречия выводима любая формула). Распишем вывод произвольной формулы В из АА, используя при этом любую доказуемую формулу R, например, А-А. 1)А-(Я-А)Л 2) (Я-А)-]А-Я), 3) A-JA-Я), 4) АА- R, 5) В-Я, 6) Я-В, 7) АА- 1, 8) Й-В, 9) АА- В, 10) АА, 11) В. Правило (закон) исключенного третьего: (Ь) (правило силлогизма, ], 2) (правило умножения посылок, 3) (теорема 2) (правило контрапозиции, 5) (правило силлогизма, 4, 6) (iva) (правило силлогизма, 7, 8) (посылка) (1,9, 10) Kava. Доказательство (снова используем доказуемую формулу Я). 1)A-AVA, 2) А-AVA, 3) AV j-A 4) AVA-.A, 5) А-А, 6) А VA-A, 7) 4VA-AA, 8) АА -Я, (HIJ (1Щ) (правило контрапозиции, 1) (правило контрапозиции, 2) (14) (правило силлогизма, 4» 5) । (правило умножения заключений, 3, 6) (правило Противоречия и теорема дедукции) 82
9) А УА-»Д, 10) ft-» AV A, 11) ft-»?[, 12) ft-»A VA, 13) AVA-»AVA , 14) ft-»A VA, 15) ft, 16) AV A. (правило силлогизма, 7, 8 ) (правило контрапозиции, 9) (IVt) (правило силлогизма, 10, 11) (IVJ (правило силлогизма, 12, 13) (теорема) (1,14,15) Воспользуемся вспомогательными правилами вывода для доказа- тельства еще одного частного случая теоремы дедукции. Теорема дедукции (для замкнутой формулы). Если Г-произ- вольное множество формул, В — произвольная, А — замкнутая формулы и Т,А\—В, то Ть-А + В. Доказательство проводится так же, как и теоремы об ограниченной дедукции. В дополнение нам необходимо лишь рассмотреть два случая (при т = я+ 1): а) В получается по правилу V-введения из формулы В ; б) В получается по правилу 3-удаления из формулы В случае "а” имеем: ft-С*-» £»(«), В~С-*Чх D(x), причем С не содержит свободных вхождений а?. По предположению ин- дукции имеем: T\-A^(C^D(x}). Дополним вывод формулы А + (C + D (а?)) следующими формулами до вы- вода формулы А-»В: Д(?-*Р(а?)Л (правило умножения посылок) AC-» Va: О (а:), (правило V-введения) A-»(C-»Va? D (х))~А + В. (правило разделения посылок) В случае ”6”: ' В, = C(x) + D, B~3xC (x) + D, И* 83
где D не содержит свободных вхождений х. По предположению индукции ГР А^{С (x)^D). Отсюда, используя правила перестановки посылок и. 3-удаления, полу- чим: ГР- С (а?)-(4-0), ТI— 3я? С (а?)-(4-0), ГР4-(Зз С(аг)-0) = 4-0. Теорема доказана. Укажем одно следствие теоремы дедукции* Следствие. Если Г-любое множество формул, 4-замкнутая, 0-любая формулы и Г, 4 Р ВВ, то ГР 4. (4) Доказательство. По теореме дедукции ГР 4-00. Применяя правило контрапозиции, получим ГР 00-4. (5) Из правила де Моргана "а" и закона исключенного третьего следует, что Р 00 (6) для любой формулы 0. Из (5), (6) следует ( 4). § 4. СЕМАНТИКА ИСЧИСЛЕНИЯ ПРЕДИКАТОВ Для уяснения содержательного смысла аксиом и правил вывода вве- дем понятие интерпретации языка и исчисления £. Определение 1. Под интерпретацией языка и исчисления £ пони- мают любое множество М с зафиксированным отображением v сигнату- ры и во множество операций и предикатов, определенных на М, при ко- тором символу п-арной операции f из о- соответствует n-арная операция Zv, определенная на множестве М, а символу n-арного предиката р из &4
ст — я-арный предикат pvna М. Образ множества ст при отображении v обозначим через ctv. В частности, образом констант из ст при v будут нуль-арные операции на М9 т. е. некоторые элементы из М. Если (Af, v) —интерпретация языка £, то, заменив в любой форму- ле А языка £ константы, символы операций и символы предикатов их образами при v и условившись переменным из X придавать значения из множества М, мы получим формулу А^алгебры предикатов на алгебраи- ческой системе A/(ctv), и можно говорить о выполнимости, истинности или ложности этой формулы на системе М (ctv). Определение 2. Формула А исчисления предикатов называется выполнимой, истинной, ложной в интерпретации v), если соответст- венно выполнима, истинна, ложна формула Av на алгебраической систе- ме М (ctv). Определение 3. Формула А исчисления предикатов £ называет- ся тождественно истинной,если она истинна во всех интерпретациях ис- числения £. Естественно возникает вопрос о соотношении между классами до- казуемых и истинных формул исчисления предикатов. Ответ на этот вопрос можно получить из следующих теорем. Теорема 1. Если каждая формула множества формул Т истинна в некоторой интерпретации (И, v) исчисления £ и TI— А, то А-истинна в (АГ, v). Доказательство. Для простоты записей условимся считать, что операции и предикаты на И обозначены теми же буквами, что и соответ- ствующие им символы операций из ст . Тогда v - тождественное отобра- жение и в записи Av индекс v можно опускать . Из определения доказуемой формулы следует, что достаточно дока- зать два утверждения: а) все аксиомы - истинны; б) формула, являющаяся непосредственным следствием по любому правилу вывода из истинных формул, является истинной. Истинность аксиом первых четырех групп аксиом доказывается одним методом. Проиллюстрируем его на аксиоме А-*(В-*А). Заменив в А, В свободные вхождения переменных элементами из по- лучим высказывания, имеющие вполне определенные значения а и р (каждое из а, р есть "И" или "л”). Перебирая всевозможные наборы значений "и" и "Л" для а, р, мы непосредственной проверкой (пользу- ясь определением операции-*) убедимся в том, что при любых а, р а -* (р -*а ) = И. Отсюда и следует, что аксиома истинна в интерпретации (М, v). 349-12 85
Докажем теперь истинность аксиомы Vt: Vo? А(я?)->А(£), где £ —терм, свободный для х в А (я?). Пусть х, х19 ..., х^ суть все пере- менные, имеющие свободные вхождения в А (я?), и х. , х. -все пере- 1 т менные, участвующие в образовании терма t. Так как t свободен дляя? в А\х)9 то все вхождения переменных х. , х. в терм t останутся •г< г 1 т свободными при подстановке t вместо х в формулу А (о?), в связи с этим запишем: A(0sА (£ (х. , ..., xi ), а?х, ...» я?п). 1 т Допустим, что формула Vx не истинна в интерпретации (А/, v). Это озна- чает, что при некотором наборе значений переменных х1 = а19 ..., я?п=ап, £₽. = «., ..., х^ •а. формула V® А (а?) принимает значение "и", а формула. 1 1 яг т г А (О - значение "л". Если обозначить через Означение терма t при Х1 ~а1’ Х1 ж аг > то будем иметь: с одной стороны, А (я?0, а19 ..., а ) 1 1 т т . является истинным высказыванием при любом значении х0 е М, а с дру- гой стороны, высказывание А(£, а19 ..., а^) — ложно. Полученное проти- воречие и доказывает наше утверждение. Аналогично доказывается, что правила вывода позволяют из истин- ных формул в интерпретации (М, v) получать снова истинные формулы, т. е.: 1) если истинны формулы А и А + В, то истинна и формула В; 2) если истинна формула В->А(я?) их не имеет свободных вхожде- ний в В, то истинна формула B->Va? А (ж); 3) если истинна формула А (ж)-*В и ж не имеет свободных вхожде- ний в В, то истинна и формула За? А (а?) -> В. Теорема доказана. Следствие 1. Всякая доказуемая формула исчисления предика- катов £ является истинной в любой интерпретации (А/, v) исчисления £. Замечание. Теорема и следствие теряют силу, если в аксиомах Vj и V2 не накладывать ограничений на терм t или в правилах V-введе- ния и 3-удаления разрешить свободные вхождения х в В. Приведем со- ответствующие примеры. 1. Пусть М есть множество натуральных чисел N, А (я?)« 3 у (х< у) и £«я? + з/-терм, не свободный для х в А (я?), поскольку свободное вхож- дение буквы х в А (я?) находится в области действия квантора 3 по букве у9 входящей в терм t. 86
Нетрудно видеть, что формула Уя А (а?)-> А (£), или подробнее, Vo? (Зу (а?< у))-*3у (а? + у<у) ложна в арифметике. 2. В той же интерпретации, положим В=(х^ у), А = (х£ у +1). Тогда имеем: формула В-> А истинна на N, а формула В->УхА ложна, поскольку, например, при х = 2, у=3 имеем: (2<: 3) - и, 4) « л. Доказанная теорема свидетельствует о том, что логические сред- ства исчисления предикатов выбраны разумно, поскольку с помощью их можно доказать только утверждения, истинные с содержательной точки зрения. Следствие 2. Исчисление предикатов непротиворечиво, т. е. в нем не может быть доказуемой никакая формула А вместе с ее отрица- нием, или никакая формула вида_АА. Действительно, формула АА является ложной в любой интерпрета- ции, тогда как доказуемые формулы истинны в любой интерпретации. Теперь естественно возникает вопрос: не слишком ли мало аксиом и правил вывода мы взяли при построении Исчисления предикатов? Так, из доказательства предыдущей теоремы видно, что если бы нашлась формула А, не доказуемая в исчислении предикатов, но истинная в лю- бой его интерпретации, то, присоединив А к системам аксиом, мы полу- чили бы более сильное и непротиворечивое логическое исчисление. Однако ниже будет показано, что такой формулы А не существует, а ц^енно имеет место следующая теорема Гёделя о полноте исчисления предикатов. Теорема 2. Если формула исчисления предикатов истинна во всех его интерпретациях, то она доказуема в исчислении предикатов. Для доказательства этой теоремы введем сначала некоторые поня* тия и докажем одно общее утверждение (см. теорему 3). Определение 4. Множество формул Т исчисления £ называется противоречивым, если существует такая формула А языка £, что Т1-АА. В противном случае Т называется непротиворечивым. 12* 87
Определение 5. Множество формул Т исчисления £ называется выполнимым, если существует интерпретация, в которой все формулы из Т принимают истинное значение хотя бы при одной (общей для всех формул из Т) замене переменных. Определение 6. Множество формул Т исчисления £ называется полным, если для каждой замкнутой формулы А языка £ имеет место ГР А или Th- А. Теорема 3. Всякое непротиворечивое множество 8 замкнутых формул исчисления £ выполнимо. Доказательство. Добавим к множеству символов языка £ еще счетное множество констант (символов нуль-арных операций) я-к, ...I. Получим новый язык £х в сигнатуре ах = а U Ж. Заменяя в аксиомах и правилах вывода исчисления £ формулы языка £ формулами языка £,х, мы получим новое логическое исчисление, которое обозначим той же буквой £р Из определения языка £х видно, что все доказанные факты об исчислении £ (в частности, все доказанные формулы и дополнитель- ные правила вывода) сохраняются и в £х. Так как язык £х включает в* себя £, то S можно рассматривать как множество предложений языка £х. Легко видеть, что 8 будет непротиворечивым и_в исчислении £х. Дейст* вительно, есл^в £х из 8 выводима формула АА, то, заменив в форму- лах вывода АА из S все константы из Ж переменными, не участвующи- ми в этом выводе, мы получим вывод в £ из 8 формулы ВВ, где В полу- чена из А указанной заменой констант. Чтобы убедиться в этом, доста- точно заметить, что указанная замена аксиомы переводит в аксиомы и сохраняет свойство формулы быть непосредственным следствием пре- дыдущих формул. Таким образом, 8 непротиворечиво в £х. Теперь расширим определенным образом множество 8. Для этого занумеруем все замкнутые формулы исчисления £х: Д>» Д» Д 9 ••• (1) По формуле 40 и системе 8 построим множество формул 8в, положив: So rS и }, если 8 F- 40 , SUIAJ, если8»У“Х и Ао 4 За? BQ (в), <8 U{4e, Во (6. )}, если 8 НАД и Ао =3а? В^(в), го где знаком I/- обозначено отрицание выводимости, а &. -символ с наи- го меньшим номером из Ж, не встречающийся в Ао . Из определения 80 имеем: 88
S с So и Sa I- А„ или So i-A0 . Покажем, что 8в непротиворечиво. Допустим, что в £, S, I- ВВ. (2) В соответствии с определением So рассмотрим три случая. a) 8 I— 40 . Тогда So = 8 U {Ас I и из (2) имеем: 8, А, 1- ВВ. Отсюда по следствию из теоремы дедукции получаем 8 I— Ао, что не- возможно в силу непротиворечивости 8. б) 8 h^-До и Ао не имеет вида Эх Во (ж). Тогда 80 =8 UJ Ло| и мы точно так же, как и в случае "а", получим 80 I— Ао, что противоречит условию. в) 8 I/-То, Ло = Тогда So »SUM0, Ве (Ъ. )| и потому ъо 8,А0,В0 (&. )t~BB. ъ о Так как формула Во ) замкнута, то тем же приемом, что и выше, получим * 0 S,40 ^В0(К)- *0 Так как Ь. не входит в Ао и в формулы из 8, то, повторив весь вывод ъ о с заменой Ъ. на переменную я., не входящую в участвующие в выводе г о з формулы, мы получим или 8, Ао Ь- Йо (аГ.), 8 I—40 -» Во (#у). Дополним вывод Ав -> Ва (г.) из 8 формулами: 40 -»V®. в0 (xj), (правило V-введения) ^х.В„ (х.^В„ (х), (аксиома VJ '♦Bq (ж), (правило силлогизма ) 4„ - У/хВ0 (х), (правило V-введения) Ух В,, (х)-*Эх Ва (х) г (правило 3-отрицания ) А0-Эх В„ (х). (правило силлогизма) 89
Поскольку За? В0_(а)«40, то мы получили вывод из S формулы Ао ->Д,т.е. 8, Ао I- Ао . А так как 8, Ао К40 , то по правилу умноже- ния формул 8, Ао К- Ао Ао . Отсюда следует 81— Ао и мы снова пришли к противоречию с условием. Тем самым мы закончили доказывать не- противоречивость множества формул 80. Далее, по и 80 мы аналогично построим непротиворечивое мно- жество 8М такое, что: 80с 8 х, 8ХI—At или 8Х I— At. Продолжая этот процесс, мы получим последовательность непротиворе- чивых множеств формул 80 с 882 с таких, что 8. I— А или 8.1— А.. Следовательно, Г = U 8. есть не- г г г ' . г t г=о противоречивое и полное множество формул. Теперь построим интерпретацию исчисления предикатов £, в кото- рой истинны все формулы из 8. В качестве основного множества возь- мем множество М термов языка а которых нет предметных пере- менных^-это так называемые замкнутые .термы языка Определим на М операции /v и предикаты pv > соответствующие символам операций f и предикатов р из о. Если а —символ 0-арной операции из сгг, то положим av = a. Если /-символ n-арной операции из о-, р-символ n-арного предиката и tx, —термы из то положим ft, если t)> ?V(^, ...,*n) = 1л, если T\— p(t u..., tn). Тем самым определена интерпретация (М, v) исчисления £„ а потому и £. Теперь индукцией по рангу формулы А докажем, что для любой замкнутой формулы языка £t : ТI— А в £, <==> Av = и в (М, v ). (3) Для упрощения записи верхний индекс v у формул будем опускать. Если А = р ( tlf t ) - элементарная формула, то (3) верно по определению предиката р. 90
Пусть А -замкнутая формула ранга г > 0. В зависимости от послед- ней операции в А возможны 6 случаев. 1. A~At А2. Используя определение конъюнкции, предположение ин- дукции и правила умножения и разделения формул, получим: А= и «> 4Х = и, 42 = и <=>Тн4х, П-42<=>ГН-4Х А2. 2. А = At V 4а. Если 4Х V А2 = и, то А2 = и или А2 в и. Тогда по пред- положению индукции ГР- At или ТЬ~А2, а поэтому и Г1— At У42. Обрат- но, пусть Т\— А2 V 4а. Если Т\— At или Г1— 4а, то по предположению ин- дукции 4Х = и или А2= и, а потому и 4 = и. В противном случае в силу полноты системы Т имеем: Г1-4Х, ГР-4а. Тогда по правилам умножения формул и де Моргана получим: ГЬ-4х4а, Т\~~ А~УА2. Итак, имеем: ____ Г I— A, У4а, ГР- 4хУ4а, что невозможно в силу непротиворечивости Г. 3. 4 = 4t. Учитывая предположение индукции и полноту системы формул Г, получим: As и <—> 4хв л <—=> ГР-J <=> Г1—4. 4. A = At-*A2. В этом случае, используя предположение индукции и правила введения посылки, контрапозиции и двойного отрицания, полу- чим: 4= и <=$> 4Х= л, или 42 = и <==> ГР-4Х, или ГР-4а <=>71—42->4 или Т\—4х->4а<=> Т\—4* 5. 4«Уж 4Х (ж). Если As и, то 4Х(^) = и при любом t еМ. Тогда по предположению индукции Т^~А2 (t) для всех t е М. Допустим, что Г»—Уж 4Х (х). Тогда по правилу V-отрицания Т Р- За? 4х(ж) и по по- строению множества Т в Т существует формула АДЪ) при некоторой константе Ъ еМ. В итоге мы получили: 71— 4Х (t) при любом t € М и Т h- 4Х ( Ъ) при Ъ е М, что невозможно в силу непротиворечивости Т. Следовательно, ГН-Уж 4Х (ж). 91
Обратно, пусть Th- Va? At (а?). Если Va: 4Х (а?) И и, то 4X(£) г л при некотором teM. Тогда по предположению индукции Т I- 4Х (I). Отсюда по аксиоме V2 и правилу V-Отрицания получим ТЬЗа?4Дя) и Th-Va 4Х (я), что невозможно в силу непротиворечивости Г. 6. 4=»Ва: At (а?). Если 4 = и, то 4Х (£) = и при некотором teM и по предположению индукции ГЬ41 (£). Отсюда,используя аксиому Va, полу- чим Т h-Э* 4Х (х), т.е. ТЬ-4. __ Обратно, если Г1— 4, то в силу непротиворечивости Т имеем Th/4. Тогда по построению Т в Г содержится формула 4/(6) при некотором 6 еМ. По предположению индукции 4Х (6 ) = и, а потому и 3# 4Х (аг)= и. Таким образом, все замкнутые формулы языка £, выводимые из Г, истинны в интерпретации (М, v). А так как ScT, то и все формулы из S истинны в (М9 v), т. е. множество S выполнимо и теорема доказана. Теперь можно доказать и теорему Гёделя о полноте исчисления £. Пусть 4-формула исчисления предикатов £ и 4= и в любой интер- претации исчисления £. Если xlf ..., х^ суть все переменные, имеющие свободные вхождения в 4, то формула В®Va!t,..., х^ А также истинна в любой интерпретации £, а потому формула В ложна в любой интерпре - тации £. Отсюда следует, что множество формуд {В J невыполнимо. Тогда по теореме о выполнимости множество {В } противоречиво, т. е. существует формула С языка £, такая, что Bl—С С. Но тогда по следствию из теоремы дедукции I—В. Теперь, применяя п раз аксиому Vx и правило заключения, получим h- 4, что и доказывает теорему Гёд«ля. В качестве других следствий теоремы о выполнимости докажем так называемую теорему о совместной выполнимости и локальную теорему Мальцева. Теорема (о совместной выполнимости). Если замкнутая формула 4 исчисления £ истинна в любой интерпретации £, в которой истинны формулы некоторого множества Т замкнутых формул, то Т Ь 4. Доказательство. Из условия видно, что множество формул Г = Г1Л4 I невыполнимо. Значит, по теореме о выполнимости множе- ство Г* противоречиво, т. е. 92
Т,АЪ-ВВ для некоторой формулы В. Отюда по следствию из теоремы дедукции TI— А. Теорема Мальцева. Множество замкнутых формул S исчисле- ния £ выполнимо тогда и только тогда, когда выполнимо любое его ко- нечное подмножество. Доказательство. Выполнимость конечных подмножеств выпол- нимого множества формул очевидна. Докажем обратное утверждение. Допустим, что выполнимо любое конечное подмножество формул мно- жества S, а само S невыполнимо. Тогда по теореме о выполнимости оно противоречиво, т.е. найдется такая формула А, что S Ь АА. Но тогда АА выводима лишь из конечного подмножества SS фор- мул, участвующих в выводе формулы АА из S. Следовательно, нашлось противоречивое конечное множество формул из S. Если бы было вы- полнимым, то по теореме 1 нашлась бы интерпретация £, в которой была истинной формула АА, что невозможно. Полученное противоречие и до- казывает теорему. § 5. ПОНЯТИЕ О ТЕОРИИ МОДЕЛЕЙ Теория моделей возникла на стыке между алгеброй и математиче- ской логикой. Она занимается в основном изучением таких свойств классов алгебраических систем, которые могут быть записаны форму- лами какого-либо логического исчисления (чаще всего, исчисления пре- дикатов). При этом сами алгебраические системы изучаемого класса становятся интерпретациями или моделями соответствующего исчисле- ния. Из анализа связей между формальным языком (формальными вы- водами, доказательствами и т.п.) и его интерпретациями черпает тео- рия моделей и главные средства исследований. В самостоятельную область математики теория моделей выделилась в 50-х годах нашего века благодаря работам А. И. Мальцева, А. Тарского, К. Гёделя, Л. Лёвенгейма, Т. Скулема, Г. Биркгофа и др. К настоящему времени теория моделей является достаточно разви- той областью математики со своей проблематикой и собственными ме- тодами исследований (см. [7], [8]). Многие из разработанных в ней методов успешно используются в других областях математики. С некоторыми такими методами мы познакомимся в данном пара- графе. Предварительно сделаем одно замечание о предикате равенства и дадим несколько определений. 93
Пусть К - некоторый класс алгебраических систем сигнатуры ст. Тогда можно построить язык логического исчисления в сигнатуре а и записывать свойства систем из класса К формулами полученного ис- числения. Однако формализация свойств систем зачастую существенно облегчается, если в сигнатуру исчисления ввести еще двухмест- ный предикат равенства =. Полученную сигнатуру будем обозначать в виде ст. Сразу отметим, что, введя предикат равенства, мы должны по- полнить и систему аксиом исчисления, введя в нее аксиомы, характери- зующие предикат равенства. В качестве таких аксиом выбираются фор- мулы: Ух {х = х), Va\, х2 (х2~х2 + х2~х2), Ух„ х2, х2 (х2 = х2 & х2 = х,->х1 = х3), характеризующие отношение равенства как отношение эквивалентности, а также все формулы вида V®,, хк> Ум ...» Ук (x2=Vl & ... & хк = ук - Л (х„ .... жА) = Л (У1,..., ук)), хп.У1> •••> Уп(а’. = У1 & — &««=%-*(?(«!» хп) - Р(У1> —> уп)Ун где Л—функциональный, а р-предикатный символы из а. Последние форму- лы характеризуют согласованность отношения равенства со всеми пре- дикатами и операциями из ст. Ниже мы будем рассматривать лишь ис- числения с равенством и аксиомы равенства будут автоматически вклю- чаться в соответствующие системы аксиом. Определение 1. Пусть К — класс алгебраических систем сигна- туры ст. Множество замкнутых формул исчисления предикатов сигнату- ры ст, истинных на всех системах из К, называется элементарной тео- рией класса К и обозначается th; (К) или th (4), если К состоит из од- ной алгебраической системы 4. Например, можно говорить об элементарной теории арифметики , натуральных чисел, об элементарной теории групп, об элементарной теории конечных полей и т. д. Заметим, что слово "элементарная" в термине "элементарная тео- рия" объясняется тем, что любая формула исчисления предикатов выра- жает свойства систем через указание связей между их элементами, поскольку кванторы навешиваются лишь на предметные переменные. Задача описания элементарной теории th (К) для разных классов К является важнейшей задачей теории моделей. В частности, теория th(K) называется разрешимой, если существует алгоритм, позволяющий для любой формулы исчисления в сигнатуре ст выяснить, содержится она в th (К) или нет. В противном случае элементарная теория называется не- разрешимой. В решении вопросов о разрешимости Или неразрешимости 94
fl элементарных теорий теория моделей смыкается с теорией алгоритмов, которая будет изучаться в последующих главах. Определение 2. Пусть произвольное множество формул ис- числения предикатов сигнатуры ст. Алгебраическая система А сигнату- ры ст, на которой истинны все формулы из F, называется моделью для F, что записывается в виде А1= F. Вопросы, связанные с построением и исследованием моделей для заданных систем формул, также занимают важное место в теории мо- делей. В частности, алгебраические системы сигнатуры ст называют элемен- тарно эквивалентными, если на них истинны одни и те же формулы исчисления предикатов сигнатуры ст. Очевидно, что из изоморфизма систем следу- ет их элементарная эквивалентность. Обратное же не всегда верно. В связи с этим укажем на одну из долго стоящих и широко извест- ных проблем А. Тарского (проблему о полноте для элементарной тео- рии свободных групп): будут ли элементарно эквивалентными свободные группы рангов тип при т>п> 1. Определение 3. Класс К алгебраических систем сигнатуры ст называется аксиоматизируемым (конечно аксиоматизируемым), если существует такое множество (конечное множество) формул F исчисле- ния предикатов ’сигнатуры ст , что 4еК<=> Л|= F. При этом множество F называется системой аксиом класса К. Очевидно, что наличие хорошей системы аксиом, описывающей класс алгебраических систем, играет немаловажную роль для изучения этого класса. В связи с этим в теории моделей вопросу аксиоматизиру- емости уделяется серьезное внимание. Приведем несколько примеров аксиоматизируемых классов. 1. Класс всех групп в сигнатуре ст =<•,: 1> конечно аксиоматизиру- ем. Системой аксиом может служить следующее множество формул 4 1) х2, xt((xx х2 ) х3 = х, (х2 а;,)), 2) Va?x (а?х. 1 =ог1), 3) Va?x Зо?2 (^i ж2=1). Добавление к ним формулы 4) х2 (х2 x2~;x2 xt) приводит к аксиоматике класса всех абелевых групп. 2. Класс всех полей в сигнатуре ст =<+, •, 0, 1> конечно аксиомати- зируем. Его система аксиом А^ может быть получена добавлением к аксиомам абелевых групп в сигнатуре < +, 0> > выписанных в примере 1, 95
формул 1, 2Л 4, характеризующих коммутативные полугруппы с еди- ницей, и формулы V®, (а?ж/0 -» 3®а (®, аг2=1)). Добавив к системе аксиом Af еще аксиому ф : Va? ((1 + ... + 1) а? = 0) р \_________________✓ Р (р-простое число ), мы выделим из всех полей класс полей характери- стики р. Класс полей характеристики 0 задается системой аксиом, получен- ной добавлением к системе отрицаний аксиом ф по всем простым числам р. Эта система аксиом бесконечна. Можно доказать, что класс полей характеристики 0 не является конечно аксиоматизируемым. 3. Арифметику натуральных чисел можно рассматривать как алгеб- ру сигнатуры Oj «{ + ,•/ , 11, где ' есть символ унарной операции. Объе- диняя систему аксиом Пеано с требованиями к операциям сложения и умножения по Грассману, получим следующую систему аксиом-формул: (»/ + 1), (», = «2->< = xl), Va?t (xt + 1 = а?'), х2 (х2 + х^{хх + х2)', Vxx (xx>l=xx), У/х19 x2 (xx x2 = xx ajj + a:,), A (1) (AfasJ-A (a<))->Vy A (у). где A - произвольная формула сигнатуры ст Л Пусть К — произвольный аксиоматизируемый класс алгебраических систем сигнатуры ст и А - его система аксиом. Тогда, добавив к аксио- мам исчисления предикатов аксиомы равенства и все аксиомы из А, мы построим новое логическое исчисление В нем, как и в изученном нами исчислении предикатов £, можно определить понятия формулы, вы- водимой из заданной системы формул, доказуемой формулы и т. д. Алгебраические системы класса К будут являться такими интерпрета- циями исчисления £^ в которых истинны все формулы из А, т. е. будут 96
моделями множества Л. Для исчисления £v> как и для исчисления £, Л • доказывается следующая теорема о полноте. Если ф-замкнутая формула исчисления то Ф €th (К) <=»> I— Ф. Эту теорему, с одной стороны, можно использовать для проверки истинности формулы ф на системах класса К, ас другой стороны, из нее следует! ряд общих методов получения утверждений об алгебраиче- ских системах. Один из таких методов, называемый методом компакт- ности, основан на локальной теореме Мальцева для любого исчисления называемой также теоремой компактности. Множество формул исчисления выполнимо тогда и только тогда, когда выполнимо любое его конечное подмножество. Первые примеры на применение этой теоремы были указаны в тео- рии групп самим А. И. Мальцевым. Ниже мы приведем один его резуль- тат. Пусть <?-группа и G2< Gt< G. Охарактеризуем сначала формулами утверждения; I. ff.< G ~ - подгруппа группы G\ 2. 3. ff2< Gx- б?2- нормальный делитель группы <?х; 4. 1/ -.факторгруппа* и2 С этой целью введем на G два одноместных предиката Ц19 R2, поло- жив: R^ (а?) =и <»> , ^ = 1, 2. Тогда утверждения 1-3 запишутся формулами; Va\, х2, xt (R. («,) R. (ж2) (х2 ж3-1) (хг «,)), V»(/?a (х)-* Rt (х)), У*!, »и ®» <®i) («») («» х2 ®1))- л На элементы факторгруппы 1 / можно смотреть как на элементы О’2 группы в29 определив иначе предикат равенства Е(я?, у) элементов а?, у из вх (как принадлежность их одному смежному классу по G2}: 349-13 97
E(xlt »,)<-=> 3 ar, (R2 (x2) (ar, xi = xl)), и несколько иначе, чем в ^операцию о умножения элементов из G2: х2о х2 *=х, <=> Э®4 (R2 (аг4) (х2 х2 = хл аг,)). Легко видеть, что операция о определена корректно, и если какое- либо групповое свойство Р группы (?t выражено формулой В в сигна- туре а = 1Ри R2) =; 1Ь то, заменив в В предикат =на Е и операцию • на о, мы получим формулу Р*, выражающую групповое свойство фак* торгруппы G1 (т. е. если Р истинна на G„ то Р* истинна на Gl Л )• Сг2 ^2 Пусть теперь Р = [РМ Р^]- набор свойств группы G, записывае- мых конечными системами замкнутых формул и сохраняющихся при переходе к подгруппам. Пусть группа G имеет тип Р, т. е. в ней существует нормальный ряд G = Go t> G, > ... О (?£ = 1 (1) G такой,что I- 1 / обладает свойством Р , 1, ..., к. е г Как и выше, введем на группе G одноместные предикаты Р2к ... ..., ^к> характеризующие подгруппы Gu G2, G^, и образуем множе- ство формул А в сигнатуре а х, состоящей из предикатов. ..., Р^,=, бинарной операции • и нуль-арных операций, отвечающих всем элемен- там группы G, т. е. всех констант из группы G, включив в него: 1) систему аксиом Л ; 2) . формулы Var„ х2 (x2~x2-*R. (х2) = R. (х2)); 3) формулы, характеризующие утверждения G. г+ 1 .... А-1; 4) формулу Ух (Rk (х ) -»ar = l), утверждающую, что G., г =0, ... г' * <4-1; G. 5) формулы для записи того факта, что факторгруппа г~у/ обла- дает свойством Р, г • г Введем еще для группы G систему формул D (G), называемую диа- граммой группы G. Для любых элементов д.г д е содержит формулу если она истинна в Qt и формулу д. д_/ д в против- ном случае. 3 Объединение систём А и D (в) обозначим через К . G G Очевидно, что G имеет тип Р тогда и только тогда, когда множест- во формул KG выполнимо, т. е. имеет модель. 98
Теорема 1. Если каждая конечно порожденная подгруппа H<G имеет тип Р, то и G имеет тип Р. Доказательство. Согласно локальной теореме Мальцева для выполнимости множества формул достаточно доказать выполни- мость любого его конечного подмножества. При этом из конечных сис- тем достаточно рассматривать лишь подсистемы, содержащие (г Итак, пусть Р' -конечная подсистема из D(G), G' — множество элемен- тов из G, участвующих в соотношениях из D', и Н-подгруппа в G, по- рожденная множеством G*. Так как Я —подгруппа типа Р, то множество формул A U D(H), а потому и Аи[)‘ выполнимо, и теорема доказана. О Ст Примеры. 1. Возьмем в качестве свойства Я формулу Vo?, у (я?у = -ух). Тогда группы типа Р- это в точности разрешимые группы ступени разрешимости к и потому получается Теорема 2. Если каждая конечно порожденная подгруппа группы G разрешима ступени п.< к, то и С- разрешимая группа ступени п<: к. 2. Возьмем в качестве Рх свойство: группа содержит не более п элементов, а в качестве Я*любую формулу, выводимую из Адт. Тогда получится Теорема 3. Если каждая конечно порожденная подгруппа группыG содержит нормальный делитель индекса к^ п, то G также содержит нор- мальный делитель индекса к п. Таким образом, выбирая различные свойства Р, мы будем получать различные'утверждения о группах на основании свойств только конечно порожденных подгрупп. Проиллюстрируем на примере еще один метод теории моделей для получения утверждений об алгебраических системах, называемый мето- дом переноса. Теорема 4. Если Я-замкнутая формула в сигнатуре теории по- лей и В истинна на всех полях характеристики 0, то существует такое простое число д0, что Я-истинна на любом поле характеристики р > . Доказательство. Действительно, если В истинна на всех полях характеристики 0, то В выводима из множества формул А? и 1Ф : р = =2, 3, 5, ...!• Однако в выводе формулы В используется лишь конечное множество аксиом вида ф : р ....\ ь? < ...<?.=?«. Л ik k Тогда В выводима из системы аксиом А^ U Т и потому истинна на всех полях, кроме полей характеристики р, , р, , и, в частности, на всех полях характеристики р > р0 . 1 гк 13* 99
Выбирая в качестве В различные формулы, мы будем получать раз- личные конкретные утверждения. В частности, можем получить следую- щий интересный факт. Если система алгебраических уравнений f ..., ..................... (2) ...... над кольцом Z не имеет решений в любом расширении поля рациональ- ных чисел, то существует такое простое число р0 , что при каждом про. стом р> р0 система уравнений, полученная заменой в (2) всех коэффи- циентов их вычетами по модулю р, не имеет решений в любом поле характеристики р. 100
ГЛАВА IV БУЛЕВЫ ФУНКЦИИ И ИХ ОБОБЩЕНИЯ § 1. ПОНЯТИЕ БУЛЕВОЙ ФУНКЦИИ Обозначим буквой Q множество {0,1}, элементы которого будем называть соответственно нулем и единицей, не придавая им пока ника- кого арифметического смысла. Определим на Q логические операции &, V, ->> заменяя в определениях этих операций над значениями выска- зываний истину на 1, ложь на 0, а также алгебраические операции ум- ножения . и сложенияфкак над вычетами по модулю 2. Так как опе- рации конъюнкции и умножения на Q совпадают, то дальше в основном будет использоваться умножение. Символом Qn, как обычно, обозначим п-ю декартову степень множества Q. Элементы из Qn называют двоич- ными или булевыми векторами длины п. Условимся на дальнейшее эле- менты из Q обозначать малыми латинскими буквами, а элементы из Qn- малыми греческими буквами (без индексов и с индексами). Если на элементы из Q смотреть как на числа 0 и 1, то по вектору а= (а. , ап) из Qn можно определить числа [|аЦ= at + ... + ап , пП_1 лП~2 a=at.2 +... + an, 349-14 101
которые будем называть соответственно весом и величиной вектора а. Определим теперь основное для данной главы понятие булевой функции. Определение 1. Булевой функцией от я переменных, или я-мест- ной булевой функцией, при я> 0 называется произвольное отображение f множества Qn в Q: /: Q. Нуль-местными булевыми функциями называются элементы 0 и 1 мно- жества Q. Две булевы функции считаются равными, если они совпадают как отображения. Равенство функций будем обозначать знаком =. Если хо- тят подчеркнуть, что /* есть функция от я переменных, то пишут /(п), или f (xit ..., хп), или f(ylt уп) и т. п^,где х^9 У] считают символа- ми переменных, принимающих значения из Q, и называют соответствен- но г-й и ;-й переменными функции /. Если /(а?х, ..., хп) - булева функция и а= (alt ап) - вектор из Qn, то образ вектора а при отображении / называется значением функ- ции f в точке а, или при наборе (alt ..., ап) значений переменных хп, и обозначается в виде /(ос) или / (ах, ..., ап). Функция, принимающая одно и то же значение а при любых набо- рах значений переменных, называется тождественно равной (0 или 1), что записывается дЗДде f=a. Множество всех булевых функций от я переменных и множество всех булевых функций (от произвольного числа переменных) обозначим соответственно через Г2 (я) и F2. Так как множество Qn конечно, то булеву функцию f(xl9 ..., хп) можно задать таблицей, в которой указа- ны ее значения при каждом наборе значений переменных (см. табли- цу 2). При этом наборы а условимся располагать в порядке возраста- ния их величина. 193
Таблица 2 ®1- • • ЖП-1 хп f(xt,...» ^П-1 » ®п) 0 . . . 0 0 /(0, .... о, 0) 0 . . . 0 1 /<о о, 1) 0 . . . 1 0 Л0, .... 1, 0) 1 ... 1 0 /(1, . • •, 1, 0) 1 ... 1 1 /(I 1, 1) При указанной договоренности о расположении векторов из Qn функция / однозначно определяется вектором-столбцом f^ee значений. Отсюда следует, что число различных булевых функций от п переменных рав- 2Л ’ но 2 : |Г2 (n)| ~22\ Вес 11^1 вектора-столбиа f* значений функции, т. е. число набо- ров из£п, на которых функция f принимает значение 1, называют ве- сом функции f и обозначают в виде ||/||. Ясно, что ||/||^ 2П, причем равенства достигаются лишь для функций-констант 0, 1. Если ||/||«2п“1, то функция называется равновероятной. Иногда таблицу значений функ- ции f(xlf а?Л) записывают в более компактном, хотя и менее удоб- ном для обращения с ней виде. А именно, множество переменных |aru ... «п } разбивают на два подмножества ..., х^ |, }, значения переменных xt, ..., х^ записывают во входной столбец, •••» - во входную строку, а значение функции f в точке а = ..., ап) - на пересечении строки с входом и столб- ца с входом ..., аЛ) (см. таблицу 3). 14* 103
Таблица 3 0 0... а Л+1 ... 1 1 хп-1 0 0... ап-1 ... 1 хп 0 1... ап ... 1 xi • • • хк-1 хк 0 ... 0 0 . . • . . . • . . 0 ... 0 1 . • . • • • . . . °*’ • • ak-i ак /(«) • • • . . . . . . 1 ... 1 0 • . . ♦ • • 1.. . 1 1 . . . ... • • • В некоторых случаях вместо выписывания всей таблицы значений функции удается задать ее каким-либо характеристическим свойством векторов, на которых функция принимает значение 0 или 1. Например, функпия /, называемая счетчиком четности, определяется условием: /(а)= 1<=> ||а - четное число; функция <р(а?1Л хп) - счетчик голосования определяется условием: Ф(а). 1<=> Ца||> | . Пусть /(«!, хп) - булева функция от п>1 переменных, т. е. отображение /: Qn-»Q . Рассмотрим ограничение / на подмножестве Q' векторов из Q”, с фиксированной t-й координатой, равной Ъ (6=0 или 1). Полученное отображение Д: Q не является булевой функцией, поскольку Q'4 Q ни при каком т. Однако по отображению можно естественным образом определить отображение 104
q>: Qn‘'*Q, положив для вектора а» (ах, ..., ап-1) ей : Ъ, ait ..., аЛ-1 ). Построенная таким образом булева функция q> от п-1 переменных на- зывается функцией, полученной из f фиксацией г-й переменной кон- стантой Ъ, и обозначается в виде /(я?., а?. , Ъ , х. , х ), ' ' 1’ л г-1 г +1д ’ п ' 9 или ...» Хп). Аналогичным образом по булевой функции f (xlf ...» ®я) от пе- ременных определяется булева функция от я- к переменных, получен- ная из / фиксацией гх-й, ..., г^-й переменных соответственно кон- стантами &х, ..., Ъ/с • Она обозначается в виде / (Xl, жп). *>’ .... Все булевы функции, получаемые из заданной функции фиксацией про- извольных ее переменных любыми константами из Q , называются ее подфункциями. Переменная xif или г-я переменная, булевой функции f(xt > ... хп) называется несущественной, или фиктивной, если О» ®< + 1.ha>i + 1, хп). В противном случае говорят, что X} является существенной перемен- ной функции /, или что функция f существенно зависит от г -й пере- менной. 105
Если - фиктивная переменная функции •••> а?Л), а функция Ф получена из f фиксацией переменной х^ некоторой константой Ъ (без- различно, нулем или единицей), то говорят также, что ф получена из f удалением г-й фиктивной переменной, а / из ф — добавлением г-Й фик- тивной переменной. Заметим, что, удаляя из ..., хп) различные фиктивные пере- менные, мы можем получить различные функции от п-1 переменных. Приведем пример. Пусть функция / от трех переменных задана таблицей 4. Таблица 4 Легко видеть, что 1-я и 3-я переменные функции / фиктивны. Удаляя их поочередно, мы получим различные функции ф1, ф2 от двух перемен- ных с таблицами 5, 6 Таблица 5 Таблица 6 В заключение этого параграфа приведем таблицу значений всех 16 булевых функций от двух переменных. 106
По таблице 7 нетрудно усмотреть, что из всех 16 функций сущест- венно зависят от обеих переменных лишь 10 функций: f7, /16. Их значения можно выразить через значения переменных х19 х2 и кон- станту 1 с помощью введенных выше логических и алгебраических опе- раций. Соответствующие выражения приведены в таблице 8. Таблица 8 4 Формулы алгебры логики Многочлены /7 X х Х2 Xi х2 f. ®1 х29 х2 У х2 хг х2 Ф 1 fy «1 V ®2 xt х2 Ф 0?! ф х2 /10 Х2 V Д?2 f Х2 Х2 xt х2 ® ф х2 ф 1 /й (•1?Х Г* (а?д“*а?х), ®2 V Х2 аг, ф #2 /12 (x^xj fx2^x1), (a?,Va?2) (ххУх2) а?, ф х2 ф 1 /13 а?, -* а?2 у х^ х2 х2 х2 ф а?. /14 - »2 > V Х2 а?, а?2 ф а?, ф 1 /й х2 ) а?х х2 а?! а?2 ® х2 /16 х2 X} У х 2 а?х а?2 ® а?2 ф 1 Заметим, что функций /» = хг х2 и /10 = х2 V х2 носят особые на- звания - штрих Шеффера и стрелка Пирса и обозначаются соответст- венно а?! | х2 и a?tf х2. Их особая роль среди функций от двух перемен- ных будет выяснена позже. § 2. ПРЕДСТАВЛЕНИЕ БУЛЕВЫХ ФУНКЦИЙ ФОРМУЛАМИ Так как число 2 быстро растет с ростом п, то задание булевых функ- ций от я переменных таблицами практически трудно осуществимо да- же при сравнительно небольших значениях п. В связи с этим на практи- 107
ке их чаще всего задают так называемыми формулами через некоторые простейшие функции (см. [ 1], [ 5]). Пусть задано некоторое множество функций К~ { ’ ъ е1\ и мно- жество символов переменных а?2, ...}. Будем пока смотреть на К как на множество символов, и дадим индуктивное определение фор- мулы над К, условившись сразу же обозначать формулы большими ла- тинскими буквами. Определение 1. 1) Любой символ переменной из X есть формула над К. 2) Если f. есть символ тп-местной функции из Kf a , ..., Ат - формулы над К, то выражение (т. е. строчка символов) (1) есть формула над К* 3) Других формул над К нет. Таким образом, формулами над К являются те и только те выра- жения, которые могут быть получены из символов множества XU К, запятых и скобок с помощью процедуры, указанной в пункте 2 опреде- ления формулы. Множество всех формул над К обозначим через Ф (К). Заметим, что более распространенное определение формулы над К (см., например, [5]) несколько отличается от принятого нами опреде- ления 1. А именно, в отличие от определения из [5], мы отнесли к фор- мулам над К символы переменных из X. Такая модификация определе- ния формулы не оказывает существенного влияния на теорию булевых функций, однако позволяет во многих случаях упрощать рассуждения. Кроме того, приведенное определение формулы над К является естест- венным обобщением формулы алгебры высказываний, где в качестве К берется система функций ) £l?i V &2 , , и символы высказываний являются формулами. Число всех символов функций из X, встречающихся в формуле А над X, назовем рангом формулы А и обозначим через г (Л). Индукцией по рангу формулы А можно определить понятие подфор- мулы. А именно, подформулой формулы х^ является лишь сама она. * Предполагается, что при т~ 0 формула (1) совпадаем с f . 108
Подформулами формулы (1) являются сама она и все подформулы фор- мул А1Г .... Ат . Пусть А - произвольная формула над некоторой системой функций К и в ее записи не встречается символов переменных, отличных от •••> хп • Тогда формулу А обозначают также в виде A(xlt хп) и говорят, что А есть формула от переменных xlf хп . Подчеркнем, что некоторые из переменных хп (и даже все) могут не присут- ствовать в формуле А; так, что одна и та же формула может рассмат- риваться как формула от различных систем переменных, но обязатель- но содержащих переменные, участвующие в записи этой формулы. Условимся считать, что все подформулы формулы от переменных являются формулами от тех же переменных. С каждой формулой Л^, хп) из Ф(К) сопоставим булеву функ- цию f(xu хп). Если А есть формула х*, то функция f определяется условием ft at> •••> ап )ж а{ для любых а19 ап eQ . Если же А= f, (Лх, Ат) и формулам Лр ..., Ат сопоставлены функции , то f определяется усло- вием где at, ап - любые элементы из Q, а Ъи Ът - значения функ- ций <pn фт в точке а«=(ах> ап). Функция / называется также суперпозицией функций Л , фх, фт и обозначается через /у (фх, ... •••• фот). Таким образом, каждой формуле при любом допустимом выборе системы переменных хи хп сопоставлена единственная булева функция яп). Очевидно, что функции, сопоставленные одной и той же формуле при выборе различных систем переменных, получаются одна из другой путем добавления и удаления фиктивных переменных. О любой булевой функции f, сопоставленной формуле Л, говорят, что она представима формулой Л, и пишут Л. 109
Если формула А представляет функцию ...> хп), тождествен- но равную кбнстанте а, то условимся считать, что Л представляет и нуль-местную функцию-константу а. В дальнейшем для упрощения текста заданную в явном виде фор- мулу условимся понимать и как функцию от тех переменных, которые фактически участвуют в формуле. Так, хг х2, x2V я?2, хг®х2 являются и формулами и функциями. Опре деление 2. Две формулы над К называются равносильны- ми, если они представляют одни и те же булевы функции при любом до- пустимом выборе переменных.. Равносильность формул А, В будем обозначать в виде A s В , Отметим некоторые очевидные факты о равносильности формул. 1. Формулы А, В равносильны тогда и только тогда, когда они представляют одну и ту же булеву функцию от переменных, содержащих- ся в формулах А, В . 2. Отношение равносильности формул над К есть отношение экви- валентности, и потому все формулы над К разбиваются на классы рав- носильных формул. 3. Если в равносильных формулах А, В все вхождения символов некоторых переменных х^, заменить соответственно форму- лами Bif Вк , то получатся равносильные формулы. 4. Если в формуле А некоторую подформулу Вг заменить равно- сильной ей формулой В2, то получится формула, равносильная А, Определение 3. Множество всех булевых функций, представи- мых формулами над К, называется замыканием системы функпий К и обозначается через [ К}. Очевидны следующие свойства замыкания: 1. ) Кс[К}\ 2) К2СК2 => [А\] С [^]; 3) [[К]] = [К1. Отмеченные выше свойства 2—4 равносильности формул исполь- зуются для замены формул равносильными, но более простыми по на- писанию формулами. Понятно, что особенно интересными являются такие системы функ- ций, формулами над которыми представляются все булевы функции. Они имеют особое название. Определение 4. Система К булевых функций называется пол- ной, если [/f]«*F2. Далее мы укажем некоторые наиболее важные примеры полных систем и докажем общий критерий полноты. Рассмотрим один частный случай, когда 110.
К* Ко = |х2, а?х V х2> хх |. В этом случае формулы над К являются формулами алгебры высказы- ваний. Так как операции & и V на Q ассоциативны, то при различных расстановках скобок в дизъюнкции или конъюнкции нескольких формул над К будут получаться равносильные формулы. А так как нас форму- лы будут интересовать лишь с точностью до равносильности, то мы в указанных случаях скобки будем опускать. Так, вместо (Лх или А2 (А2А3) будем писать просто А2 А2 А3. Нетрудно видеть, что дизъюнкция любого конечного числа выраже- ний (или элементарных конъюнкций) вида где при а, = 1 и ха* = х- при а. = 0 является формулой над /f0 • Такие формулы называются совершенными дизъюнктивными нормаль- ными формами от переменных х19 ..., хп . Очевидно, что функция, пред- ставленная конъюнкцией (2), принимает значение 1 в том и только том случае, когда х2~ а2, ..., а?Л= ап . Отсюда очевидным образом следует Теорема 1. Всякая не равная тождественно нулю булева функ- ция а?Л) представляется единственной совершенной дизъюнк- тивной нормальной формой от переменных хп: f(x2, х ) = V я?1... а/п ...,an)eQz / •••> ап) =i Следствие 1. Система функций Ко — { Х2 } V Xj 9 Х2 | полна. Для доказательства следствия достаточно заметить, что функция f, тождественно равная нулю, представляется формулой х2 . Следствие 2. Системы функций К * х2 9 х । К 2 — | хх У Х2, Х2 | полны. 111
Функция а?! V х2 представляется формулой а?х х2 над К2. Следова- тельно, К.С а потому и [ЛГо] С [ATJ. Обратное включение очевид- но. Таким образом, [ А^о 1 = [/<!] и по следствию 1 система Кх полна. Аналогично устанавливается и полнота К2. Следствие 3. Система К 3, состоящая из одной функции штрих Шеффера а?х |а?2, полна. Действительно, функции xt и xt х2 представляются формулами над в х2 I xt, х. х2 = | х2) | (xt | х2). Отсюда по следствию 2 имеем: система К3 - полна. Каждая булева функция f , ...arn), образующая одна полную сис- тему, называется Шефферовой. Нетрудно проверить, что среди функ- ций от двух переменных Шефферовой является еще лишь стрелка Пир- са д?хТ • Следствие 4. Система функций К4 = {Xi х2, xt © х2, 11 полна. Для доказательства достаточно заметить, что функция х2 представ- ляется формулой а?х©1 над КА> и воспользоваться следствием 2. Операция сложения © на Q ассоциативна, а потому в записи сум- мы нескольких слагаемых (как и в произведениях) скобки будем опус- кать. Кроме того, сумма Ах®... ® А будет обозначаться также в ви- П л Ш Де ХфЛ. или S © А. . t.l i е Гп г Определение 5. Многочленом Жегалкина от переменных а?х, ... ..., хп называется формула над = КА ЩО | вида S© х. ...ж. ф а, <zefO.ll. h<... <iei где суммирование ведется по произвольному множеству сочетаний •••> % из чисел 1, ..., п. Каждое из слагаемых многочлена Жегал- кина называется его членом, а наибольшее число сомножителей в чле- нах - его степенью. 112
Два многочлена Жегалкина называются равными, если они отли- чаются лишь порядком слагаемых. Теорема 2. Всякая булева функция ..., хп) представляет- ся единственным многочленом Жегалкина от переменных х19 ..., хп . Доказательство. По следствию 4 из теоремы 1 всякая булева функция f представляется формулой А над /G . Используя свойства коммутативности и ассоциативности операций • и ф, формулу А смо- жем заменить равносильной ей формулой вида ф Аг, (3) где А} есть или 1, или символ переменного, или произведение перемен- ных. Теперь, воспользовавшись еще равносильностями Л® А = О, АА = А, ЛфО= Л, А Вв В А, А®В~Б®А, нетрудно преобразовать формулу (3) к эквивалентному ей многочлену Жегалкина. Тем самым существование искомого многочлена доказано (более аккуратно это можно было сделать индукцией по числу символов операций • и ® в формуле Л, проделайте это в качестве упражнения). Единственность искомого многочлена следует из количественных соображений - число булевых функций от п переменных равно числу различных многочленов Жегалкина от переменных х19 *..> хп. Представление булевых функций многочленами Жегалкина позво- ляет классифицировать функции по степеням нелинейности. Степенью нелинейности функции называют степень представляющего ее много- члена Жегалкина. Функции, представляемые многочленами Жегалкина степеней 1, т. е. многочленами вида a, otj ® ... ® ап хп ® an+I, а{ е |0, 11, называются аффинными, а при ао+1=0 - линейными. Пример. Представить булеву функцию /(ж,, хг, ж,), заданную таблицей 9, формулой алгебры высказываний и многочленом Жегалки- на. 349-15 113
Таблица 9 Х3 Х2 / ООО 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 0 Согласно теореме 1 имеем представление / совершенной дизъюнк- тивной нормальной формой / » а?3 V агх х2 а?3 V х2 х3 V аг1 х2 х3. Вместе с тем рассматриваемая функция f может быть представлена и более простой формулой: 1 V Х2 Х$ .У Xt Х2 Х3 • Из этой формулы, используя равносильности X У у= Ху Ф X Ф у , X = х Ф 1 и свойства операций ., ф, получим представление многочленом Жегал- кина: f £= Xi Х2 Ф Д?з • § 3. ЗАМКНУТЫЕ КЛАССЫ ФУНКЦИЙ. КРИТЕРИЙ ПОЛНОТЫ Определение 1. Класс булевых функций К называется замкну* тым, если он совпадает со своим замыканием, т. е. й'« [ /Г]. Полное описание всех замкнутых классов было дано американским математиком Э. Постом (см. [6]). В частности, им было доказано, что множество всех замкнутых классов булевых функций счетно и в каж- дом замкнутом классе К можно выделить конечную подсистему по- рождающую К, т. е. имеющую своим замыканием класс К. 114
Приведем несколько примеров замкнутых классов булевых функций. 1. Класс То всех функций, сохраняющих константу 0, т. е. удов- летворяющих условию /(0....0)-0. 2. Класс Тх всех функций, сохраняющих константу 1, т. е. удов- летворяющих условию /(1, 1)-1. 3. Класс L всех линейных функций, т. е. функций, представимых в виде ® ••• е апхп> ai е 4. Класс Ьхвсех аффинных функций, т. е. функций, представимых в виде ах ©••• ф апхп ф ап+1, а. е Q . 5. Класс S самодвойственных функций, т. е. функций, удовлетво- ряющих условию /(fli, ап) «/(ах, an) (1) при любых ах, ап € Q . 6. Класс И монотонных функций. Для определения класса М введем на множестве Qn (при любом п^1) отношение^, положив для векторов из Qn а=(ах, рее (Ьх9 ..., р < = > ах 5Х, Ъп , где отношение на Q понимается как неравенство на множестве чи- сел { 0, 11. Нетрудно видеть, что отношение рефлексивно, транзитивно и ан- тисимметрично, т. е. является отношением частичного порядка. Булева функция /(агх, хп) называется монотонно возрастаю- щей, или монотонной, если для любых векторов а ,ре Qn выполняется условие:
a 4 ₽ “> /(«)</(₽)• Нуль-местные функции 0 и 1 также естественно считать монотонными. Назовем два вектора a, р из Qn соседними, если они отличаются лишь одной координатой. В дальнейшем нам будет полезной Лемма. Булева функция f(xlf ..., хп) не монотонна тогда и только тогда, когда в Qn найдутся два соседних вектора a, р, такие, что сх^ р, но /(а) >/(р). (2) Доказательство. Если для а, р и / выполнено условие (2), то f не монотонна по определению. Обратно, пусть f не монотонна. Тогда найдутся векторы а, р, удовлетворяющие условию (2). Если они сосед- ние, то они и будут искомыми. Пусть а, р не соседние. Тогда, меняя в а последовательно по одной подходящей координате с 0 на 1, получим последовательность векторов где + 1 - соседние векторы, г е 0, 1. Так как /(а)>/(р), то /(а) = 1, /(р)«0, и потому найдется такое г, что /(a£) = l,/(a. + i)=0. Векторы , о^ + 1 и будут искомыми. Замкнутость перечисленных выше шести классов функций доказы- вается по одной и той же схеме. Проделаем это для какого-нибудь од- ного класса, например 5. Согласно определениям замыканияй замкнутого класса нам нужно показать, что любая функция, представимая формулой над $, принад- лежит 8. Докажем это индукпией по рангу г (Л) формулы А, представ- ляющей функцию /(а?!, ..., а?п). Если г (Л) «О, то А = х^, и утверждение очевидно. Если же г (Л) >0, то А имеет вид (Лх, Лт), где /. , аЛи ..м Ат - формулы меньших рангов, чем Л. По предположению индукции формулы Лм Ат представляют 116
булевы функции <рх, ..., <рт из 8. Тогда для любых alf ап е Q име ем: / (ах, ..., ап ) = /у (фх (<Ь •••> лЛ •••> Фт ап)) = • fj (Ф1(^х, аЛ), —, Фт(ао •••> <*я))- (Ф1(ах, ®п), Фт(Д1, •••> ап)) = - fj (ф1 (аи •••, ап), •••» фт (ам •••> an)) ~ f ^ai> ,,t} aJ * Следовательно, f удовлетворяет условию (1), т. е. / е8. Используя замкнутые классы То, Т\, Llf S, М, докажем критерий полноты любой системы булевых функций [5]. Теорема (критерий полноты). Система булевых функций К полна тогда и только тогда, когда она содержит хотя бы по одной функции каждого из классов F2\To, F2\Tx, F2\L^F2\S, F2\M. (3) Доказательство. Если К' - любой замкнутый класс функций, от- личный от F2, и K(\(F2\K9)=$ , то КС К9, и потому VK}c[K9]=K9 ^F2. Следовательно, система К- не полна. Этим утверждение теоремы в одну сторону доказано, поскольку классы (3) замкнуты и отличны от Обратно, пусть Kfi(F2\K') ф для любого класса К9 из (3). До- кажем, что система К - полна, т. е. [K]~F2 . По следствию 2 теоре- мы 1 предыдущего параграфа для этого достаточно показать, что [/Г] содержит функции х2, Установлению этого факта и посвящена ос- тальная часть доказательства. Обозначим через /<Пх)> /<Л4\ л(П5) Функции из К, соответственно из классов (3). В частности, некоторые 349—16
из них (и даже все) могут совпадать. По условию Л(0, ..., 0)«1, (4) й в зависимости от значения /х(1, ...» 1) возможны два случая. а) Л (1, ...» 1)« 1 . Так как Хс [ К ], б [ ЯЧ и класс [ К] замкнут относительно суперпозиции функций, то [ #] содержит функцию Отсюда и из /а еК следует^что функция /2 (1, 1) ~ 0 также принад- лежит [#]. Покажем, что а?х е[К]. Для этого возьмем немонотонную функцию По лемме о немонотонных функциях найдутся соседние на- боры а, р е Qn’, такие, что а <Р и f5 (а) > /5 (р) . Пусть а-(в1, a._t, 0,а. + 1, aj; Р=(а,, a._t, 1, а. + 1, Поскольку х19 1, 0, /5 б [/И, то [ К] содержит функцию <р(я?1) = ./5 (alf ..., а.^, xl9 a. + i, ап). А так как f5 (а)> fs /р), то /5 (а)= 1, /5 (р)= О, и потому <р(0)=1, <рП)=О, т. е. ф(а?1)=«1. Таким образом, в случае "а” имеем: О, 1, xt б [К]. (5) Докажем теперь то же самое в случае б) /^(1, ..., 1)= 0. Из (4) следует, что в этом случае fi (ях, ayjearx б[КЬ 118
Для получения констант 0, 1 возьмем функцию /4. Так как f 4 то найдется набор ап ), такой, что Л(а3, ..., ап ) = /4(«1л —л )=а, (6) где а = 0 или 1. Так как xt, х3 е[ К], то [ Л"] содержит суперпозицию Л ап Ч>(я?1) = /4^1 \ •••! 4)- Найдем ее значения при а?Х“0, 1. Из (6) имеем: ^(0) = /4(0в‘, 0<l"4) = /4(il..ап )=а; 441)= А (1а‘.....1вп«) = /4(а1, ...,ап )=О. 4 Таким образом, е[К ]. Константу а получим как суперпози- цию функций «i, а. Итак, и в этом случае верно (5). Далее оба случая рассматриваются одновременно. Для получения а?х х2 возьмем функцию /3. Так как fz Lx, то /3 представляется многочленом Жегалкина степени Л>1. Не теряя об- щности, можно считать, что он содержит член с сомножителями х19 х2. Поэтому можно записать /з = а?1 Х2 Ф1 (^ЗЛ •••Л a?nJ)®a?I Ф2 ( ЖЗЛ •••> Xnz ) Ф ®Х2 Фз ^л --л хп3 ) ® ФчС^зл —л хп* ), где фх^0, т. е. существует набор (а3, •••> ап )л такой, что фх (а3, ... •••л лПз) = 1. Так как 0, 1, fz К], то [ К1 содержит функцию /з %2> а*> "’л )= xi х2 е а Х1Ф Ъх2& с , где а, Ъ, с eQ . Подставив в эту функцию вместо х3, х2 соответственно 16 119
х^х^Ъ, хга = я>г9а, получим а?2) = Л(а\Ф&, 0У2 ®а, а3, ..., an%)^xxx29d, где d=a Ъ © с. Если с?=0, то g(xlf x2) = xt х2. Если же ^=1, то д(х19 а?2) = хгх2, и функцию х2 х2 можно получить суперпозицией функций a?t и д(хи х2). Таким образом, xt х2 е[К], что вместе с (5) и завершает доказательство теоремы. Замечание. Доказательство теоремы о полноте конструктивно, т. е.>пользуясь схемой доказательства, мы сможем функции х2 и хг х2, а потому и любую функцию, в явном виде представить формулами над любой полной системой функций. Пример. Показать, что функция f(x2, х29 х3), заданная табли- цей 10, образует полную систему и выразить формулами над ней функ- ции х2 и а?! х2. Таблица 10 Ре ш е н и е . Из таблицы видно, что /(0, 0, 0)-1, /(1,1, 1)«0. Отсюда следует, что // Гол Т19 И. Кроме того, /(0, 0,1)-/(1,1,0), (7) 120
и потому f 4 S. Чтобы выяснить вопрос о принадлежности f классу Lx, представим f многочленом Жегалкина: /= х2 а?, = xt х2 х3 ф а?х х2 ф агх а?3 ф х2 х2 ф х2 ф х2 ф х2 ф 1. Следовательно* / 4 Lx и К={ /I - полная система. Теперь выразим че- рез /функции а?х, xt х2. Так как f = Ис/х21в3, то очевидно = f (д?х , X} у а?1)г х2 — / (а?! 9 ^29 Кроме того, из (7) следует, что 0= f{xlf xlf а?х). Отсюда имеем: a?i = /(/(х19 хи xt)t f (х2, х29 х3), f (х29 з?х, / (а?х> xlt а?х ) ) ) • § 4. ПРЕДСТАВЛЕНИЕ БУЛЕВЫХ И ПСЕВДОБУЛЕВЫХ ФУНКЦИЙ ЧЕРЕЗ БАЗИСЫ ФУНКЦИОНАЛЬНЫХ ЛИНЕЙНЫХ ПРОСТРАНСТВ Введем одно обобщение понятия булевой функции. Для этого зафик- сируем произвольное поле Ри будем рассматривать 0 и 1 из Q как нуль и единицу поля Р. Определение 1. Псевдобулевой функцией от п переменных, или я-местной псевдобулевой функцией, над полем Рпри я>1 называется любое отображение Qn в Р. Нуль-местными псевдобулевыми функция- ми над Р называются все элементы поля Р. Множество всех псевдобулевых функций от я переменных над по- лем Робозначим через Р(я).В частности, при P=GF(2) класс Р(я) совпадает с классом булевых функций Г2 (я). В других случаях эти классы различны, и если условиться псевдобулеву функцию со значе- ниями из Q считать булевой, то будем иметь: Р2 (я) С Р(я). Множество функций Р(я) относительно естественным образом опре- деляемых операций сложения функций и умножения функций на элемен- ты из Р образует линейное пространство над полем Р. 7 Его базисом, очевидно, может служить система функций где р - символ Кронекера, тле. 121
Г1 при а«р; Р " f 0 при ccj4|3 . Следовательно, размерность пространства Р(п) равна 2П, и любую его функцию можно однозначно представить в виде линейной комбинации над полем Р: Са Ах (1) При этом / будет булевой функцией в том и только том случае, когда коэффициенты са принимают лишь значения 0, 1. Заметим, что в слу- чае P=GF (2) разложение (1) функции / совпадает с разложением, по- лученным заменой в ее совершенной дизъюнктивной нормальной форме операции V на ф. Из теоремы об однозначном представлении булевых функций мно- гочленами Жегалкина следует, что при P=GF (2) множество функций \х. ... xf : 1 < вместе с 1 также образует базис пространства Р(п), и представление функции многочленом Жегалкина есть разложение функции по указан- ному базису. Представление булевых функций через базисы пространства Р(п) сопряжено со многими трудностями. Во-первых, нетривиальным явля- ется вопрос об описании базисов пространства Р(п). Гели же система, функций является базисом, то в общем случае сложным является воп- рос о нахождении коэффициентов в разложении булевой функции по указанному базису. В решении вопроса об описании базисов пространства Р(п) иногда может оказаться полезным переход от пространства Р(п) к простран- ству векторов-столбпов длины 2п над полем Р. Сопоставим с каждой функцией f е Р(п) вектор-столбец значений этой функции f*. В итоге получим отображение v пространства функпий Р(я) в пространство Р(2П5 векторов-столбцов длины 2П над полем Р. Нетрудно видеть, что v есть изоморфизм пространств, а потому сис- тема функций 2n- 1 является базисом пространства Р(я) тогда и только тогда, когда мат- рица 122
является невырожденной. В общем случае (в отличие от приведенных выше примеров) базис пространства Р(п) может содержать и такие псевдобулевы функции, которые не являются булевыми. В качестве такого примера рассмот- рим один из хорошо известных базисов псевдобулевых функций над по- лем комплексных чисел С , связанный с характерами абелевой группы Qn относительно операции ®. Группа Qn разлагается в прямую сумму п циклических подгрупп порядка 2: Qn~Gt + G1+...+Gn, (2) где 6^ - группа, порожденная вектором i е- = (О,..., О, 1, 0, ..., 0). Найдем все гомоморфизмы группы Qn в мультипликативную группу С* поля комплексных чисел С. Из разложения (2) видно, что любой гомо- морфизм <р: Qn->C* однозначно определяется своими значениями на векторах ех, еп . Кроме того, поскольку ф — гомоморфизм, то 2 Ф<^ <Ф(^)) . А так как — нулевой вектор, то (ф(^р)2 = 1. Следовательно, Ф Ц)в у/1 =± 1. Отсюда следует, что существует ровно 2 п различных го- моморфизмов группы Qn в С* и каждый гомоморфизм х определяется системой равенств или набором a»(at, ..., on)eQn. Гомоморфизм, определяемый указан- ными равенствами, обозначим через ха • Очевидно, что (3) 123
для любого набора р«=(д1Л •••, bn)eQn. Легко видеть, что в равенстве (3), не нарушая его, сумму ах &> + ••• + ап Ьп можно заменить суммой Ъп , понимая под ее значением целое число 0 или 1 (как наименьший неотрицательный вычет по модулю 2), Эта сумма называет^ ся иногда булевым скалярным произведением векторов а и р из Qn и обозначается в виде (а, р). По аналогии с этим линейную булеву функ- цию а х а?х © • • • © а а? п п иногда также обозначают в виде (а, а:), где а= (ая, ая), х=(х1} хп). Используя эти обозначения, определенную выше псевдобулеву функцию ха •••> ^п) можно записать в виде Ха(®и ж„) = (-1)(а,а!> . (4) Каждая из функций ха называется характером группы Qn. Ниже будет доказано, что множество характеров 1ха- « eQn| (5) является базисом пространства С (п). Предварительно введем обозна- чение для любых функций из С(п), положив 2 /'®)ф(®)> (6) 2П ®6ЙП и докажем соотношение ортогональности для характеров: (ХО , Х₽)-5а, р • (7) Из равенств (4), (6) имеем: 124
^ot ’ X p)e 2 n 2 H * X €Qn (Ot*ж)( s ( Если a=p, to a®p«e и (xe > Хр)я=1* Если же aep=y^e, то функция (у, х) равновероятна и потому (х , Ха^в®’ a Р Из равенства (7) легко следует линейная независимость системы функций (5). Действительно, если выполняется равенство S а О, aeQn a Aa Л< > / TO для любого р е Qn и из (7) следует, что Др== 0. Итак , система характеров ха образует базис пространства CW иг потому каждая булева функция f представляется в виде . /(%!, х„ )= X с/ х •••> х У* (8) ' 4 ’ n' a е Qn a Aa' 1 п ' Такое представление функции f называют ее разложением в ряд Фурье. При этом числа cf называются коэффициентами Фурье для функции /. Выразим коэффициенты cfa через f. Из равенства (8) следует, что , (Л X₽) = a?Q« С“ (Х“’ ХР)= СР (V ХР)=С₽ • Отсюда имеем: 7>х₽), и потому f(Xl> а:п)= S (/,xa)xa^u *„)• a € Qn w Найдем значение (/, ха)- По определению 125
где »Гя(Я'1> *^п )* Q* = lar 6ЙЛ: (а, я»)-0|; Q" = I a: eQn: /($) = 1, (а,а:) = 1 I • Из определений множеств Q*, Q" имеем: |й'1 = |1/(«)((«,»)®1)||“11/(«)^»®)® Л»)И = 11 /(«) («I «)||+ И/(®)||- - 2 || f(x)(ff, х) || e j) fix) || -1| f(x){a, х) ||; |Q”I= II/М (а. ®)Н- Отсюда V > Х^) = ± (II f ИИ - 2 || / (х) (а, г)||) = -1- (|| fix) || + || (а, х) || - 2‘ 2 -2|ИИ(а,г)11-Ц'<*.*)!!)• Если а«0, то (а, а?) = 0 и потому со“^’Хв)^И/Н11 • & __ I - Если же а^е, то (а ,а?)- ненулевая линейная функция от х и потому вес ее равен 2П"Х. Следовательно, в этом случае 126
ca = ^T И/(«)•(“• Пример. Найти разложение в ряд Фурье функции f ®з)ж®1 ®.*₽3 • Составим таблицу значений коэффициентов Таблица 11 а ОС 1 3? 2 з /<*) II f(x)9(a, ®)|| Са 0 ООО 0 4 1 2 1 0 0 1 1 2 _1_ 4 2 0 1 0 0 4 0 3 0 1 1 1 2 4 4 1 0 0 0 4 0 5 1 0 1 1 2 1 4 6 1 1 0 1 4 0 7 111 0 6 х 4 Из таблицы 11 имеем разложение § 5. МНОГОЗНАЧНЫЕ ФУНКЦИИ Наряду с булевыми функциями в приложениях используются fc-знач- ные функции и при к> 2. Будем считать, что аргументы таких функ- ций и сами они принимают значения из множества чисел Q - (0, 1, *-1|. Ли 127
Определение 1. Функцией Л-значной логики, или Л-значной функцией, от п переменных при п называется произвольное отобра- жение п f • * & £ *, Л-значными функциями от 0 переменных называются функции-констан- ты 0, 1, ..., Л-1. Множества всех Л-значных функций и всех Л- значных функций от п переменных обозначим соответственно через F& и При изучении Л-значных функций используются многие из терми- нов и обозначений, введенных при изучении булевых функций. В част- ности, сходным образом определяются равенство функций, существен- ные и несущественные переменные, функции от п переменных, тождест- венно равные константам 0, 1, Л-1, подфункции и т. д. Так как множество конечно, то Л-значную функцию от п пере- менных можно задать таблицей ее значений на всех наборах (или век- торах) из £>£.При этом условимся записывать их в порядке возрастания как чисел в А-ичной системе счисления. Непосредственно из табличного задания видно, что число различных Л-значных функций от п переменных рав- но кк . При к>2 табличное задание Л-значных функций практически еще более трудно осуществимо, чем задание булевых функций. В связи с этим важным является вопрос о разработке аналитических способов задания к-значных функций. При этом, как и в случае Л=2, естествен- но было бы воспользоваться какими-либо простейшими функциями и, в частности, бинарными операциями на множестве Q. к . Множество можно рассматривать как кольцо Z /к вычетов по модулю Л, и потому можно считать определенными на операции сложения и умножения по модулю к. Будем эти операции при к>2 обо- значать теми же значками • , + , что и операции над числами. Исполь- зуя эти операции и функции-константы, можно построить кольцо мно- гочленов хп] от переменных: х19 хп. Каждый много- член этого кольца представляет А-значную функцию от п переменных. Ниже будет доказано, что при простом к, когда Qj. есть поле, много- членами представляются все А-значные функции. При составном к это не так. Действительно, если d - собственный делитель числа к, то все функции f, представляемые многочленами, сохраняют отношение срав- нимости по модулю rf: эе (mod d), г el, п ~=> / (ал, an)sf(bt9 Ъп ) (mod d). 128
Ясно, что не все А-значные функции обладают этим свойством. Исполь- зуя операции сложения и умножения, а также элементарные функции , х f 1, если а? = а, а & |^0, если х£а. можно получить представление А-значной функции, сходное с совершен- ной дизъюнктивной нормальной формой для случая А=2. •••> хп)s 5 (хп) f ( аи ап). (1) Другими, часто используемыми операциями на Q& являются ана- логи дизъюнкции, конъюнкции и отрицания: а?! V х2- max{а?х, х2 |, х2 & х2- min Jа?х, а?2}, a?==a?+l(mod А), ~а?= А-1- х (mod А). Для А-значных функций, как и в двоичном случае, можно ввести понятия суперпозиции, представления функций формулами над заданной системой функций, замыкания, замкнутой и полной систем функций и т» д. Приведем примеры полных систем А-значных функций. 1. Из представления (1) следует, что полной является система функций { 0, 1, А-1, So (а?), 8^_i (а:), хг, хг 4- х2 } . 2. Так как в разложении (1) операцию сложения можно заменить на дизъюнкцию (выбор максимума), то полной является также система функций ! 0, 1, А-1, 60(а?), ..., S, (a?), а\ х2, a?t V х21. 3. Наряду с разложением (1) имеет место еще один аналог совер- шенной дизъюнктивной нормальной формы функции 349-17
•••> xn)^VIaJa>&.lan(xn) ..., an), где t (Л-1, если x~a, J tx}^l a IO, если x tf a . Отсюда следует, что полной является система функций {0,1,..., Л-1, Щх), ...» I (а?), а?1 V х2, xt & х2 I. Л— 1 4. Теорема 1. Система функций К = I х х, х х V х2} полна. Доказательство. С помощью суперпозиции из функции xt лег- ко получить функции хх +11 а? х н- 2, • • •, а?х+(Л—1). Из них получим константу к-1 = щах I a?i + 1, ...» а?1+ 1 |, а потому и все функции-константы 0, 1, Л-1. Теперь нетрудно получить функции Iа (а?): Ia (а?)ж max { а?+ г: г е Q* \ I Л-1 - а | J +1. Как следует из примера 3, остается построить функцию xt & а?2, т. ё. min{a?w а?21. Для этого сначала построим функции . . ч 1 < г / \ 7 1 । 1 S, если х^а; /в,а(а’)=8 + 1+шах J О если 130
Теперь из них можно получить функции о (®), /а_21 (®), ...» te)J И min I я i х 2 I ~ max I ~ x 2, ~ x 2 I. 5. Аналогом функции Шеффера в Л-значной логике является функ- ция Вебба Vk («и z2) = max х2 | + 1» xt Vx2, которая одна образует полную систему. Действительно, из нее можно получить отрицание хл - max { хlf а?х 1+1= Vk { а? а? х I, а потому и функцию £-1. А так как max { х j, х2 | = (хх, х2) + к - 1, то по предыдущей теореме система функций {(xl9 х2) I полна. Приведем один критерий полноты системы функций Л-значной ло- гики. Определение 2. Будем говорить, что система функций К сохра- няет бинарное отношение р на Q* , если для любой ее функции f (х19 ... хп) и любых элементов ai9 J. е Q^, i е I, п , выполняется импли- кация Р ?>!, •••, an Р \ => f (a i, = f &ЛЬ Теорема 2. Система К А-значных функций полна тогда и толь- ко тогда, когда она удовлетворяет условиям: 1) К не сохраняет отношений сравнимости по отличным от 1 и к делителям числа к\ । 2) замыкание [А'] Системы К содержит функции Xi + x2, xt а?,2 и константу 1.
Доказательство. Если К полна, то условия 1-2 , очевидно, выполняются. Поэтому доказательства требует лишь обратное утверж- дение. Приведем доказательство этого факта, предложенное А. А. Не- чаевым. Лемма. Если система А-эначных функций К удовлетворяет усло- виям 1—2,то для любых различных элементов а, Ь /V (2) Доказательство леммы. Обозначим множество из левой части равенства (2) через Ма ь . Из условия 2 следует, что Ма> ъ яв- ляется идеалом кольца Q^«Z/4,t. е. совпадает с множеством чисел из Qfc , кратных некоторому делителю d числа 'к: мо Ь=)о, d,2d,А-Л 4- Если rf=l, то Ма, ъ = Q*. и утверждение леммы верно. Число d отлич- но от к, поскольку Ма ъ э а-Ъ Пусть теперь 1 < d< к. По условию 1 в К существует функция /(а?!,..., хп)> не сохраняющая отношение сравнимости по модулю d> т. е. такая, что для некоторых наборов а=(а„ ап), ₽=(&„ Ъ п) е Qnk выполняется условие = bi (mod d), i el, n, но mod d). Так как числа - b^ кратны d, то лежат в Ма> и потому существу- ют такие функции /1Л /п е [К], что <4 - = f- г el, п. Рассмотрим функцию + ъп+ fn(x)-fn (t)). Очевидно, что ff(x) e[tf], д(а) = f (a), = ff(a)-g(b) J Ma, ъ 132
Последнее противоречит определению множества Ма ь . Следовательно, рассматриваемый случай невозможен, т. е. d может быть только еди- ницей и потому Ма Лемма доказана. По лемме для любых различных а, Ъ в классе [ К] найдется функция ф(®), удовлетворяющая условию Тогда [ К] содержит функции вида (1, если а, О 1 О, если Ъ, а потому и функции 5 “ П\ » I 6 ' а beQ\\a\ к Таким образом, класс [Д'] содержит полную систему функций из при- мера 1. Следовательно, К - полная система функций, и теорема дока- зана* Следствие. Все &-значные функции представляются многочле- нами над Qj. в том и только том случае, когда к - простое число, т. е. - поле. Приведем пример на использование доказанного критерия полноты. Пусть к = 2П, т. е. qa«{ 0,1, 2**-l J. Тогда каждое число а е можно однозначно представить в виде а «в у (а) • 2 + ... + yi (а) • -2 + у® )> ' П-1 где у^ (а) е I 0, 11. Определим функцию t t tx) 2 a? + у (я?). Так как 2я"‘=0 (mod 2s) при s=l, 2, n-1, a t (0) t (2"’1)(mod2), To Цг) не сохраняет отношение сравнимости по делителям числа 2я МВ-18 133
отличным от 1 и 2П. Отсюда следует, что система функций 11, х1^х2, д t (х) | - полна. Приведем еще без доказательства известный Критерий Слупецкого. Пусть система й-значных функций К содер- жит все функции одной переменной, причем Тогда для полноты системы К необходимо и достаточно, чтобы # содержала функцию, су- щественно зависящую по меньшей мере от двух переменных и принима- ющую все к значений из . Критерий Слупецкого может быть усилен. А именно, условия вклю- чения в К всех одноместных функций можно заменить включением в К лишь одноместных функций, принимающих менее к различных значений, а при к^5 г- включением лишь одноместных функций, принимающих ровно к значений (т. е. функций подстановок). Интересно отметить, что при переходе от булевых функций к Л- значным функциям при к> 2 существенно меняется решение многих вопросов о замкнутых классах функций. Так, множество всех замкну- тых классов ^-значных функций счетно при к~ 2 (по теореме Поста) и несчетно при &>2. При Ь2 каждый замкнутый класс имеет конечный базис, при к>2 существуют классы со счетным базисом и классы, не имеющие базиса. Доказательства приведенных утверждений, а также много других интересных фактов о замкнутых и полных классах Л-значных функций можно найти в монографии'[ 5]. § 6. КЛАССИФИКАЦИЯ ФУНКЦИЙ Так как число | Fk (п) | (fc-значных функций от п переменных) рас- тет очень быстро с ростом л, то изучить каждую функцию отдельно не представляется возможным даже при небольших п. Кроме того, в неко- торых случаях нас могут интересовать не сами функции, а лишь опре- деленные их свойства. В связи с этим при изучении функций использу- ют различные их классификации. Рассмотрим классификацию множества функций F^ (п), основанную на эквивалентности функций относительно некоторой группы G преобра- зований множества . Так как п будет фиксированным, то для крат- кости набор переменных х19 хп будем обозначать через х и вмес- то f(x19 хп) писать f (х). Определение 1. Пусть f (а?), <р (а?) € Fk (п) и G - произвольная группа преобразований множества . Функция f называется эквива- лентной функции относительно группы G, что записывается в виде Ф, если в G существует такой элемент д, что /(«)-<₽( ?(«))• 134
Легко видеть» что отношение ~ является отношением эквивалент- нести на множестве Fk (я) и потому (п) разбивается на классы эк- вивалентности. Класс, содержащий функцию f, обозначим через [ /] с. Так как <7в(7|, (1) tr то число функций в классе [/] G. не превосходит порядка группы G: lOC/lJ I- Определение 2. Функция f (п) называется инвариантной относительно элемента д € G , если выполняется условие f(g(x))^ f(x) . (2) Множество всех преобразований д eG, удовлетворяющих условию (2), называется группой инерции функции f в группе G и обозначается в ви- де (проверьте корректность определения). Теорема 1. Если / € Fk (п) и € - группа преобразований мно- жества , то Доказате льство. Выясним, при каких д, д ' е G выполняется равенство Н^)) = /(/М)- (4) Так как преобразования д, д* взаимно однозначны, то равенство (4) эквивалентно равенству ')(«))• Значит, функции f(g(x)), f (д' (х)) различны в том и только том слу- чае, когда д"1 д’ £ lG (/), т. е. когда д и д' находятся в разных смежных классах группы G по подгруппе IG (/). Отсюда и из (1) сле- дует (3). 135
Итак, класс [/1^ будет иметь максимальный порядок, если функ- ция / имеет единичную (или, как говорят, тривиальную) группу инерции в группе G* Класс [ / ]# будет состоять из единственной функции / , если JG (f)=Gt т. е. f - инвариантна относительно всех преобразований из G (короче: относительно (?)• Число функций, инвариантных относительно группы G, зависит от числа орбит группы G на множестве (т. е. от числа различных под- множеств из Q£ вида “ 1 ?(«): 9 tG Г)'.' Очевидно, что / — инвариантна относительно G в том и только том слу- чае, когда она постоянна на любой из орбит группы G. Отсюда следует, что число функций, инвариантных относительно Gt равно кт, где т — число орбит группы G на QJ!. В частности, если группа G транзитивна, то инвариантными могут быть лишь функции-константы. В порядке иллюстрации рассмотрим случаи, когда группа С’ совпа- дает с одной из групп ^п> ’ A L (п, 0.^), где Sn~ симметрическая группа перестановок координат в векторах; 2Л- группа сдвигов множества по модулю к, т. е. преобразо- ваний вида Ла : а , а е Q™; GL(n, Qk )- полная линейная группа степени п над кольцом Q * , т, е. группа обратимых матриц размера п хп над Qp группа, порожденная группами &п и2п; AL(n,Qk) - полная аффинная группа степени п над кольцом или группа, порожденная группами GL (п, Qk) и Sn. Схема соотношений между перечисленными группами приведена на рис. 9. GL (n,Qk) Рис. 9 136
Заметим, что классы функций, эквивалентных относительно групп Sn и Qn > иногда называют соответственно разрядами и типами. Группы Sn , Qn , AL (п, Qfc) транзитивный и потому инвариантными относительно них являются лишь функции-константы. Очевидно, что любая орбита группы Sn состоит из всех векторов, имеющих один и тот же состав координат. Значит, число ее орбит рав- но числу сочетаний с повторениями из к элементов по л: (£+л-1)! -----L— п\(к-Л}\ Инвариантные относительно группы 8п ^хэначные функции называют- ся симметрическими. Число таких функций от п переменных равно В частности, при А=2 получаем: число симметрических булевых функ- ций от п переменных равно 2Л+1 - это функции, принимающие постоян- ные значения на всех векторах одного веса. Найдем орбиты группы GL (л, Q*,). Теорема 2. Орбитами группы GL (n, Q^) являются множества Md =| (ах, ..., ап) н. о. д. (а19 ап, k)*d}> где d пробегает все положительные делители числа к. Доказательство. Пусть а = (ах, ап), р=(6х, Ьп) и аЛ=р (5) для некоторой матрицы Ac GL(n, Q^). Тогда все координаты вектора ₽ являются линейными комбинациями по модулю & координат вектора а. Отсюда и из обратимости матрицы А следует, что н.о.д. (ах,..., ап, к) = н.о.д. (Ь19 ..., Ъп, к). (6) Обратно, пусть а, р - векторы из , удовлетворяющие условию (в). Покажем, что тогда можно подобрать матрицу A gGL (л, Q, ), удовлетворяющую условию (5). Ясно, что, не теряя общности/мАсно ^Штать 137
н.о.д. (aj, •••, Тогда из элементарных арифметических соображений следует сущест* вование таких целых чисел са, с3, сп > при которых н.о.д. (<Ц +с2 а2 + • •• + сп ап> Умножив вектор а на матрицу из GL (п, ), мы получим вектор (а, а2, ап)> в котором н.о.д. (а, Л) = 1. Таким образом, не теряя общности, можно считать, что первые координаты векторов а, £ взаимно просты с чис- лом к и даже равны 1. При таком условии вектор а в вектор р можно перевести матрицей вида которая, очевидно, содержится в группе GL (п, Q^). Таким образом, векторы аире условием (6) лежат на одной орбите группы GL (п, Q*)» и теорема доказана. Следствие. Число Л-значных функций от я переменных, инва- риантных относительно группы GL (n, ), равно где v (к) - число различных положительных делителей числа к. В GL (п, рости, булевых функций, инвариантных относительно группы сего 4. Это суть функции-константы 0, 1 и функции f, Т, где 138
f(x) f O’ если нУлевой вектор; 1 1, если x£$ . Представление о числе функций с тривиальной группой инерции в указанных выше группах дает Теорема 3. При достаточно больших п почти все Л-значные функ- ции от п переменных имеют тривиальную группу инерции в любой из групп Sn,lnt GL(n,Qk),Qnt AL(n, Qk ). Доказательство. Очевидно, что теорему достаточно доказать лишь для группы AL (п, Qk). Оценим сначала число неподвижных то- чек произвольного нетождественного преобразования д eAL (п, Q*.), т. е. число решений уравнения д(х)=х. (7) Если д(х) «а?4 + а, где A eGL (п, QA ), а= (а х, ) е Q* , то уравне- ние (7) приводится к виду х(Е-А)~а9 (8) где Е - единичная матрица. Если А = Е> то 6 (поскольку д - не тож- дественно), и уравнение (8) не имеет решений. Пусть А£Е и ненуле- вым элементом матрицы Е’*Л=(с..) является, например, элемент схх. Любое решение уравнения (8) удовлетворяет сравнению с1Х хх + с2Х х2 +• • • + с хп = at (mod к), которое при любых фиксированных значениях х2, хп имеет не бо- лее н.о.д. (с1Х, А) решений. Следовательно, число N& решений урав- нения (7) не превосходит кп/р, где р - минимальный простой делитель числа к. В любом случае N <кп/2. д Отсюда следует, что подстановка д (Множества Q” имеет не более независимых циклов и потому число функций, инвариантных отно- сительно преобразования д, не превосходит числа 139
А так как кп>кп\кп*'п то множество 1 всех й-эначных функций от п переменных, с нетриви- альной группой инерции в группе AL (п, &к)> содержит не более к4 £ ЛЛ+п?+п функций. Значит, множество Тп остальных функций из Fk (п), т. е. функций из Fk (п), имеющих тривиальную группу инерции в группе AL(n, Q^.), содержит не менее Лп+п2 +п 4 функций. Отсюда имеем: Следовательно, выполняется асимптотическое равенство I Г| ~ | F* <„) I , и теорема доказана. Заметим, что теорема при к=2 для группы Qn была доказана К. Шенноном в 1949 году (см. [13]). В 1963 году Б. М. Клосс и Э. И. Не- чинорук обобщили теорему Шеннона на случай, когда есть конечное поле, а группой преобразований служит полная аффинная группа над этим полем (см. [9]). Более общие и более точные результаты о груп- пах инерции многозначных функций можно найти в (7]. Так как порядок класса [/1^ определяется порядком группы инер- ции функции f в группе G, то для классификации функций определен- ный интерес представляет вопрос о порядках групп инерций и, вообще, 140
об описании возможных групп инерций в заданной группе. В связи с этим докажем следующее утверждение. Теорема 4. Для всякой конечной группы G и любого натураль- ного числа А>2 существует Л-значная функция от подходящего числа Переменных п, группа инерции которой в группе 8п изоморфна G. Доказательство. Пусть <h> —, дт I, где дх — единичный элемент группы Так как для 2 утверждение Теорема очевидно, то будем считать В качестве системы пере- менных искомой функции / возьмем множество V U У из я = т2 + л-т символов: Л« | х..; i , i el, m I, У= { у.; i el, m I, г; * г а в качестве функции / - многочлен над Н V) = S Xi, xi2 + x.^ xi2 х.з + ... + xim_2 Xim_t Xim) + i a 1 + S (y. Xi2 + У1 xi3 + • • • + y. * 2 3 m где индекс is однозначно определяется условием gi = д& • Дока- жем, что группа инерции 1(f) функции f в группе &я изоморфна (?: 1(f) ж G. При этом будет существенно использоваться следующее очевидное утверждение (проверьте его в качестве упражнения): если многочлен g(U)9 полученный из f (U) перестановкой переменных, пред- ставляет ту же функцию, что и f (V), то многочлены f (U) и ,g(U) сов- падают (с точностью до перестановки членов и сомножителей в чле- нах). Отсюда следует, что группа 1(f) состоит из всех тех перестано- вок, которые оставляют неизменным многочлен f(U)> В частности, такие перестановки обязаны сохранять число вхождений переменного в слагаемые 2-й и 3-й степени многочлена f (V). В связи с этим выпи- шем таблицу для указанных чисел. 141
Таблица 12 Символы переменных Число вхожд. в члены 3-й степени Число вхожд. в члены 2-й степени Обшее число вхождений 1 /п-1 т xix 2 0 2 xi 2 а 1 4 Xi3 3 1 4 •» • • xim-2 3 1 4 xim-\ 2 1 3 xim 1 г 1 2 Из таблицы 12, в частности, видно, что если a el (/), то а (у.) € У» Дальнейшее доказательство теоремы разобьем на несколько ут- верждений. ____ 1. Если a el (f) и а(у,)«у, для некоторого г el, т , то а=Е - г i тождественное преобразование. Так как а(у,)= у. и у. входит в единственный член 3-й степени t t yi xi\ xi2 » т0 a Должен перевести этот член в себя. Отсюда и из таб- лицы видно, что Далее, используя слагаемые *71 Xi2 Х*3 , Xi2 Xi4 , ..., X.m_2 X.m^ Xim , получим a txia )~xi8 для s еЗТяЕ. Пусть теперь / el, т и i Выберем а так, чтобы выполня- лось равенство у. y7r« у , Тогда в f(U) входит слагаемое у. а?. . А г j в j 18 так как ^\^is)^xis и xis не входит ни в какое другое слагаемое 2-й степени, то «(jf. )в^> а потому и а (х-а) * х-а. Следовательно, а - тождественная подстановка*. 142
2. Для любых г, j el, л в группе I (/) существует не более од- ной подстановки а , удовлетворяющей условию а (у£ )- у;-. Действительно, если аь(у£)-уу и а2(уг-)«Уу, то (ах а^1) (у^) = -у^ и по утверждению 1 at а"1^, т. е. а^а,. Из утверждения 2, в частности, следует, что. (9) (Достаточно зафиксировать i , a j заставить пробегать от 1 до т). 3. Существует взаимно однозначное соответствие между элемен- тами групп G и / (/). По произвольному элементу дк е G определим подстановку а к на V, положив «л(Уг)='УраАЧз)=^в<“> ffi Очевидно, что подстановка а лишь переставляет слагаемые 3-й сте- пени многочлена f(U)* Покажем, что то же самое происходит и со сла- гаемыми 2-й степени. Действительно, если /(£/) содержит слагаемое у^ хгз , то по определению многочлена f(U) в группе G выполняется соотношение ffr gt ‘К (Ю) Под действием подстановки слагаемое у а? перейдет в у х , где . t Г8 а Ьа 9t9k~9a> 9г9к‘9ь- (Н) Из соотношений (10), (11) следует у& ff~lss 9S> и потому слагаемое уа^8 содержится в /(#). Следовательно, 6 /(/)• Из определения а* видно, что аЛ / а к при £ к2. Отсюда и из ( 9) следует, что отоб- ражение ф: дка к взаимно однозначно. 4. ф есть изоморфизм группу С ,на группу I (/), т. е. U“Ve>arW Длй установления равенства a, достаточно убедиться, что бы для одного г el, ш выполняется равенство 143
4 es) Последнее осуществляется непосредственной проверкой, с использова- нием условия 144
ГЛАВА V РЕАЛИЗАЦИЯ БУЛЕВЫХ ФУНКЦИЙ Простота технической реализации двух различных устойчивых со- стояний, а также простейших операций над такими состояниями приве- ла к тому, что при переработке любой информации ее в большинстве случаев предварительно кодируют последовательностями элементов из Q= {0, 1 I. В результате переработка информации сводится к вычис- лению булевых функций или булевых операторов. Вот почему булевы функции стали*основными объектами самых различных кибернетичес- ких устройств, включая современные цифровые вычислительные ма- шины. При заданных средствах, достаточных для реализации какого-либо класса функций, реализация каждой конкретной функции, как правило, осуществима неоднозначно. В связи с этим возникают практически важные задачи об отыскании в каком-то смысле оптимальных реализа- ций и оценок границ принципиальных возможностей в классе заданных средств. В данной главе будут изложены некоторые из подходов к ре- ализации булевых функций, а также к определению и нахождению со- ответствующих оценок сложности (см. [1 ] — [5 ], [ 10 ]-[12]). § 1. РЕАЛИЗАЦИЯ БУЛЕВЫХ ФУНКЦИЙ КОНТАКТНЫМИ СХЕМАМИ Так как аргументы булевых функций и сами они принимают лишь два значения, то для их технической реализации необходимы элементы, которые могли бы находиться в двух различных состояниях. В электро- технике классическим примером такого элемента является электромаг- Штный контакт. Хотя в последние годы в качестве таких элементов используются различные полупроводники и монокристаллы, суть дела Удобнее пояснить на электромагнитных контактах. Схематически устройство такого контакта изображено на рис. 10. Ш -19 145
Имеется реле, обмотка которого образует так называемую внут- реннюю цепь Л. С якорем реле связана внешняя цепь В, которая за- мыкается, когда цепь А замкнута, и размыкается, когда цепь А ра- зомкнута. Такой контакт называется замыкающим. Нетрудно себе представить схему устройства и размыкающего контакта, в котором внешняя цепь замкнута тогда и только тогда, когда разомкнута внут- ренняя цепь. Обозначим состояние электрической цепи под током через 1, а без тока через 0. Тогда, если состояние внутренней цепи контакта будет х, то состояние внешней цепи замыкающего контакта будет х, а размыкающего я. В связи с этим говорят, что замыкающий и раз- мыкающий контакты реализуют булевы функции х и х. Схематически контакты изображают в виде отрезка или дуги с приписанной буквой х, если контакт замыкающий, и х, если контакт размыкающий (см. рис. 11). Рис. 11 Соединяя контакты х*1 и х^2 последовательно, мы получим схе- му, во внешней цепи которой ток будет тогда и только тогда, когда под током находятся внешние цепи обоих исходных контактов. В связи с этим естественно говорить, что такая схема реализует функцию Аналогично схема, полученная параллельным соединением контактов х°2, реализует функцию Ух2а2^ Соответствующие контактные схемы изображены на рис. 12. Дадим теперь индуктивное определение параллельно-последова- тельной контактной схемы, или тг-схемы. 146
Определение 1. 1) Всякий контакт, т. е. отрезок или дуга с концами а, Ъ и с приписанной буквой х или а?, есть тт-схема, точки а и Ь называются ее полюсами. Рис. 12 2) Если и 52 суть тг-схемы с парами полюсов соответственно (au и (а2, Ъ2), то, совместив полюсы Ъ2 и а2, получим тг-схему с полюсами а2, Ъ2. Про эту схему говорят, что она получена после- довательным соединением схем St и S2. 3) Совместив в схемах и S2 из пункта 2 полюс с а2 и полюс bt с Ъ2, получим тг-схему с полюсами про нее говорят, что она получена параллельным соединением схем S2. 4) Других тг-схем нет. Каждой тт-схеме сопоставим булеву функцию. Определение 2. 1) Замыкающему и размыкающему контактам с приписанными к ним буквами х и х сопоставим соответственно функ- ции х и х. 2) Если тг-схемам и S2 сопоставлены соответственно функции /1 и /2, то тг-схеме, полученной из S2 последовательным соедине- нней, сопоставим функцию Л/2> а ir-схеме, полученной из S2 па- раллельным соединением, - функцию Л V f2. Будем говорить, что схема реализует сопоставленную ей функцию. Определение 3. Число замыкающих и размыкающих контактов в ir-схеме S называется ее сложностью и обозначается через bJS). На^^еньшая из сложностей тг-схем, реализующих булеву функцию /, называется сложностью функции f в классе тг-схем и обозначается через Если сравнить определение тг-схемы и приведенной формулы ал- га$ры логики, то легко заметить, что между множеством тг-схем и множеством приведенных формул существует естественное взаимно однозначное соответствие. При этом схеме сложности I соответству- ет приведенная формула длины I • Следовательно, всякая двоичная функция может быть реализована тг-схемой, причем сложность функ- Цми f в классе тг-схем равна наименьшей из длин приведенных фор- мул алгебры логики, которыми может быть представлена функция /. Отсюда видна практическая роль минимизации формул алгебры логи- W В классе приведенных формул. 147
Более общим по сравнению с понятием тг-схемы является понятие контактной схемы. До определения контактной схемы напомним определение графа и некоторых связанных с ним понятий. Обычно графом Г называют множество А вместе с фиксирован- ной системой Ф неупорядоченных пар его элементов. В связи с этим пишут: Г» (А, Ф). Элементы множеств А и Ф называют соответственно вершинами и реб- рами графа Г. Геометрически граф изображают следующим образом. Вершины графа изображают точками плоскости; две точки а и Ъ со- единяются дугой столько раз, сколько раз пара (а, &) встречается в системе Ф, причем так, чтобы дуги эти не проходили через другие вершины. Полученная геометрическая фигура называется диаграммой графа. Последовательность ребер <Ч- “<?• (“V ...<4.. в которой а. / а. при v называется цепью, соединяющей вер- шины а. и а, . Две вершины графа называют связанными, если су- го гт ществует цепь, соединяющая эти вершины. Если в графе связаны лю- бые две вершины, то он называется связным. Определение 4. Контактной схемой называется любой конеч- ный граф, в котором-: 1) каждому ребру приписана некоторая буква из алфавита {а?х, х2, ... }•; 2) выделено некоторое множество вершин, называемых полюсами схемы. Ребро вместе с приписанной ему буквой а?а называется замыка- ющим контактом,-если ami, и размыкающим, если а=»0. Каждой паре полюсов а, Ъ контактной схемы сопоставим булеву функцию fa ъ» называемую функцией проводимости между полюсами 1. Если а = Ъ, то f «1. а, Ь 2. Если а/Ъ и не существует цепей, соединяющих а с Ъ, то f И- а, о 3. Если а Ъ и множество цепей, соединяющих а с Ь, не пусто, то, сопоставив каждой цепи 148
(a, a. ), (ait a. ), (a£ , b) Ъ1 Ъ1 Ъ2 771 — 1 с приписанными ее ребрам буквами ж?1, х?-1 , .... х. т конъюнкцию а?... , fa fa ПОЛОЖИМ f . = F®®*®®2 ... Х?т , а» Ъ fa fa J т где дизъюнкция берется по всем цепям, соединяющим а с b. Говорят, что контактная схема реализует булевы функции, сопо- ставленные парам ее полюсов. В частности, если полюсов всего два, то контактная схема называется двухполюсной; она реализует функцию проводимости между ее полюсами. Определение 5. Число всех используемых в контактной схеме S замыкающих и размыкающих контактов называется сложностью схемы и обозначается через Наименьшая из сложностей контактных схем, реализующих двоичную функцию f, называется сложностью функ- ции f в классе контактных схем и обозначается через Легко видеть, что всякая п-схема является двухполюсной контакт- ной схемой, а реализуемая ею функция является функцией проводимости между полюсами. Отсюда следует, что всякая булева функция может быть реализована контактной схемой, причем Вместе с тем существуют контактные схемы, не являюциеся тг-схема- ми. Простейшим примером может служить так называемая мостиковая контактная схема (см. рис. 13). Эта двухполюсная контактная схема реализует функцию f Л?! Л?з V Л?| Д/д ®3 V 149
К настоящему времени не существует практически приемлемых методов, позволяющих по любой заданной функции строить реализуют щую ее контактную схему или тт-ехему наименьшей сложности (мини- мальную схему). Поэтому естественно искать методы построения не обязательно минимальных, но более или менее экономных схем. В этом смысле одним из лучших в настоящее время считается так на- зываемый метод каскадов (см. [ 11]). Для построения контактной схемы методом каскадов сначала для заданной функции f(xl9 а?п) находится система каскадов р0, рх> ... В • Каскад р. представляет собой систему функций от л-г пе- ременных ..., ; р0 состоит из единственной функции /. Если р^ уже построен и состоит из функций ), /-1, .... к. , то Pi+j строится следующим образом. Разложим каждую из функций /Л по переменному : xn-i-^xn-i V fi+i, —» xn-i-i Ь 7 1 1 и в качестве 0 возьмем множество всех различных ненулевых функций из множества функций 4+1,$.' 4+1, После перенумераций получим р. == I /. . ( а?х, ..., х . )•: j е Li/”}.. 'г + 1 'г+1, р 1 * п-г-1' / • г + 1 ’ Контактная схема строится покаскадно. Сначала строим контакт- ную схему, реализующую все функции каскада р^^-; затем получен- ная схема достраивается до контактной схемы, реализующей функции из₽п-2*ит’д- Мы покажем: 1) как строится контактная схема для каскада р^ t и 2) как контактная схема, реализующая все функции каскада р^ , достраивается до схемы, реализующей каскад р^ 1) Каскад р,^ состоит из функций от одной переменной и содержит самое большее три функции 150
(1) Для их реализации мы строим 4-полюсник, у которого один полюс а считаем входным, а остальные три полюса al9 а2, as соответствуют функциям (1) так, что х19 xlt 1 есть функции проводимости между по- люсом а и соответственно полюсами а\, а2, а2 (см. рис. 14). На схеме отрезок с меткой 1 есть просто проводник, т. е. точку а3 можно считать совмещенной с точкой а. Рис. 14 2) Пусть мы имеем контактную схему, в которой функция прово- димости между полюсами а и + есть функция fi + 1- + ;=1,... ..., (см. рис. 15). Для достройки этой схемы берем t точек ..., и сопо- ставляем точке функцию каскада |к . Теперь точки сое- диняем контактами с точками * по следующему правилу. Если /..=»/. . (®1> .... & , ) х . V/. , . (а?.. .... х . )х » + 9 п—г—п—г 'И* Uj ' w * п—г-?г л—г 20* 151
и функции Л ОТЛИЧНЫ от нуля, то точку контактами х . и а? . л — ъ л—г соответственно с точками а.. соединяем а. и а - г+ih Если же /. . -О или или а. а /. . =0, то точку а .. соединяем с точкой г+ V2 соответственно контактами хп . или х п—ъ л—г ^п-г ) есть ФУНКЧИЯ проводимости меж- Очевидно, что f.Ax. ду полюсами а и . После построения каскада (30 мы получим полюс Ь, соответст- вующий функции /, и двухполюсную контактную схему с полюсами а, Ъ, реализующую функцию /. Пример 1. Построить контактную схему для функции /(a?w ..., а?п) счетчика четности. По определению /(а)®1 тогда и только тогда, когда в наборе а содержится четное число единиц. Отсщца видно, что / == а?.® я2ф ... фх ф 1. ' а л Построим для нее каскады р0, р1д Сначала заметим, что я?!® е 1ф Л хп У («1е ••• ® xn-i е 1) s 3 (xv9 ... ®»n_1)a>nV(a?l® ... Xt9 ... 9 Хп = (Х19...9ХП_19 1)ХП\/(Х19 ...® Х^ } Хп . 152
Отсюда видно, что Ро=1/1. Э1= ••• «I® <•••*„_! ®1 I и, вообще, ₽i= {«1® -®®п-г > x>*-9xn-i ®1к Теперь легко построить искомую контактную схему (см. рис. 17). На этой схеме обозначения вершин графа выбраны так, что /а, ^=«1® ...®«Ь /а, ^=«1® ...*«f®l. Сложность схемы равна 4(n- 1). Метод каскадов может быть применен и к реализации системы функ- ций. Рассмотрим реализацию таким методом системы всех булевых функций от п переменных. Пример 2. Контактная схема с полюсами п- ’ 2 в которой множество функций проводимости между полюсом а и полю- сами ...д Ъ п. совпадает с множеством F2(n) всех булевых функций 22 от п переменных, называется универсальным многополюсником. Универсальный многополюсник можно построить методом каскадов, если за каскад принять множество функций Г2(п-г). Обозначим по- строенную таким образом контактную схему через Мп и докажем, что Для я» 1 утверждение верно. Пусть оно верно для п, докажем для п+1. При достраивании схемы Мп до Л/Л + 1 мы на каждую ненулевую функцию от п+ 1 переменного расходуем один или два контакта в зави- симости от ее разложения по переменной а?п+1. Если в разложении •••» V/a(a?„ ..., ®n)s„+l (2) 153
функции Д и /2 ненулевые, то добавляется два контакта; если же одна из функций Л, /2 равна нулю, то добавляется один контакт. Подсчитаем, сколько у нас встретится тех и других случаев. Для этого заметим, что всякая функция /бГ2(я+ 1) представляется в виде (2), и наоборот, если в разложении (2) функции Д и /2 заставить независимо друг от друга пробегать все функции от п переменных, то получим 2^-2^-^" булевых функций. Из всего сказанного следует: если в разложении (2) функции и f2 будут независимо пробегать множество F2(n), то f пробежит точно по одному разу все функции из F2 (n+ 1). Значит, по одному контакту пона- добится Добавлять в 2(2^- 1) случаях (когда Л = О, а /2-любая не рав- ная нулю из F2(n), и наоборот). В остальных П + 1 _П 22 -2(2 -1)-1 случаях понадобится по два контакта. Отсюда, учитывая предположе- ние индукции, получим: LK(Mn) + 2(2^1) + 2[2^1 2-2*+2»2 -2+2«2* -2-4-22+4-2•2* . Из доказанного утверждения видно, что при построении универсаль- ного многополюсника методом каскадов на каждую функцию в среднем требуется не более двух контактов. § 2. НАХОЖДЕНИЕ МИНИМАЛЬНЫХ ДИЗЪЮНКТИВНЫХ НОРМАЛЬНЫХ ФОРМ Как было отмечено в § 1, минимальная сложность тг-схемы, реали- зующей булеву функцию /, равна наименьшей из длин приведенных фор- мул, представляющих функцию /. В связи с этим имеется большое чис- ло работ, посвященных нахождению приведённых формул по возможно- сти наименьшей длины для произвольной булевой функции /*. При этом наиболее интересные результаты относятся к нахождению формул наи- меньшей длины не среди всех приведенных формул, представляющих функцию /, а лишь среди дизъюнктивных нормальных форм (ДНФ). Рас- смотрим этот вопрос подробнее . [ 1, 3]. 154
Определение 1. Дизъюнктивная нормальная форма называется минимальной (сокращенно МДНФ), если она имеет наименьшую длину среди всех равносильных ей ДНФ. Определение 2. Элементарная конъюнкция вида где is при s и п для з € I, 4, называется импликантой функции f(xu хп)9 если она входит в какую-нибудь ДНФ, представля- ющую функцию f. Заметим, что последнее условие можно сформулировать иначе. На- пример, оно равносильно каждому из следующих условий: а % a) f(x„ ...,хп)Х!х^ ... xik ‘fix^ ..., хп); ОС б) (х^ ... Xik -f {хи ...» хп)) = 1. В общем случае, если /Уф-Л то говорят, что функция ф поглощается функцией /,. или / поглощает ф. Следовательно, можно сказать, что импликанта функции f есть элемен- тарная конъюнкция вида (I), которая поглощается функцией /. Определение 3. Импликанта функции f называется простой, ес- ли никакая ее собственная часть не является импликантой функции /. Импликанту функции /(®х, хп)9 вида назовем совершенной. Лемма 1. Пусть <рх, у2-импликанты функции f(xu Импли- канта <рх поглощает \р2 тогда и только тогда, когда <рх является частью импликанты \р2. Пусть <рх есть часть ц/2, т. е. *. Тогда по закону поглоще- ния 4>ХЛ/ 4^4/ г т. е. (2) Обратно, пусть имеет место (2) и ух не есть часть у2. Тогда ух содер- <4 жит сомножитель 9 который не входит в Возможны два случая: а) у2 не содержит переменного х^ б) у2 содержит множитель xi . 155
I Так как содержит х^ 9 то может принимать значение 1 лишь при X} «а^. В то же время из условий "а" и "б" видно, что существует набор а значений переменных, в котором и\р2(а)® 1. Таким обра- зом, yja) Vy2(a)= 1,“а yi(a) = 0, что противоречит условию (2). Значение простых импликант объясняется следующим утверждением. Теорема 1. Всякая импликанта функции /, содержащаяся в какой- либо МДНФ функции /, является простой. В самом деле, пусть ... VyA (3) есть любая МДНФ функции /, где .... ц/^-импликанты. Допустим, что импликанта не простая. Тогда найдется ее собственная часть у', которая является импликантой функции f, т. е. (4) Из леммы 1 следует, что , (5) Из равенств (3)-(5) имеем: /=(фЛ ... VyA) V ... Так как то (3) не есть МДНФ функции /. Полученное проти- воречие доказывает теорему 1. Таким образом, всякая МДНФ функции f составляется из ее про- стых импликант. Определение 4. Дизъюнкция всех простых импликант функции f называется сокращенной ДНФ функции f. Так как каждая импликанта функции f поглощается некоторой ее простой импликантой, то сокращенная ДНФ функции f представляет функцию /. Определение 5. ДНФ y2V ... функции f называется тупиковой, если цл-простые импликанты f и фЛ ... Vyi+1 v ... при любом г е 1, А. Из всего сказанного виден путь нахождения МДНФ функции /: сна- чала находим сокращенную ДНФ, затем все тупиковые ДНФ. Тупиковые ДНФ наименьшей длины и будут минимальными ДНФ. Ниже мы покажем, как найти сокращенную ДНФ и все тупиковые ДНФ функции. 156
7 Заметим, что при небольших значениях п (например, при п = 2, 3, 4, 5) МДНФ функции f можно находить из следующих наглядных соображений. Назовем множество n-мерным единичным кубом, а каждый набор (а„ ..., ап)- вершиной это- го.кубаж Каждой функции f(xt, ял) сопоставим множество Afyel(flw •••> an)*f(au В частности, множество сопоставленное элементарной конъюнкции % aik ..., ... хц , где при.з^, назовем гранью размерности п-к или ранга к. Ясно, что грань W • состоит из всех наборов значений переменных хи ..., а?п, в которых х? **а} , ..., Xi а значения остальных переменных про- извольны: |^|«2П“Л» Для любых функций f(xu хп), у(х19 ..., хп) очевидны следующие соотношения: */=*<₽; 2) 3) Л^ф-А^ил^. Из 1—3 легко следуют утверждения: 4)/VTs/<=>^cN/; т т г= 1 г в 1 Отсюда видно, что задача нахождения МДНФ функции f эквивалент- на нахождению такого представления множества Nf объединением гра- ней, в котором сумма рангов граней минимальна. При этом роль простых импликант играют максимальные грани, т. е. грани, входящие в множество Nf, которые не входят в грани боль- ших размерностей, содержащиеся в Л^. Таким образом, для нахождения искомого представления множества Nf гранями нужно сначала найти Все максимальные грани, а затем удалять из них грани, содержащиеся в объединении остальных^ Из получающихся таким образом "неприводи- мых* представлений множества Nf максимальными гранями следует Выбрать искомое (самое экономное) представление. Пример. Найти сокращенную и минимальную ДНФ функции /»х^х2х2У x1x2x2V х2х2х2У х2х2х2У х1х2х2\1 х2х2х в. 157
Изобразим геометрически трехмерный куб, подписывая около каж- дой его вершины ее координаты (см. рис. 18). Отметим на кубе верши- Рис. 18 ны, содержащиеся в Nf9 и найдем максимальные грани в Nf. Из черте- жа видно, что в Nf входят лишь грани размерности 0, т. е. точки О, А, С, А„ Ви Си и грани размерности 1, т. е. ребра АО, AAt, AtBt, В2Си ССи СО. Значит, максимальными являются 6 граней размерности 1. Им соответствуют простые импликанты функции /: х2х* xtx2, х2хи х2хи х2х2, х2х2. Значит, / s х j х , V х t х а V х 2 х з V х! х, V х t х 2 V х 2 х s есть сокращенная ДНФ функции f. Из чертежа видно также, что мно- жество Nj содержится в объединении лишь трех граней AAi9 В2С^ СО или А\Ви ССи АО. Отсюда имеем две МДНФ f — х2х2 Vх2х, Vх2а?з, f=xlxi\ix2X,Nx tx2., Для отыскания сокращенных и минимальных ДНФ функций от 4 перемен- ных можно использовать проекцию 4-мерного единичного куба, изобра- женную на рис. 19. Теперь рассмотрим аналитические методы нахождения сокращен- ных, тупиковых и минимальных ДНФ. 158
А) Нахождение сокращенной ДНФ булевой функции по ее совершен- ной ДНФ. Рис. 19 Предварительно введем термины и обозначения. Условимся через обозначать элементарную конъюнкцию длины Л. Элементарные конъюнкции (г) «1 “к “к*1 аг -*ik^k Ч + 1 <4-1 ак •Xik-1 *к (г) а акы «г X' X- ... Xi , ~к »А+1 *• S’ отличающиеся показателем лишь у одного переменного, называются со- седними. Если в некоторой системе элементарных конъюнкций конъюнк- ция не имеет соседних, то она называется изолированной. Очевидно, что ak-i ак-ц • Xi Xj гк-\ 4 + 1 аг (г-1) — ®i. ’V Будем говорить, что получена склеиванием конъюнкций и Ч*»Г\ а получены расклеиванием конъюнкции Теперь можно описать алгоритм нахождения сокращенной ДНФ функции f(xu хп). 159
1) Для каждой элементарной конъюнкции совершенной ДНФ функции f находим все соседние с ней конъюнкции, входящие в совершенную ДНФ. 2) К каждой паре соседних конъюнкций применяем операцию склеи- вания и из полученных таким образом элементарных конъюнкций длины п—1 выбираем множество всех попарно различных конъюнкций. В итоге получим1: /=( v vj •••» i = l где изолированные элементарные конъюнкции, а Д - дизъюнкция всех полученных в пункте 2 элементарных конъюнкций длины n—1. Аналогично, применяя операции 1 и 2 к функции Д, получим: —>/«)• Будем продолжать этот алгоритм до тех пор, пока не получим функцию fm(xu хп)9 в которой все элементарные конъюнкции изолированы. Ниже будет доказана Теорема 2. ( V 4'(”))V( V ^n-1))V ... V( V ч^П’т>) (6) г=1 г г = 1 /=1 есть сокращенная ДНФ функции f. Тот факт, что ДНФ (6) равна /, очевиден. Остается показать, что она сокращенна, т. е., что множество входящих в нее элементарных конъюнкций совпадает с множеством всех простых импликант функции /. Сначала дадим Определение. Дизъюнктивную нормальную форму назовем насыщенной, если i=i i=i для любой элементарной конъюнкции , отличной от . 16G
Примером насыщенной ДНФ может служить любая совершенная ДНФ. Она насыщена в силу своей единственности для каждой булевой функции. Справедливость сформулированной выше теоремы легко следует из следующего утверждения. Лемма. Пусть ГН /« V чА (7) г = 1 насыщенная ДНФ; чч , ..., ч*/ суть все ее изолированные конъюнкции и А= v ; = i 7 (8) дизъюнкция всех элементарных конъюнкций длины г-1, полученных при- менением операций 1-2 к ДНФ (7). Тогда: 1°. ДНФ (8) - насыщенна; 2°. ..., есть множество всех простых импликант длины г функции /; 3°. Множество простых импликант длины г- 1 функции f совпадает с множеством простых импликант длины г-1 функции Д. Доказательство. 1°. Пусть ц/г“х)-любая элементарная конъ- юнкция длины г-1 и Применяя к операцию расклеивания, мы получим пару соседних элементарных конъюнкций и которые содержатся в ДНФ (7) в силу ее насыщенности. Но тогда к ним должна была применяться опера- ция склеивания и полученная при этом конъюнкция содержится в (8). Это и означает, что ДНФ (8) насыщенная. 2°. Так как ДНФ (7) насыщенная и ее элементарные конъюнкции, имеющие соседние конъюнкции, не могут быть простыми импликантами, то все простые импликанты длины г функции f содержатся среди ....•- Допустим, что некоторая из них, например не является про- стой импликантой функции f. Это означает, что некоторая собственная (г) часть конъюнкции чч поглощается функцией /. Тогда, очевидно, в ка- честве такой собственной части можно взять элементарную конъюнкцию длины г-1: 349-21 161
А так как и ДНФ (7) насыщенная, то t|/f) содержится в (7). Следовательно, в (7) элементарная конъюнкция у; ' имеет соседнюю, т. е. не является изо- лированной. Полученное противоречие и доказывает утверждение 2°. 3°. В одну сторону утверждение 3° очевидно. А именно, всякая про- стая импликанта длины г-1 функции f является простой импликантой функции f, Докажем обратное. Пусть ц/ -простая импликанта и не является таковой для / . Это означает, что существует собственная часть ц/*, которая погло- щается функцией /. В качестве такой части можно выбрать элементар- (г-2) ную конъюнкцию у (Г-1) (Г-2) Так как для некоторого xit не входящего в /V^r’2^s/ и ДНФ (7) насыщенная, то все элементарные конъюнкции содержатся в (7), а поскольку они не являются в (7) изо- лированными, то Д Следовательно, не есть простая импликанта для Д, что противоречит выбору Пример. Найти сокращенную ДНФ для функции / 5= Я?2?j 2?V *Р 1 *1?2 i V Д?£ Ф’з Д/д V 2?* 2?£ з V 2? J #j •₽ j 2?V V X ^Х 2Х 2Х X 2Х j2? 3 2? 4 V X12? 2Х 2Х 4 V X 2?2 2?з Х4 V Х^Х2Х2Х^* Замечаем» что изолированных элементарных конъюнкций, здесь нет. В результате склеивания всех пар соседних конъюнкций и приведения подобных, получим: fl = xix2x2V x2x2x4Vxtx2xA\/ х2х2х4\1 х1х2х2У &t&iX4 Ух2х2х4 V \f Х2Х2 X 4 V X J X 2Х 3V X ±Х 2Х з V 2? 12? 3Х 4 V X j X з 2? 4 V ХцХ2 X2\f X 2Х2 X 4 V X 3Х з 2? 4. Здесь изолированными являются лишь конъюнкции 162
х2х3х4. Применив операцию склеивания к соседним конъюнкциям, будем иметь: /2 н «J х2 V х3 х3 V х3 V х3 х3. ♦ В полученной функции все конъюнкции изолированные. По доказанной выше теореме xtx2x4V х2 х3х4 V xtx2 V х2х3 Vxt х3 V х3х3 есть сокращенная ДНФ функции Б) Нахождение сокращенной ДНФ булевой функции по ее произволь- ной ДНФ. В искомом алгоритме нахождения сокращенной ДНФ будет исполь- зоваться равносильность ^АУ^/2в^Л7^/27А/2 Для любых формул /и /2, не содержащих х{. Эта равносильность непо- средственно проверяется при ^=0и^=1. Пусть имеется представление булевой функции / в виде дизъюнкции ее импликант: /=ЧЛ Vvp2 V... (9) 1) Найдем в (9) импликанты вида д такие, что в (9) нет импликанты кр', равносильной конъюнкции кр' у*.. Тогда, заменив в (9) цл V ^. на др^ V^Vy', получим новое представле- «ие функции f в виде дизъюнкции импликант. Теперь преобразование такого же типа применим к полученному представлению и т. д. до тех пор, пока не получим ДНФ, к которой не применимо преобразование типа L 2) К полученной ДНФ применим закон поглощения, заменяя дизъ- Юнкции вида V куц/ на др до тех пор, пока это возможно. В итоге получится сокращенная ДНФ булевой функции /. Этот факт следует непосредственно из доказываемого ниже утверждения. Теорема 3. Если к какой-либо ДНФ Л булевой функции хп) применить всевозможные преобразования типа 1, то получится ДНФ В функции /, содержащая все простые импликанты функции /. Доказательство проведем индукцией, по числу п. При n= 1 утвержде- ние очевидно. Пусть п> 1 и <р- простая импликанта функции f. Если ее длина ^(<р)«п, то кр присутствует в любой ДНФ функции Л а потому и 163
в В. Пусть Цц>)< п, т. е. существует ie 1, п, такое, что у не содержит xi, Представим функцию f в виде fsXihVxiffM t, где Л, д, t - функции, не зависящие от xi. Так как у - импликанта /, то »pV х^Мх^У е=х^Ух£дУ Отсюда при 1 и а^=0 получим соответственно, что у поглощается функциями Л \f t, V2, а потому и функцией A=(AVO(<7VO. Легко видеть, что у ~ простая импликанта функции Л и В содержит ДНФ функции Д. Отсюда и из предположения индукции следует, что у содер- жится в В. Теорема доказана. Таким образом, с помощью преобразований типа 1 мы получим ДНФ, содержащую все простые импликанты функции f, а преобразовани- ями типа 2 избавимся от всех непростых импликант. В итоге получится сокращенная ДНФ функции Д В) Нахождение сокращенной ДНФ булевой функции по ее КНФ. Пусть т h-Ui- (10) i = i представление функции f в виде конъюнктивной нормальной формы. 1) Раскроем в (10) все скобки по правилу дистрибутивности конъ- юнкции относительно дизъюнкции, удалим из полученной формулы тож- дественно ложные конъюнкции, а остальные заменим на равносильные им импйканты функции /. В итоге получим ДНФ функции /: ... V«p (П) 2) Удалим из ДНФ (11) каждую элементарную конъюнкцию, которая поглощается какой-либо другой конъюнкцией из (11). В итоге получим сокращенную ДНФ функции /, поскольку ДНФ (11) содержит все простые импликанты функции /. Последний факт доказы- вается по той же схеме, что и теорема 3. Докажите его в качестве .упражнения. Г) Нахождение тупиковых и минимальных ДНФ булевой функции по сокращенной ДНФ. По определению тупиковой ДНФ все ее импликанты простые и пото- му содержатся в сокращенной ДНФ. Отсюда следует, что для нахожде- ния тупиковых ДНФ нужно уметь выяснять, поглощается ли в ДНФ про- №4
йзвольная элементарная конъюнкция дизъюнкцией остальных. Для реше- ния последнего вопроса докажем критерий поглощения. к Лемма. Пусть ДНФ А = V цл поглощает конъюнкцию у и ч^д. s 0. i~i k-i Тогда ш поглощается ДНФ 4'= V у.. i=i г Допустим, что это не так, т. е. 4'V 4^ 4'. Тогда для некоторого набора значений переменных а 4'(а) = 0, у (а)=1. А так как 4^ = 0, то Ч^(а) = 0, а потому и 4(a) = 0. Следовательно, 4 Vy/4, т. е. не по- глощается ДНФ 4, что противоречит условию. Функции Д и f2 называются ортогональными, если /х^0. Доказан- ная лемма позволяет при исследовании на поглощение некоторой конъ- юнкции не принимать во внимание ортогональные к ней конъюнкции. к Теорема (критерий поглощения). Пусть 4 = V у.—некоторая г = 1 ДНФ; - конъюнкция, не ортогональная ..м ч^; - конъюнкция всех сомножителей, входящих в у0 и чл , а ч^ - конъюнкция остальных сомножителей из цл; ф . = 1 при ш . = цл. ДНФ 4 поглощает у0 тогда и in oi i только тогда, когда к V 4^1- (12) 1 Доказательство. Пусть выполнено условие (12) и 4 Vkp0 /А. Тогда существует набор значений переменных а, такой, что уо(а) = 1, 4(а) = 0, а потому и . (а)= 1, г= 1, ..., к. С другой стороны, по условию к 01 ” __ (12) V у ^(а)=1, а потому ч>^(а)=1 для некоторого i е 1, к. Пусть, на- i = i пример, ч^и (а) = 1. Тогда (а) у 1Х (а) = (а) = 1 и, следовательно, 4(а)= 1. Получили противоречие. Обратно, пусть 4 Vye =4 и условие (12) не выполнено. Тогда для некоторого набора а . (а) = 0, г- 1, ..., к. Так как ч\ 0, то в ч^ не может входить отрицание какого-либо сомножителя из у0* Следователь- к но, в ч> ., а потому и в ДНФ V у • входят лишь переменные, не входя- к »=1 1г к щие в ч^о • Пусть, например, в V Y • входят переменные а*х, ..., хт> а в i = i 1г *»- ®о. Тогда ат> ®то+1, ...» ®„) = 4(а„ ат, хт+1, 0 349—22 165
при любых значениях хт+1/ ..., хп. Так как ц>0 не ортогональна цл, то уо^0, а потому для некоторых рт+1, ..., рп имеем у.(аи ..., ат, р^+1,... ..., ₽n)= 1. Таким образом, при т£п\ ат, Pm+i» •••> ₽n)V<Po (дм •••> ат> Pfn+i> ₽n)^ /Л(ао • ••> am9 Pm+1, ..., pn), что противоречит условию. При т = п условие (12) тривиально. Пример. Используя критерий поглощения, найти МДНФ для функ- ции предыдущего примера. Сокращенная ДНФ нашей функции имеет вид: х2х2х4 V х2х3х4 N х2х2 V х2х3 V х2х3 \/ х2х3, (13) Выясним, какие из конъюнкций этой ДНФ не поглощаются дизъюнкцией остальных. Рассмотрим конъюнкцию х2х3. Она не ортогональна лишь конъюнкциям х2х2, х2х3х4, которые не поглощают ее, поскольку не вы- полняется условие (12): я?2 Vх2х4 = 1. Аналогично не поглощается остальными и х±х3. Далее убеждаемся, что в (13) каждая из конъюнкций х±х2, х2х3 поглощается остальными и в ДНФ . ---—--------- — . М а?х а?2 a?4>V я?аа?эа?4 V я?2 a?s V ххх3 V xtx3, хt х2 х4 V х2 х з х4 V хх х2 V xt х3 V х t х 3 каждая из конъюнкций х1х2х3, х2х3х4 поглощается остальными. Удаляя конъюнкции, поглощаемые остальными, получаем 4 ДНФ: х jх2 а?4 V х2 х3 V а?х х3 V х2,х3, xtx2x4 V xtx2 V x2x3\l х2х3, х2хзVх2хз Vх 2 х 3\/ х ^х 3* я?2а?3ау4 Va?tz2 Vх2х3У х2х3' В этих ДНФ ни одна конъюнкция не поглощается остальными, а потому это суть все тупиковые ДНФ функции f. А так как они имеют одну и ту же длину, то все являются минимальными. В заключение этого параграфа мы укажем еще один метод нахожде- ния МДНФ из сокращенной ДНФ-метод Квайна (см. [1]). Рассмотрим его на предыдущем примере. Составим таблицу 13, у которой во вход- 166
цую строку входят все конъюнкции совершенной ДНФ функции /, а во входной столбец—все конъюнкции из сокращенной ДНФ. Таблица 13 1111 1110 1101 1100 1001 1000 оно ООН 0010 0000 0111 а?ха?2а?4 4- 4- + + + 4- »2 а?3 + 4- 4- 4- ж1а?3 4- 4- 4- 4- 1 4~ 4- 4- 4- Я?2а?За:4 4- 4- На пересечении строки с конъюнкцией , со столбцом с конъюнк- цией у. ставим знак ”+" в том и только том случае, когда поглоща- ет кр., т. е. является частью у.. Далее, глядя на таблицу, мы должны выбрать из сокращенной ДНФ минимальное число конъюнкций, которые бы поглощали все конъюнкции совершенной ДНФ. В нашем случае мы замечаем, что конъюнкция xtx2x3x4 поглощается только конъюнкцией Х1Хг. Значит^ ж3 должна входить в любую тупиковую ДНФ функции f. По тем же соображениям в любую тупиковую ДНФ входит С другой стороны, из таблицы видно, что для поглощения всех элементарных конъюнкций совершенной ДНФ функции / нужно взять из сокращенной ДНФ конъюнкции xtx2t xtx2x4, или хгх29 х2х3х4, или а?2а?3, а?1а:аа?4,или а?2а;3, х2х2х4. В итоге мы приходим к указанным выше четырем минимальным ДНФ функции/. § 3. РЕАЛИЗАЦИЯ БУЛЕВЫХ ФУНКЦИЙ ФУНКЦИОНАЛЬНЫМИ СХЕМАМИ В последнее время все большее распространение получает способ построения схем для реализации булевых функций из комплексов эле- ментов. Каждый элемент (модуль) комплекса имеет определенное число входов и выходов и реализует некоторый фиксированный набор функций, соответствующих выходам схемы.,Обычно комплексы строятся так, что- бч множество всех функций, реализуемых его элек^ентами, было пол- 167
ной системой булевых функций. В дальнейшем для простоты мы будем рассматривать лишь элементы с одним выходом, так, что каждому эле- менту будет сопоставлена вполне определенная булева функция. Эле- мент с п входами и одним выходом будем изображать в виде треуголь- ника с п отростками сверху и одним-снизу (см. рис. 20) и называть /-элементом, если ему сопоставлена функция /. Рис. 20 Набор функций, соответствующий элементам комплекса, называют его базисом. Прежде чем определять понятие функциональной схемы, определим вспомогательные понятия сети и ее вершин (см. [ 5]). Определение 1. Сеть строится из полюсов, изображаемых кру- жочками вида о, и из заданной системы элементов следующим индук- тивным образом. 1. Полюс есть сеть. Он является единственной вершиной этой сети. 2. Объединение двух сетей без общих вершин есть сеть. Ее верши- нами являются все вершины исходных сетей. 3. Результат присоединения каждого входа элемента к определен- ной (единственной) вершине сети есть сеть. Ее вершинами являются все вершины исходной сети и выход присоединенного элемента. 4. Других сетей нет. Полюсы сети называются также ее входами. Определение 2. Функциональной схемой в базисе К называется сеть,в которой: 1. Каждому входу (полюсу) сопоставлен символ из множества х2, ...I, так, что разным входам сопоставлены разные символы; 2. Каждому элементу с п входами сопоставлена функция от п пере- менных из множества 3. Выделено некоторое подмножество вершин, называемых выхода- ми схемы. Теперь определим функции, реализуемые функциональной схемой в базисе Л". Для этого каждой вершине а схемы сопоставим булеву функцию /а, положив: 1) = если а есть полюс, которому сопоставлен символ х^еХ*, 2) /а^чНфх, •••» Фп)> если а есть выход элемента с п входами, у- функция из К, сопоставленная этому элементу, а фх, ..., <рЛ-функции, 168
допоставленные вершинам, с которыми соединены соответствующие входы указанного элемента. Говорят, что функциональная схема реализует булевы функции, со- поставленные ее выходным вершинам. Пример. Построить функциональную схему в базисе = । 1 1 V X J, X 11 , реализующую булеву функцию f 5 (х X jJ X 5 V Хр Искомая схема представлена на рис. 21. Около каждого ее элемен- та указан символ соответствующей функции &, V или , звездочкой от- мечен выход схемы. Ход построения схемы очевиден. .Определение 3. Сложностью функциональной схемы S в некото- ром фиксированном базисе К называют общее число ее элементов. На- именьшая из сложностей функциональных схем в базисе К, реализую- щих функцию f, называется сложностью функции f в классе функцио- нальных схем с базисом К и обозначается через (/). Из определений 1, 2 и определения формулы над К легко следует, что если булева функция представляется формулой над К ранга г, то она реализуемся функциональной схемой с базисом К сложности г. Та- ким образом, вопрос о минимизации схем сводится к минимизации фор- мул (по рангу). Замечание. Техническая реализация самих элементов функцио- нальной схемы (точнее, соответствующих им функций) обычно осущест- вляется по принципу контактных схем. В том случае, когда элементы базиса К явно равноценны по своей сложности, их наделяют весами, и тогда под сложностью схемы понимают сумму весов ее элементов. В качестве другой меры сложности функциональной схемы исполь- зуется понятие ее мощности, связанное в некотором смысле с потреб- ляемой ею энергией. Определение 4. Пусть 5 - некоторая функциональная схема и а-набор значений переменных, сопоставленных выходам схемы. Мощ- ностью схемы S на наборе а называется общее число E(S, а) элемен- тов схемы, выходам которых сопоставлены функции, принимающие зна- чение 1 на векторе а. Мощностью схемы S называется величина Е (S)-maxff (S, а), а Теперь можно определить мощностную сложность булевой функции f в классе функциональных схем с фиксированным базисом К: 169
E (f)~n\nE (S), где минимум берется по всем схемам S рассматриваемого класса, реа- лизующим функцию /. Рис. 21 Каких-либо регулярных и реально осуществимых способов построе- ния оптимальных (в смысле сложности или мощности) функциональных схем, а также и контактных схем для произвольной булевой функции к настоящему времени не найдено. Однако имеются весьма сильные ре- зультаты асимптотического характера для сложности почти всех функ- ций от п переменных (при п->«>). Некоторые результаты такого типа приводятся в следующем параграфе. § 4. ФУНКЦИИ ШЕННОНА И ИХ ОЦЕНКИ Для описания сложности контактных схем К. Шенноном в работе [ 12] была введена числовая функция LK (я), равная такому наименьше- му числу, что контактными схемами сложности не более Lк (я) можно реализовать любую булеву функцию от п переменных: (n) = max L (/), К /^а(п) к 170
или подробнее/ L {п)~ max (min LUS)), к feF2(n) S к где минимум берется по всем контактным схемам S, реализующим функцию/. Аналогичные функции можно ввести и для других типов схем, реа- лизующих булевы функции, при различных определениях сложности схем. Все такие функции называют функциями Шеннона. Примерами функций Шеннона являются функция LK(n)= max ftF^n) для л-схем и функции L (n)= max L (f), f*F2(n) Е (n) = max Е (/) feF2(n) для функциональных схем в любом фиксированном базисе. В отмеченной выше работе [ 12] был указан подход к нахождению нижних оценок функций Шеннона и найдена нижняя оценка для (п). Точнее, была доказана Теорема 1. Для любого е> 0 и достаточно больших п выполняет- ся неравенство 2П причем доля функций /eF2(n), для которых 2П L'VM,И-). стремится к нулю с ростом п. Для доказательства этой теоремы Шенноном была использована весьма простая идея, состоящая в следующем. Подсчитаем число N(n, к) не эквивалентных двухполюсных контактных схем сложности L< к9 реа- 2П лиэующих функции от переменных а?л,и сравним его с числом 2 . Если окажется, что N (п, к) < 2 , то это будет означать, что не все дво- ичные функции от п переменных могут быть реализованы контактными 171
схемами сложности L< к, т. е. найдется хотя бы одна функция f€Ft(n), для которой (/)> к, а потому и подавно LR (п)> к. Более точно эта идея отражена в следующем очевидном утвержде- нии. Лемма 1. Если для некоторой функции А(п) с ростом п N (п, к(п)) g (1) то, начиная с некоторого п, LK(n)>k(n), причем доля функций /еГ2(п), для которых к(п), стремится к нулю. Теперь мы оценим число N (п, к). Лемма 2. N (п, (спк)к, где с —некоторая константа, не зависящая от п. Сначала заметим, что сложность контактной схемы —это число кон- тактов в ней, или число ребер в соответствующем ей графе. Кроме того, если в схеме имеется изолированная вершина, отличная от полюса, то, отбросив ее, получим схему, реализующую ту же самую функцию. По- этому число W (п, к) не превосходит числа неэквивалентных двухполюс- ных контактных схем, которые имеют не более к ребер, не содержат изолированных вершин, кроме, может быть, полюсов, и реализуют дво- ичные функции от переменных ..., агя. Указанные схемы получаются из соответствующих графов с двумя фиксированными полюсами приписыванием к каждому ребру некоторой буквы . Поэтому сначада подсчитаем число неизоморфных графов с h ребрами, двумя фиксированными вершинами-полюсами и без изоли- рованных вершин-не полюсов. Так как каждое ребро содержит две вер- шины, а изолированными вершинами могут быть лишь полюсы, то число вершин такого графа не превосходит 2Л + 2. Каждая вершина может сое- диняться ребром с любой другой вершиной и с собой. Поэтому число различных пар вершин равно г = С\ +сх. =2Л2 + 5Л + 3. гЛ+2 2Л+2 172
Теперь из всех этих пар вершин нужно выбрать Л пар, при этом следует учесть, что одна и та же пара может выбираться много раз, ибо две вершины в нашем графе могут соединяться несколькими различными ребрами. Отсюда не превосходит числа сочетаний с повторениями из г элементов по Л, т. е. (г+Л; >+Л-1Ч Л! ? (2Ла + 6Л + 2)Л Л! А так как Л!> (это следует из формулы Стирлинга), то Теперь нужно каждому ребру графа приписать один из 2п символов xi> xi> Это можно сделать ровно (2п) способами. В итоге получим (60Лп)Л контактных схем сложности Л. Теперь осталось просуммировать по Л от 0 до к* к К 1е N (n, А)< S (60Лл)Л< (спк)*. Л==о Теперь для доказательства теоремы Шеннона достаточно показать, 2Л что при к(п) = — (1-е) и п-*оо выполнено условие (1). Действительно, из (2) следует, что log2 - к = log2 N (п, £(п))-2п< 22” р°82с+log2n+log, ^-+logj(l-e)l -2n = 4 n / 1 = I_(l-e)(n+O(l))-2n = -e .2" + O( 2. n \ r Отсюда видно, что lim Iog2 П -* oo # (n, fc(n)) n 22 173
а поэтому lim — П 2з Этим теорема Шеннона доказана. Верхние оценки для функции L# (я) получаются сложнее, поскольку для их получения необходимо уметь эффективно строить контактные схемы в заданных пределах сложности для реализации всех булевых функций из F2 (я). Отметим без доказательства относящийся сюда результат Шеннона: для любого £> 0, найдется такое я(е), что для я> я(е) П + 2 L?rW<JT-(1 + e)- Этот результат в 1958 году был улучшен Лупановым О. Б.» который, создав оригинальные и достаточно тонкие методы синтеза схем, дока- зал (см. [ 10]), что для любого в и п> п(е) 2ft ^(п)<^-(1 + в). Отсюда и из доказанной выше теоремы Шеннона вытекает асимптоти- ческое равенство (2) Итак, из всего сказанного видно, что при достаточно больших п почти все двоичные функции от я переменных имеют максимальную 2П сложность в классе контактных схем, порядок которой совпадает с — * В конце 50-х годов О. Б. Лупановым были доказаны также асимпто- тические равенства для сложности тг-схем и S<">~Tr <4> для сложности функциональных схем в базисе К0 • 174
Подробное и доступное изложение доказательств соотношений (2), (3), (4) содержится в работе! 10]. Для доказательства каждого из этих соотношений автор находит асимптотически совпадающие нижние и верх- ние оценки для соответствующих функций^ Нижние оценки находятся изло- женным в доказательстве теоремы 1 методом Шеннона. Верхние —путем синтеза соответствующих схем. Мы проиллюстрируем его в наиболее простом случае, на отыскании оценки сложности функциональных схем в базисе Ко (см. [ 10], [ 5]). Теорема 2. При я-*«> имеет место асимптотическое неравенство Доказательство. Пусть f(xu ..., #Л)-любая булева функция. Разобьем множество переменных ..., хп} на подмножества {... ..., ..., а?Л1, где Л-пока произвольный параметр, 1< к< я, гИ зададим функцию / таблицей 14. Разобьем строки матрицы Mf значений функции / на полосы ... ..., Ар по з строк в каждой полосе, кроме последней, в которой строк может оказаться з. Обозначим через /^ функцию, значения которой совпадают в поло- се А± со значениями функции / и равны нулю во всех остальных случа- ях. Если т - столбец значений функции /^ в полосе то обозначим че- рез /^ т функцию, матрица значений Mf которой получается из Mft заменой в полосе А^ всех столбцов, отличных от т, нулевыми столбцами. Представим функцию /^ т в виде произведения функций и зави- сящих соответственно от переменных хи ..., и + а?п. Мат- рица М получается заменой в Mf, столбцов полосы А^, равных Ч, Т * столбцами из единиц, а М . - заменой в полосе А± матрицы Mf. всех 175
столбцов столбцами т. Очевидно равенство х-v Л — 4 т * * (5) называемое 1-м представлением функции /. Пользуясь представлением (5), построим функциональную схему, реализующую функцию /. Схема будет состоять из 6 блоков (см. рис. 22). Рис. 22 Блок реализует систему всех конъюнкций вида ап-к *1 -хп-к (6) и содержит п-к элементов-отрицаний и не более п-к — 1 элементов-конъ- юнкций. Следовательно, его сложность Блок В2 реализует систему всех конъюнкций вида °п-Л+1 ап xn-k+i ••• хп » (7) 176
и потому If Ъф{Вг)^к.2 . Блок В3 реализует все ненулевые функции исходя из конъюнк- ций (6). Очевидно, что при фиксированном i каждая конъюнкция вида (6) используется только в одной из функций Отсюда следует, что / £ \ Т /г* \ — х- [ 2 ,11 суП—гС £ф(в3)<?.2 + . Блок В< реализует все функции вида //Д’, исходя из конъюнкций (7). Так как f^2? есть дизъюнкция не более з конъюнкций вида (7) при Д2’^0 ,Т о , (2) п * ” и двух КОНЪЮНКЦИЙ при 4, Т - т0 £ф(В4)<з.2в-?О-2в (v + 1) * Блок В, реализует произведения т т 'г, т и потому /Л \ Вф(В,)«2в (J- + 1J. Блок Вt реализует f как дизъюнкцию функций т и В итоге имеем: * Ь (Bi)«(n-fc).2n’Sfc.2fc+(^ + l\2n-fc+s.2s + 2s+1). ф г = 1 \ / Теперь требуется минимизировать полученную оценку как функцию от параметров Не. Мы опустим все рассуждения, связанные с обосно- ванием их выбора, а сразу положим: £=[31ogn], s = [n-51ogn] (логарифм двоичный). Тогда имеем: 349-23 177
(л-*) , Ь2*< (31ogn)-ns, na Отсюда и следует, что А так как полученная оценка верна для любой функции /бГ2(п), то тео- рема доказана. В литературе рядом авторов, в том числе и О. Б. Лупановым, рас- сматривалась функция Шеннона L (п) и для функциональных схем в про- извольном конечном базисе. Оказалось, что для любого конечного ба- зиса существует такая константа С> что 2П п В связи с этим интересно отметить, что для функции Шеннона Е (п) порядок роста существенно зависит от выбора базиса и может иметь 2П п вид па, — и 2пу, где / -положительная константа, зависящая только от базиса (см. [9]). В этой же работе рассмотрен вопрос об одновремен- ной минимизации функций L (/) и Е (/). 178
ГЛАВА VI ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ Введение Слово алгоритм (или алгорифм) происходит от имени арабского ма- тематика (из Хорезма) Мохаммеда ибн Мусы Альхваризми (IX в.), из трактата которого Европа в XII в. познакомилась с позиционной систе- мой исчисления и с арифметическими действиями над числами в таких системах. В связи с этим и само понятие алгоритма ассоциировалось вначале с искусством счета. Постепенно понятие алгоритма деформиро- валось и к началу XX в. под алгоритмом стали понимать четко опреде- ленную процедуру решения некоторого класса задач, или преобразова- ния исходных данных (условий задач) в выходные данные (ответы к за- дачам). Конечно, приведенное пояснение ни в коей мере не может слу- жить определением понятия алгоритма. Однако таким весьма туманным пониманием алгоритма математики довольствовались вплоть до XX в., цока не появилась необходимость в доказательстве отсутствия алгорит- мов для решения некоторых классов задач. Дело в том, что к началу XX в. в математике накопилось много задач алгоритмического характера, не поддававшихся решению, несмотря на многочисленные усилия мате- матиков. Примером может служить известная 10-я проблема Гильберта, сформулированная им в докладе "Математические проблемы", произне- сенном в 1900 году на II Международном конгрессе математиков в .Париже [7]. Эта проблема заключалась в нахождении способа, позволяю- щего за конечное число операций установить, разрешимо ли произволь- но заданное диофантово уравнение (алгебраическое уравнение с целыми коэффициентами) в целых числах или нет. Наличие таких задач зарож- дало у математиков идею о доказательстве отсутствия алгоритмов их решения. Результаты об отсутствии алгоритмов решения задач теми или иными ограниченными средствами к тому времени уже были. На- пример, было известно, что задачи трисекции угла, удвоения куба и т.п. неразрешимы с помощью циркуля и линейки. Однако теперь речь шла об отсутствии алгоритма вообще. Для решения такого рода задач необ- 179
ходим был новый качественный скачок в математике, А именно, нужно было дать точное определение понятия алгоритма, поскольку невозмож- но доказать отсутствие чего-то туманного и расплывчатого. Задача определения алгоритма была решена в 30-х годах XX в. в ра- ботах математиков и логиков Гильберта, Гёделя, Чёрча, Клини, Посяа и Тьюринга. Было дано несколько разных определений понятия алгорит- ма. При этом Гильберт, Гёдель, Чёрч и Клини подошли к понятию алго- ритма через вычислимые арифметические функции, а Пост и Тьюринг— через сведение алгоритма к элементарным преобразованиям слов в ко- нечных алфавитах. Второй подход к определению алгоритма был использован в 40-х годах и советским математиком А. А. Марковым (1903—1979). Опреде- ленные им алгоритмы получили название нормальных алгоритмов Мар- кова. Прежде чем дать строгое определение алгоритма, математики про- анализировали известные примеры алгоритмов и выделили наиболее общие их свойства. Для выявления этих свойств рассмотрим и мы пов- нимательнее, например, хорошо известный из курса алгебры алгоритм Евклида нахождения наибольшего общего делителя двух натуральных чисел. В нем предписывается делить с остатком 1-е число на 2-е, за- тем 2-е на полученный (первый) остаток, затем 1-й остаток на 2-й оста- ток и т. д. до тех пор, пока не получится остаток, равный нулю. Послед- ний, не равный нулю, остаток и будет искомым наибольшим общим де- лителем. В итоге любая пара натуральных чисел а, Ъ преобразуется в число dt равное их наибольшему общему делителю: а, b -> d. Характерными свойствами алгоритма Евклида являются: 1) массовость - алгоритм может быть применен к любой паре нату- ральных чисел, причем сама схема работы алгоритма не зависит от ис- ходных данных (в любом случае дели 1-е число на 2-е и т. д.); 2) дискретность-весь алгоритм можно разбить на отдельные эле- ментарные операции (шаги алгоритма), которые могут быть занумеро- ваны натуральными числами в порядке их выполнения; 3) детерминированность-каждый шаг алгоритма однозначно опре- деляется его предыдущими шагами; 4) конечная определенность-исходные данные, а также результаты каждого шага алгоритма и ответ записываются в виде конечных после- довательностей символов исходного конечного алфавита. Нетрудно видеть, что указанными свойствами обладают и другие известные нам алгоритмы, например, алгоритмы умножения целых чи- сел, многочленов и матриц, алгоритм Гаусса для решения систем ли- нейных уравнений и т. д. На примере алгоритма Евклида просматриваются не только общие черты алгоритма вообще, но и упомянутые выше два подхода к общему 180 z
определению алгоритма. А именно, с одной стороны, это вычисление значений некоторой числовой функции двух переменных а, b t а с дру- гой* преобразование одной последовательности символов (цифр чисел а и Ъ, разделенных запятой) в другую последовательность (цифр чис- ла </). Конечно, не все алгоритмы должны иметь дело с натуральными числами, однако слова в произвольном конечном (и даже счетном) алфа- вите можно занумеровать натуральными числами и потому любой алго- ритм можно свести к вычислению арифметической функции. Тем самым строгое определение алгоритма при первом подходе по существу сво- дится к нахождению какого-то строгого и конструктивного описания всех вычислимых арифметических функций. При втором подходе требу- ется четко определить элементарные преобразования слов и последова- тельности их выполнения во всех алгоритмах. В каждом из имеющихся в настоящее время определений алгоритма, по существу, описывается некоторый класс алгоритмов и приводится обоснование того, что решение любого класса задач сводится к алго- ритму из выделенного класса. Обоснование, как правило, заключается в построении большого числа примеров и в доказательстве замкнутости выделенного класса алгоритмов относительно различного рода комбина- ций алгоритмов (композиции, объединения, разветвления и т. п.). Наи- более убедительным доводом в указанном обосновании явилось доказа- тельство равносильности всех имеющихся определений алгоритмов. В итоге к настоящему времени в математическом мире сложилось доста- точно единодушное мнение о законности имеющихся определений алго- ритма, так что если доказывается отсутствие, скажем, нормального алгоритма для решения какого-либо класса задач, то говорится об от- сутствии алгоритма вообще. В данной главе мы опишем три различных определения понятия алгоритма и приведем простейшие примеры на доказательство теорем об отсутствии алгоритмов для решения некоторых задач. В заключение отметим, что наличие алгоритмически неразрешимых задач ни в коей мере не противоречит общепризнанному положению диа- лектического материализма о познаваемости мира. Дело в том,, что в теории алгоритмов речь идет об отсутствии общего алгоритма для ре- шения слишком широкого (бесконечного) класса задач, а не какой-либо отдельной задачи. § 1. НОРМАЛЬНЫЕ АЛГОРИТМЫ Каждый нормальный алгоритм (НА) является определенным процес- сом преобразования слов в некотором конечном алфавите и задается набором допустимых элементарных преобразований и правилами, опре- деляющими порядок применения этих преобразований. При этом в каче- стве элементарного преобразования используется замена одного вхож- дения подслова в слове некоторым другим (или тем же словом). Всевоз- 181
можные замены для заданного НА определяются его схемой, а последо- вательность проведения замен —схемой и некоторыми дополнительными соглашениями. Эти соглашения одни и те же для всех НА, а потому НА, по существу, однозначно определяется алфавитом и схемой. Определение 1. Схемой нормального алгоритма Йв алфавите A~lat,au ал| называется упорядоченная последовательность Yi Ci . . . . (1) Рт у Q т 1тт слов Р. у, Qt в алфавите Л и {-» ,• }, где Р. , ф.—словав алфавите Л, а есть слово или * При этом слово Р схемы (1) называется ее *-«й формулой с левой частью Р. и правой частью Q. . Формула 7? у^ Q, называется простой, если у^ есть-», и заключи- тельной, если у. есть -♦ •. г Действие НА Й на слово R в алфавите Л описывается следующим определением. Определение 2. Пусть R - слово в алфавите Л и хотя бы одно из слов Ри ..., Рп является его подсловом. Элементарным преобразование ем слова R по нормальному алгоритму 0 со схемой (1) называется за- Mfena в R первого вхождения слова р с наименьшим номером г el, т словом Q- . Если результатом указанного элементарного преобразова- ния является слово Rt, то пишут Й: R у йх, т. е. й: R-*Rt или й:Д-иЯа. Определение 3. Говорят, что НА Й в алфавите Л применим к слову R в алфавите Л и перерабатывает его в слово R&, если существу- ет конечная последовательность слов Я = Яв , «1, (2) /С в которой 1)Й:Л.-Л. , i =0,1, .... к-2; ' г г + 1 9 9 9 9 9 2) или "* ^к и слово не содержит подслов Р„ Р . х т В противном случае говорят, что алгоритм Й не применим к слову й. I 182
Из приведенных определений естественным образом извлекается описание процесса переработки слова R по нормальному алгоритму й (или нормальным алгоритмом й). А именно, по заданному слову R НА й строит последовательность слов. Если R не содержит подслов Рх, ... • »м Р » то эта последовательность одноэлементна и состоит из единст- венного слова Я. Если же R содержит хотя бы одно из подслов Ри .... ..., то производится его элементарное преобразование по НА Й, в результате чего получается вполне определенное слово Яи Если при переходе от Я к Ях использовалась заключительная формула, то иско- мая последовательность двухэлементна: R, Rt. В противном случае так же, как и выше, по слову Ях строится слово Яа и т. д. В процессе по- строения указанной последовательности могут представиться три раз- личные возможности: или на каком-то шаге будет использована заклю- чительная формула схемы алгоритма, или появится слово, не содержа- щее подслов Р , ..., р или не произойдет ни того, ни другого. В пер- т вых двух случаях мы получим конечную последовательность, послед- нее слово которой называют результатом применения НА к слову R и обозначают через Й(Я). В третьем случае процесс преобразования слов по НА Й будет длиться бесконечно, это и означает, что НА Й не применим к Я. Таким образом, НА й в алфавите А задает частичное отображение множества ИЦ4) всех слов в алфавите А в себя. Выбирая различные схемы, мы будем получать различные НА. Если Я-алфавит, содержащий 4, то НА в алфавите В называются нормальными алгоритмами над алфавитом А» Приведем примеры нормальных алгоритмов. При этом буквой Л бу- дет всегда обозначаться пустое слово (в любом алфавите). 1. НА в алфавите А со схемой Л-** Л перерабатывает любое слово R eW ( А) в себя, причем последователь- ность слов, соответствующая слову R, имеет вид: Я, Я. 2. НА со схемой Л->Л не применим ни к одному слову. Последовательность, соответствующая слову Я, будет бесконечной: Я, Я, Я,... 3. НА й в алфавите А со схемой 183
приписывает к любому слову R eW (4) слева слово Q: &{R)~QR. 4. Построим НА в., приписывающий к любому слову R е V/ (А) справа фиксированное непустое слово Q е W (4). Это сделать несколько слож* нее, чем приписывание слова Q слева. Для этого удобнее расширить ал- фавит А, добавив к нему одну, новую букву а, и построить искомый НА в алфавите A' = AU{«] (т. е. над А). Нетрудно проверить, что нужное нам преобразование будет осуществлять НА со схемой а а х -* а а а 2 -> а2 а а а -> а а п п а *.£ А -*а Последовательность слов, соответствующая произвольному слову R в алфавите А, для этого НА имеет вид: R'aitai •" ai >а ai — а а. а а. ... а. , 12 гк \ г» Ч Очевидно, что то же самое преобразование слов будет осуществ- лять НА, полученный из 2 любой перестановкой первых п формул его схемы. В связи с этим вместо первых п формул схемы пишут просто ах -> ха , а? еА, так, что вся схема запишется в виде: сха? ->ха , х е А, of Q> А -> а. Заметим, что, выполняя свою задачу приписывания к словам из Ж (А) справа слова q9 мы совсем не интересовались переработкой слов в ал- фавите А> содержащих букву а. Здесь алгоритм а будет действовать иначе. А именно, слово R в алфавите Асодержащее к вхождений бук- вы а, он будет перерабатывать в слово 184
R* Q a ... a к -i где R' получается из R удалением всех вхождений буквы а (т. е. R‘ есть проекция R в алфавит Л).. 5. Построим НА й, перерабатывающий любое слово R- th ... ... а. е W(А) в перевернутое слово R = a. а. ... а. . Для этого доба- гк Ък-1 S вим к А две новые буквы а, р и возьмем следующую схему й в алфави- те Л2 = Ли {а , р }. аа -* Р, Р а? -> а?рл х е А, Р--А, ъху+уах9 х9 у еА, Л -*а. Проследите в качестве упражнения, что' й (/?)=/? для любого слова R в алфавите Л. Приведем еще примеры НА над числами. Условимся натуральное число п записывать в виде п вертикальных палочек: я-В- |. 6. НА в алфавите {1, +} со схемой + осуществляет сложение натуральных чисел. 7. НА в алфавите {|, #, а, р| со схемой ₽Н1 Р, а | -| р а , а * Л, | ♦ -» *а , * | ** *» * -*А, ₽ 185
осуществляет умножение натуральных чисел. Заметим, что рассмотренные нами примеры и большое число других примеров НА можно найти в монографии А. А. Маркова [4]. Там же А. А. Марков формулирует и обосновывает свой принцип нормализации алгоритмов. В формулировке этого принципа участвуют математически определенное понятие нормального алгоритма и не определенное, а лишь интуитивное понятие алгоритма, и потому для изложения принципа нор- мализации нам также придется пользоваться обоими этими понятиями. § 2. ПРИНЦИП НОРМАЛИЗАЦИИ АЛГОРИТМОВ Пусть Й есть алгоритм (в интуитивном смысле), решающий ка - кой-то класс задач. Так как условие и ответ к каждой задаче записыва- ются словами, например русского языка, то, не теряя общности, можно считать, что алгоритм Й перерабатывает слова в некотором конечном алфавите А. В этом случае будем говорить, что Й есть алгоритм над 4. Из самого назначения алгоритма й следует, что нас интересует его действие , лишь на те слова в алфавите А, которые являются записями условий наших задач. Например, в алгоритме сложения натуральных чи- сел мы интересуемся его действием лишь на слова вида |... | + |... | (с одним вхождением символа + ), к другим словам он может быть и не- применим. В связи с этим естественно считать, что алгоритм Й к ка- ким-то словам R применим и перерабатывает их в слова Й(£),а к неко- торым - неприменим. В крайних случаях множества слов, к которым Й применим или неприменим, могут быть пустыми. Определение 1. Два алгоритма Й, £ над алфавитом А называ- ются эквивалентными относительно А, если они применимы к одним и тем же словам из IV (А) и каждое слово из W (А)9 к которому они приме- нимы, перерабатывают в одно и то же слово. Этот факт будем записью вать в виде й (Я) - £ (R), R eW (4). Принцип нормализации алгоритмов, сформулированный А. А. Марковым, заключается в следующем. Всякий алгоритм над алфавитом А эквивалентен от- носительно А некоторому нормальному алгоритму над А. Короче его формулируют еще и так. Всякий алгоритм нормализуем. Таким образом, принцип нормализации, по существу, утверждает, что с точностью до эквивалентности все алгоритмы исчерпываются нормальными алгоритмами. Подчеркнем, что принцип нормализации алгоритмов не может быть доказан, ибо он устанавливает связь между неопределенным (интуитив- ным) понятием алгоритма и точно определенным понятием НА. Этот 186
принцип можно лишь как-то обосновать, подкрепить разумными довода- ми и после этого принять или не принять. Согласившись с этим принци- пом, его можно считать точным определением4 алгоритма (алгоритм- это нормальный алгоритм), и потому для доказательства отсутствия алгоритма для решения .какого-то класса задач достаточно доказать от- сутствие НА, решающего этот класс задач. Для обоснования своего принципа А. *А. Марков приводит большое число примеров нормализации известных алгоритмов, а также доказы- вает, что различные комбинации НА сами являются НА. Этот довод весьма убедителен, поскольку в практике человека сложные алгоритмы обычно строятся путем различных сочетаний простых алгоритмов. Так, наиболее часто используется композиция алгоритмов, когда к резуль- тату действия одного алгоритма применяется другой алгоритм. В связи с этим для примера докажем следующее утверждение. Теорема. Если йх и Й2-НА над алфавитом А, то их композиция Й2о Йх эквивалентна относительно А некоторому НА над А, т. е. суще- ствует НА £ над А, такой, что £(/?)-й2 (Й, (/?)),/?€ (У (А). Доказательство. Пусть й, и tt2 — НА соответственно в алфа - витах А0 А2 и А.Э А, г = 1, 2. Для простоты рассмотрим случай, когда Ах = А2~ А. Уёловимся схему алгоритма Й. обозначать той же буквой Каждой букве а. алфавита А сопоставим символ а., и множество всех полученных таким образом символов обозначим через А. Образуем новый алфавит В -AUA U{a> р| и рассмотрим НА £ в алфавите В со схемой: ха -* axf х е А, аа? -» аа?, а? бА, а; у -♦ х уу € А, х р ->ря, х еА, рх ->ря?, х бА, х у -> ху, х, у € А, ар -»• Д, а,’--, а,°. 197
где Й*-схема, полученная добавлением к схеме Йх формулы Л-Л, (1) с последующей заменой всюду точки • символом a, a flf9 а- схема, полученная добавлением к схеме й2 формулы (1) с последующей заменой каждой буквы а в А буквой а,, каждой точки буквой р и каждой форму- лы вида Л-Р формулой а -» а Р. Сначала заметим, что добавление к схеме любого НА & формулы (1) приводит к эквивалентному алгоритму й'. В применении к слову R разница между fi и Й' заключается лишь в условиях окончания работы. Если fl (R) = Q и в слово Q не входит ни одна из правых частей формул из fl, то алгоритм Й 1 сделает после этого еще один шаг по формуле (1) и снова выдает слово Q. Теперь можно проследить работу НА £ в применении к слову R eW (А). Так как в И7 (4) не входят буквы из A U I а, (3 }, то к слову R будет вначале применяться алгоритм Й®. Если йх не применим к Л, то и не применим, а потому и £ не будет применим к Р. Если же Йх при* меним к R и flx (R} = Qt то Й“ переведет R в слово вида Q' а Q" которое затем формулой zaj а я переведется в слово а Q. Далее, с помощью формул ах -» ах и ху у мы придем к слову а Q, где Q - слово, полу- ченное из Q заменой букв а на а. К слову aQ применимы лишь форму- лы схемы а. При этом, если Й2 не применим к Q, то ,осне будет применим к a Q. Если же ft2 (Q)-P, то, применяя к а Q алгоритм flf,а, а затем формулы вида а? р -♦ р а?, р а? $ х н ху ху, мы придем к слову а рР, к которому применима лишь формула а р Л. В итоге получим: £ применим к R тогда и только тогда, когда Йх применим к R и йа при- меним к ftx (Р) , причем в этом случае £(#)« й2 (Йх (Я)). Используя доказанную теорему и НА сложения, вычитания и умно- жения натуральных чисел, мы можем утверждать существование НА для вычисления любого многочлена над N. На практике часто используется также разветвление алгоритмов: к слову R применим алгоритм й, если оно удовлетворяет некоторому свойству (♦) , и алгоритм £ в противном случае. Нетрудно доказать, что если й, £-НА и свойство (♦) можно рас* познавать некоторым НА, то и указанное разветвление можно реализо- вать подходящим НА. 188
§ 3. МАШИНЫ ТЬЮРИНГА В 1936 году независимо одна от другой появились работы английско- го математика А. Тьюринга и американского математика Э. Поста, в которых были даны уточнения понятия алгоритма или "эффективной про- цедуры" для решения массовых задач в терминах некоторых идеализи- рованных вычислительных машин, называемых теперь машинами Тью- ринга или Тьюринга-Поста. Устройства этих машин у А. Тьюринга и Э. Поста отличаются лишь несущественными деталями, а именно, проце- дура вычислений у Э. Поста раздроблена на более мелкие операции, чем у А. Тьюринга. В настоящее время в литературе описано много различ- ных модификаций таких идеализированных машин. Мы далее рассмотрим одну из них, называя ее машиной Тьюринга (сокращенно МТ). Машина Тьюринга, как и нормальный алгоритм, предназначается для переработки слов в некотором конечном алфавите Л = ! aQi ... ..., называемом внешним алфавитом машины. Слова в алфавите А записываются на ленту МТ, разбитую на ячейки, так, что в каждую ячейку записывается какая-либо одна буква алфавита Д. Сама лента называется внешней памятью МТ. Предполагается, что лента в процес- се работы может наращиваться, т.е. ленту можно считать потенциаль- но бесконечной в обе стороны. Все вновь пристраиваемые ячейки запол- няются символом а0 , который называется пустым символом. Переработка слов, записываемых на ленту МТ, осуществляется в дискретном времени по тактам, занумерованным натуральными числа- ми, под действием так называемого управляющего устройства. Послед- нее в каждый такт может находиться в одном из конечного множества состояний Q > Яи •••> гп1, называемых внутренними состояниями. Управляющее устройство связано с лентой так называемой считы- вающей головкой, которая в каждый такт находится против одной из ячеек ленты (обозревает одну ячейку). По команде управляющего блока, зависящей от внутреннего состояния и от содержимого обозреваемой ячейки, машина или останавливается или переходит в новое состояние, в последнем случае головка заменяет символ обозреваемой ячейки но- вым символом из А и остается против той же ячейки или сдвигается на одну ячейку вправо, или сдвигается на одну ячейку влево. При этом если головка обозревала последнюю (первую) ячейку ленты и ей дана команда сдвинуться вправо (влево), то к ленте справа (слева) автома- тически добавляется новая ячейка с буквой а0 . Оказавшись в состоя- нии МТ прекращает работу называют стоп-состоянием). Из приведенного описания видно, что положение МТ в каждый мо- мент времени полностью определяется следующими параметрами: 189
1) словом, записанным на ленте; 2) внутренним состоянием; 3) номером обозреваемой ячейки. Если в некотором такте работы МТ на ее ленте записано слово Р = а. ... а, , управляющее устройство находится в состоянии q. и голов- к ка обозревает ячейку с номером т, то всю эту информацию можно запи- сать одним, так называемым машинным, словом г~' ' к (символ внутреннего состояния записывается перед буквой, записанной в обозреваемой ячейке). При переходе к новому такту машинное слово меняется согласно системе команд МТ. Изменения зависят от состоя- ния q. МТ и от содержимого обозреваемой ячейки. Поэтому каждая команда записывается в виде формулы q.a. + q а К 3 г st (1) где q -новое состояние, а -буква, на которую заменяется а, (не ис- S С Z ключается случай а =а.)г Д —одна из букв Н, R, L, которые означают ъ г' соответственно сохранение положения головки, сдвиг ее на одну ячей- ку вправо, сдвиг на одну ячейку влево. Слова q, а а а д называ* 3 г s t ются соответственно левой и правой частями команды. Подчеркнем, что система команд МТ удовлетворяет следующему естественному условию детерминизма: каждое из слов вида qt (если q не стоп-состояние) является левой частью ровно одной команды. Это условие позволяет всю систему команд МТ записать в виде таблицы. Таблица 15 а \ 21 • • • л ' '• _• . 1 <*0 * . • • • • • • • • « '' • « *• • • • • А * * -• л • 4* t<- 1 а •. • • * 4 -а # • аг • • » • • • • • • • * • • • '* • . .. • ’ Z • • ♦ . * • '• • • • ч а m 190
Заметим, что в левых частях команд, а потому и во входной стро- ке таблицы, состояние q не участвует, поскольку в состоянии q МТ прекращает работу. п п Опишем теперь процесс преобразования слов в алфавите А описан- ной выше МТ Л с системой команд S. В начале работы МТ устанавливается в состояние <?0 , на ее ленту записывается исходное слово Р е И7 (А) и считывающая головка помеща- ется против 1-й (самой левой) ячейки (т. е. обозревает 1-ю букву слова Р). Если а. а. ... а. , то вся информация о начале работы за- h г 2 гк пишется машинным словом А. а. а. ... а. . 1 4 гк Теперь, как и при описании работы НА, сопоставим слову Рконечную или бесконечную последовательность машинных слов Ро =Р, РХ,Р2>... (2) Для этого находим в S команду вида - q. а Д г 1 3 г и в зависимости от значения Д, равного Н, R или L, в качестве Рх бе- рем соответственно слово q. сь а. а, а ап п „ 3 г гк' а, аа. . * к Если q « q^f то в качестве искомой возьмем двухэлементную последо- вательность Ро, Pt. В противном случае, как и выше, построим слово Р2 и т.д. Продолжая этот процесс, мы и получим искомую последователь- ность (2). Последовательность слов в алфавите А, полученных удалением из слов Р символов-состояний, назовем путем переработки слова Р. Если-последовательность (2) конечна и оканчивается словом Р' q P"t то говорят, что машина Я1 применима к слову Р и перерабатывает его в слово Р' P“=Q. Этот факт записывают в виде Л1(Р)=е. Если же последовательность (2) бесконечна, то говорят, что машина не применима к слову Р. Таким образом, любая МТ осуществляет частичное отображение множества слов в алфавите А в себя. 191
Приведем пример МТ, осуществляющей удвоение натуральных чи- сел. Как и при построении НА, натуральное число к будем изображать в виде последовательности к вертикальных черточек. В качестве внеш- него алфавита возьмем множество О, I, а }, где 0-пустой символ, а в качестве внутреннего- в = Чи Ч» ?»!• Систему команд зададим таблицей: Табл ища 16 Q А - 4i 41 0 н Ч2йЬ ч3он 1 q^a L Ч»а L ЧАН а Чоа L В Чг\ L В начале работы на ленту записывается слово Л~|| ... | , а вся информация о начале работы определится машинным словом Ч« I I — I • В качестве упражнения постройте последовательность машинных слов, начинающуюся словом д0 |[| . Из сравнения определений НА и МТ видно, что в последних процесс преобразования слов разбит на более мелкие операции — в них в каждый такт заменяется не более одной буквы слова. Кроме того, в них есть и другое сильное ограничение — расширение слова может происходить только за счет приписывания новых символов слева или справа от слова (т. е. в начале его или в конце). В связи с этим строить НА для реше- ния задач, как правило, проще, чем МТ. Так,задачу удвоения натураль- ного числа можно решить НА со схемой а|-»||а, а -> • Л, | -а| . В нем всего лишь три команды вместо 9 в построенной выше машине, да и число тактов работы по удвоению слова существенно меньше. На первый взгляд может казаться, что и в принципе МТ имеют меньше возможностей по сравнению с НА. Однако А. Тьюрингом и Э. Постом 192
была выдвинута гипотеза (или тезис) о том, что любой алгоритм над алфавитом А эквивалентен относительно А алгорит- му, осуществляемому подходящей машиной Тью ринга (соответственно Поста). Как и тезис Маркова А. А. о нормализации алгоритмов, эта гипоте- за не может быть доказана, ее можно лишь подкреплять какими-либо разумными доводами. Наиболее важным из них является известная к настоящему времени теорема о том, что всякий НА осуществим на МТ. § 4. НУМЕРАЦИЯ СЛОВ И АРИФМЕТИЗАЦИЯ АЛГОРИТМОВ Всякий алгоритм d в алфавите А определяет частичное отображе- ние множества слов IV (А) в алфавите А в себя: fl : IV (А) -> >И(А). Если все слова в алфавите А занумеровать натуральными числами так, чтобы разные слова имели разные номера, то по алгоритму Й можно будет определить частичную арифметическую функцию : N.- N., положив (п) - т в том случае, когда п, тесть номера соответствен- но слов Р, Q и Й(Р)=С, и полагая функцию неопределенной в других случаях. Если при этом нумерация слов осуществляется эффективно, т. е. существуют алгоритмы нахождения номеров слов и слов по номе- рам, то с помощью алгоритма Й можно вычислять значения функции d (х) при всех значениях а?, в которых она определена, т. е, функция (х) будет вычислимой. И наоборот, если мы каким-то образом умеем вычислять значения функции (х), то, по существу, мы сможем выяс- нить, в какие слова перерабатывает алгоритм й все слова в алфавите А, к которым он применим. Таким образом, при существовании эффективной нумерации слов в алфавите А описание алгоритмов в алфавите А, а тем самым и всех алгоритмов, сводится к описанию класса всех вычислимых функций. Опишем некоторые способы нумерации слов в конечном или счетном алфавите. А) Канторовская нумерация. Занумеруем сначала пары целых неотрицательных чисел, т. е. мно- жество NJ . Для этого упорядочим множество NJ., положив для пар («> У)> (и> v: 193
(х, УК (w> *>)<=»> а? + у< и+'У или а? + у = w + -У, х< и. Легко видеть, что-^ есть отношение линейного порядка на N? и суще- ствует единственное биективное отображение с2: N2 -* No , такое, что с2 (0, 0) = 0, с2 (ж» у)< ci(u> v) <=> У)-< (и, V). Нетрудно подсчитать, что (х + у) (ш + у+1) с2 (*» У) ---------------------------(1) £i и потому существует алгоритм нахождения номера любой заданной пары (as, У). Выясним теперь, как по номеру неизвестной пары с2(х, у)~п найти ее компоненты х и у. Обозначим их как функции от л: г = (я), у * Ц (п), или подробнее (с2,(х, у)), у = ?/ (с2{х, у)). (2) Исходя из равенств (1) и с2 (х, у) = п> непосредственной проверкой убеж- даемся, что (2а? + 2у +1)2 8л+ |< (2а?+2у+3)2. Отсюда имеем: х/вп + 1-1 % + у£---------------------------------- < а?+у + 1. 2 Следовательно, [V8n+1-1 1 — 2 J А так как (г+ у )(я? + у + 1) п ----------------------------------------+ х, 2 то отсюда нетрудно найти х и у, т. е. 12 (я) и Z2 (я): 194
Отсюда видно, что по номеру я пары можно эффективно найти компо* ненты этой пары. Отметим еще, что наряду с соотношениями (2) функции с2, 1*> 1} связаны также равенством при ^юбом 2 € No. Теперь индуктивно можно построить нумерации для наборов чисел любой фиксированной длины. Допустим, что для я>>2 определены вычислимые функции такие, что: 1) с —биективна, 2) с (Р(2), .... г (3))=3, п х п 1п (сп <-х'> ®п))“ хг > i £ Ъ п • Занумеруем множество Nn+l, положив с„+ , "> %.,) =сп(с« ХЛ‘Х>> "•> *„ + ,)• Так как с2 и биективны, то биективна и функция с . При этом, если с t (х.. .... х ) = г. П + 1 V 9 П+ 1 1 * то i-t ____________ *! = */(# («))» ^ = *2 W>xi = ln (2), геЗ, л+1. Определив теперь функции (, i = 1, ...» n+1, равенствами *»+, (г)=4‘ (2)), (z; (г», £+i(2)=r-- (2), мы выразим компоненты хи я? через номер г набора (хи ••»л^п+ ,)• 195
Так как функции l\, tn вычислимы, то вычислимы и функции ^ + ). Кро- ме того, имеют место тождества: с U* (»). •••> р> + ’ (з)) = 2» п+ 1 ' п+ 1 ' " п+ 1 £+1 <Сп+, (®*’ !en + .)) = ai' ie Исходя из нумераций множеств IM*, можно установить нумерацию наборов чисел из 1\!0 всевозможных длин, т. е. нумерацию множества М =N0 U >l20 U NJ U ... Определим на М функцию с, положив для любого пеМ: с К, ...» »„) = аг(сп ( xlt хп), П - 1). (При этом предполагается, что (a?t ♦) Очевидно, что с - биектив- ное отображение множества М на No , При этом еслис(а?х, ..., = то Сп(^> (2), где п=^(а) + 1и^=г»(гу(2)). Таким образом, функция с вычислима и осуществляет биективную ну- мерацию множества М. Пусть теперь требуется занумеровать множество слов W (4 ) в не- котором счетном алфавите 4 = |а0, а„ а2, ...}. Определим функцию v: IF (4) -»1Ч0 следующим образом через функцию с: V ) = с (г„ is)+l, S5>1, ** 3 v (А.) - О для пустого слова Л. Из биективности функции с легко следует, что v «.биективное отобра- жение W (4) на No. Ясно также, что значение функции v эффективно вы- числимо для любого слова % а. ... а. elF(4) и, наоборот, любое слово однозначно и эффективно восстанавливается по его номеру. 196 Г
Можно указать также способ нумерации не всех слов в алфавите А, а какого-либо подмножества В С W (Л) специально устроенных слов при условии, что имеется эффективная процедура выделения нумеруемых слов из всех слов. Для этого занумеруем сначала все слова в алфавите 4. Теперь бу- дем перебирать все слова из В в порядке возрастания их номеров и приписывать им новые номера 0, 1, 2, ... В итоге для каждого слова из В найдется вполне определенный номер и очевидно, как эффективно мо- жет быть найдено слово из В по его номеру в полученной таким обра- зом нумерации слов из В. Б) Гёделевская нумерация. Пусть X = ... i- конечный или счетный алфавит. Сопоставим каждой букве нечетное число ф (с^) = 2г +3 и занумеруем простые числа в порядке их возраста- ния ?о , Ри Pt» ••• так, что р0 =2, = 3, р2 = 5, ... Гёделевым номером непустого слова Р = а. а. ... а. назовем го г 1 число л ф(а. ) ф (а.} ^ai ) • г(Р)=рГ‘» рГг?-рк гк . Гёделевым номером пустого слова А назовем число 0. Из однозначно- сти разложения натуральных чисел на простые множители легко следу- ет, что различные слова в алфавите А будут иметь разные гёделевы номера. Кроме того, по слову мы эффективно найдем его гёделев но- мер, а по любому натуральному числу п сможем узнать, является оно гёделевым номером какого-либо слова или нет, и если является, то найдем это слово. § 5. РЕКУРСИВНЫЕ ФУНКЦИИ Как было показано выше, определение алгоритма в алфавите А можно свести к точному определению класса вычислимых арифметиче- ских функций. Такое определение было дано в 1936 году. Американский математик А. Чёрч выдвинул гипотезу о том, что класс всех вычисли- мых функций совпадает с классом так называемых рекурсивных функ- ций, определенных в работах Д. Гильберта, К. Гёделя и самого А. Чёрча (работы 1930-1936 годов). В 1936 году соотечественник А. Чёрча С. Клини расширил класс рекурсивных функций до класса частично ре- курсивных функций и сформулировал тезис о том, что класс частич- но рекурсивных функций совпадает с классом всех частич- но определенных вычислимых арифметических функ- ций. Это утверждение называют теперь тезисом Чёрча. Оно, как и прин* 349-26 197
цип Маркова о нормализации алгоритмов или тезис Тьюринга-Поста, не может быть доказано, поскольку в его формулировке присутствует не- определенное понятие вычислимой функции. Тезис Чёрча можно лишь подкреплять различными разумными доводами. Важнейшим из них явля- ется доказательство того, что любая частичная арифметическая функ- ция, вычислимая с помощью нормального алгоритма или с помощью ма- шины Тьюринга—Поста, является частично рекурсивной. Класе частично рекурсивных функций определяется путем указания некоторых исходных функций и операций, позволяющих из одних функ- ций получать другие функции. В качестве исходных берутся функции: 1) .нуль-местная функция-константа 0; 2) одноместная функция s (qj) = o;+ 1; 3) С хпУ=хт> net*, те ], я. В качестве основных операций выбираются следующие три операции: 1. Знакомая нам операция подстановки, или суперпозиции, позво* ляющая из л-местнбй функции ф и п функций fl9 получить функцию которую обозначают также в виде S (<р, Д, ^). Функция f будет опре- делена при некоторых натуральных значениях ее аргументов, если при этих значениях определены функции f и fn и <р определена в точцё, заданной соответствующими значениями функций Д, Д. В частности, если функции <р, f Д определены всюду (т.е. при любых значениях переменных), то тем же свойством будет обладать и функция /. 2. Операция примитивной рекурсии, позволяющая из тмиестной функции д и (п+2)-местной функции h получить (п+1)-местную функцию /, определенную равенствами: f (®м У +1)« A (xlt xn, у, f (x „ xn, y)). Функцию f обозначают через R (g, Л). Она будет всюду определенной, если всюду определены д и А. 3. Операция минимизации, позволяющая из (я+1)-местной функции ф получить ^местную функцию /, определяемую следующим образом. Для натуральных чисел ах, ап полагаем 198 I
если ф(л1Л у)9 как функция от у, определена при у = 0, 1, Ъ, причем Г(а„ —, ап, У)ИО при у~0, 1, Ъ-1, •••> ап> &НО- Во всех остальных случаях функция f в точке (а1# aj считается не определенной. Функцию f обозначают в виде а?Л, у)=0), или короче ц (<р)> Определение 1. Минимальный класс частичных арифметических функций, содержащий функции 0, 5 (а?), <7^ (ж1Д a-j и замкнутый отно- сительно операций подстановки, примитивной рекурсии и минимизации, называется классом частично рекурсивных функций и обозначается че- Рез \>р. Если в приведенном определении оставить лишь операции подста- новки и примитивной рекурсии, то получим определение класса примитивно рекурсивных функций. # Класс всех всюду определенных функций из К называется клас- сом общерекурсивных функций р Функции из классов К К , К называются соответственно п. р' о. р ч. р примитивно рекурсивными, общерекурсивными и частично рекурсивными функциями. Примеры. 1. Функция f (хи а?2)«ж1 + а:2-примитивно рекурсивна, так как однозначно определяется равенствами arl+ 0 = жм «>+(?+!)-(*> + ?) +1. Подробнее через исходные функции и операции S, R функция f = »1 +®2 может быть выражена в виде f(x„x2) = R (j; S (</,’ (xu x2, x3), J* (xt), J22 (xlt x2), S (s (x2), J3 (x2, x2, a;,))), или, короче, f-Rtf'SW, Jaa, 8 (S. J*)). 2. Определим функцию xz, называемую арифметической (усе- ченной) разностью: 26* 199
X г0, если x2 x2-t arx - a?2, если x2 >, a?2. Функции a?x-^l и x^x2 определяются соответственно системами равенств Г 0—1 = 0, Га?х-*0 = а?х/ 1^(2?!+ 1)- 1 = a?x, ^a?x-*- (ж2 + 1)= (a?x-^ a?2)-H. Отсюда следует, что функция х~~ х2 примитивно рекурсивна* 3. Из построенных примеров следует примитивная рекурсивность функций | х2 — х2 | , mi n { xlf х2 }, max {а?х, х2 j, поскольку: min{a?x, a?2} = a?2-u (а?2— а?х), max {а?х, х2} —- (хх + х 2)min {хх, х21 • 4* Легко показать, что функции х2 x2J х22, а:!, а также Г0, если х «0, s д (х)» { 11, если а:>0, 8 9 (»)= 1-зу (а?) примитивно рекурсивны* Сделайте это в качестве упражнения. 5. Рассмотрим частичную функцию А (а?), не определенную при х > 0 и равную нулю при х =0* Она частично рекурсивна, поскольку А (я + У= 0)- 6. Из приведенных выше примеров следует, что частично рекурсив- ной является функция-разность а;-у, которая считается не определен- ной при х < у. Действительно, легко проверить, что а?-у=ж-у (Л (у- а?)+ 1), где Л-функция примера 5. Можно показать, что примитивно рекурсивными будут функции: I х I X — - целая часть дроби — • L yj у тт (а?) -число простых чисел, не превосходящих х; 200
р (а?) - простое число с номером х\ d(x, У) - наибольший общий делитель чисел х, у; v (а?) -число различных делителей числа х; ст (а?) -сумма делителей числа а?; г и (я, у)-остаток от деления а? на у т. д. (см. [3]). Отметим некоторые простейшие факты о функциях классов К , к о» р 1. Каждая примитивно рекурсивная функция является всюду опре- деленной. Это следует из того, что свойством "быть всюду определенной” обладает каждая из исходных функций 0, s , J f а операции подстанов- ки и примитивной рекурсии сохраняют указанное свойство. 2- *n. Р С *0. р с Кч. р (очевидно). 3. Любая частично рекурсивная функция f вычислима (в интуитив- ном смысле), т. е, в каждой из точек, в которой функция f определена, ее значение может быть эффективно вычислено. Действительно, свойством "быть вычислимой" обладают исходные функции 0, s и легко видеть, что операции подстановки, примитивной рекурсии и минимизации сохраняют указанное свойство. 4. Существует всюду определенная вычислимая, но не примитивно рекурсивная функция. Первый пример такой функции был приведен учеником Д. Гильберта В. Аккерманом в 1928 году. Он построил последовательность вычисли- мых функций от двух переменных: Ро (х, У), РА®, У)» Рг (х. У)> —. в которой Ро (х, у) = х + у, Рг(х, у) = х* у, (а?, у) при п^1 определя- ется равенствами и доказал, что функция А (х)^Р% (2, х) растет быстрее любой одномест- ной примитивно рекурсивной функции, т. е. Vf(x)eKn р, 3a€N0, Va?^a:/(a?)<4(a?). Вычислимая, но не примитивно рекурсивная функция А (х) называ- ется теперь функцией Аккермана. Несколько позднее (1935—1936 годы) существование вычислимых, но не примитивно рекурсивных функций другим путем доказала венгер- 201
ский математик Р. Петер, воспользовавшись теоремой американского математика Р. Робинсона о том, что класс одноместных примитивно рекурсивных функций совпадает с минимальным классом одноместных функций, содержащим функции 5 (#)-#.+ q ( а?)»а?— [ у/х]2 и замкнутым относительно операций сложения, композиции и итерации. Из этой теоремы Робинсона следует, что все примитивно рекурсив- ные функции от одного переменного а? можно эффективно занумеровать (возможно, с повторениями): /о (*), /1 («), /2 (®). — Функция f {х, у)= очевидно, вычислима. Если бы она была прими- тивно рекурсивной, то таковой же была бы и функция (а?)«/(а?, а?)+ 1 и потому нашлось бы такое к, что при всех х eN0 f (х, x)+l = fk(x). Отсюда при х~к мы получили бы противоречивое равенство f (к, + к). Определенная выше функция f(x, у) называется универсальной функцией для класса одноместных примитивно рекурсивных функций, а метод построения функции f (я) =/^ (я) + 1 - методом диагонализации. Он широко используется не только в теории рекурсивных функций. Можно доказать, что построенная универсальная функция общерекурсивна. § 6. ПРИМЕРЫ АЛГОРИТМИЧЕСКИ НЕРАЗРЕШИМЫХ ПРОБЛЕМ 1. Проблема распознавания самоприменимости алгоритмов Первые простейшие примеры на доказательство отсутствия алго- ритма для решения того или иного класса задач были получены в самой теории алгоритмов. Проиллюстрируем это на проблеме распознавания самоприменимости алгоритмов. Эту проблему можно ставить при всех рассмотренных выше подходах к определению алгоритма. Начнем с нормальных алгоритмов. Пусть fi; НА в алфавите А«= {... Для простоты ограничимся случаем п>4. Выпишем в строчку все формулы схемы НА в, в их естественном порядке, заменяя в них -* на а , • на а и отделяя формулу от фор- n+l Л.+ 2 мулы буквой В итоге мы получим слово в алфавите 202
Bx=4Ula n + i* a . a П+2 П4-3 называемое изображением HA Й. Обозначим его через ЙИ. Теперь определим отображение т множества Ж (В) в Ж (Ао) , где Ао = {a х, а 31, положив: т (ai )«а1 a\ alt i«l, ...» n+3, т (A)«= A; ...» a. ) = i(ai )... r(ai ), я 1 к Тогда т (ЙИ) будет словом в алфавите Ао . Его называют записью НА Й и обозначают в виде Й3. Так как Ао с А, то можно ставить вопрос: при- меним алгоритм й к своей записи, или нет? Определение 1. Нормальный алгоритм Й в алфавите А называ- ется самоприменимым, если он применим к своей записи. В противном случае й называется несамоприменимым. Так как существуют НА в алфавите А, применимые ко всем словам в 4 и не применимые ни к одному из слов, то все НА в алфавите А раз- биваются на два непустых класса (самоприменимые и несамопримени- мые). Естественно возникает проблема, называемая проблемой распозна- вания самоприменимости НА в алфавите 4. Ее можно сформулировать так: существует ли НА £, который для любого НА й в ал- фавите 4 распознает, самоприменим й или нет. Ниже мы докажем, что искомого НА £ не существует. Доказатель- ство таких утверждений (об отсутствии алгоритмов) проводится мето- дом сведения к другим утверждениям такого же рода. В итоге все тео- ремы об отсутствии алгоритмов сводятся к одной. Такой первой теоре- мой об отсутствии НА является Теорема 1. Не существует НА над алфавитом 4, применимого к записям тех и только тех НА в алфавите 4, которые несамоприменимы. Доказательство. Случай 1. Пусть существует НА £ в алфави- те 4, такой, что для любого НА й в алфавите 4: £ применим к й* <=> й не применим к Й3. (1) Взяв теперь в качестве Й алгоритм £ (ведь Й-любой в алфавите 4 и £*в алфавите 4), получим противоречие: £ применим к £3 <==> £ не применим к £3. Следовательно, наше допущение неверно, т. е. такого НА £ не сущест- вует. W3
Случай 2. Пусть £ есть НА в алфавите В = \аи а2 }U{ bt, 6^1, удовлетворяющий условию (1). Построим перевод т, слов из И'(В) в сло- ва в алфавите Л,« ( аи а2, а„ а4|, положив: т, (Л)«=Л, т, (а^) = <г, ie 1, 2, т2 ( 6.) = в, а/ а3, je 1~ к, и ь (с, с 2 ... ст) = (С1) Т1 (С1) ... т, (у для любого слова сх с2 ... cmeW (В), Если левые и правые части всех формул НА £ заменить их образа- ми при Tt (т. е. переводами), то получим схему НА £' в алфавите Легко видеть, что для любого слова i Р е У{Ву. £' <т2(Р»~-г2(£ (Р)). В частности, для Ре (F (Ло ) имеем тх (Р) = Р и потому (£(Р)). (2) А так как отображение тх применимо к любому слову Ре W (В), то из (2) следует, что НА £ и £' применимы к одним и тем же словам из IV (Ло ). Следовательно, £' применим к fi1 <==> £ применим к Ct3, и потому £', как и £, удовлетворяет условию (1). Но £' - НА в алфавите А, и мы получаем противоречие с доказанным в случае 1. Значит, НА £', а потому и £, не существует. Теперь можно решить поставленную выше проблему распознавания самоприменимости. Если решающий ее алгоритм существует, то он каким-то образом должен отличать самоприменимые алгоритмы от не- самоприменимых. Не теряя общности, можно считать, что он перераба- тывает записи самоприменимых алгоритмов в пустое слово А, а записи несамоприменимых —в слово, отличное от Л. Теорема 2. Если Ахс А, то невозможен НА £ над Ао, применимый к записям всех НА в алфавите А, и такой, что £ (fi3) = Л fi-самоприменим. (3) Доказательство. Вопреки утверждению теоремы допустим, что НА £ существует, и пусть В —его алфавит. Рассмотрим два вспомогательных НА £х, £а: 204
a x -»a, x 6 В, (£j x + a,xeB, (£2) x-*x> xeB, a •+• A A + где a - некоторый новый символ. Из схем видно, что £2 применим только к пустому слову Л, а £ 2 применим ко всем словам в алфавите В, причем £х (A)«at и £х (Р) = Л для любого непустого слова Р eW (В). Возьмем теперь композицию НА £'<£^£,0 £. По определению композиции имеем: £'(?)* £2 (£, (£ (Р))),Ре ж (Л), и, в частности, Л Л Л Л £'£а (£, <£(<£•>»- Из свойств алгоритмов £, £х, £2 видно, что £' применим к fl3 <^> й несамоприменим. Однако такого алгоритма не существует по теореме 1. Значит, не суще- ствует и £. Теорема доказана. Аналоги понятий самоприменимого и несамоприменимого НА мож- но ввести и для других определений алгоритма. Покажем, как это сде- лать для машин Тьюринга и частично рекурсивных функций. Используя идею перевода слов, можно, не теряя общности, ограни- читься МТ с внешним алфавитом Q~{0, 11. В качестве внутренних ал» фавитов будем выбирать начальные отрезки счетного множества сим- волов Записывая команды любой МТ Ж в строчку одну за другой и отделяя со- седние команды буквой у, мы получим слово в алфавите A1 =4U Q U I у I U L, Н\9 которое назовем изображением МТ и обозначим той же буквой Ж. Те- перь осуществим какую-либо эффективную нумерацию всех МТ с указан- ными алфавитами: Я1О,5КХ, Ж2,... 205
Назовем MT самоприменимой, если она применима к своему но- меру *. В противном случае МТ называется несамоприменимой. Аналогично, занумеровав натуральными числами все одноместные частично рекурсивные функции, мы определим самоприменимую (несамо- применимую) функцию, как функцию, определенную (не определенную) на своем номере. Точно так же, как и для нормальных алгоритмов, можно сформули- ровать и отрицательно решить проблему распознавания самоприменимо- сти для машин Тьюринга и частично рекурсивных функций. Проделайте это в качестве упражнений. 2. Проблема тождества слов в полугруппе Пусть даны произвольный алфавит А и множество S = {(Р f Q.): {е 11 пар слов в этом алфавите. На множестве W (4) всех слов в алфавите А введем отношение эквивалентности. Элементарным преобразованием слова Р назовем: а) замену в Р любого одного вхождения слова Р словом ; б) замену вР любого одного вхождения слова словом Р. Если слово Q получено одним элементарным преобразованием из Р, то будем писать P+Q- Слова Р, Q из W (4) называются эквивалентными, если существует конечная последовательность слов /?., такая, что t, * • ▼ Р»Р0Рх-*Rk~Q. Эквивалентность слов Р, Q обозначим в виде Р^ Q. Легко видеть, что введенное отношение ^является отношением эквивалентности на множестве № (А), и потому JF (4) разбивается на классы эквивалентных слов. Класс слов, содержащий слово Р, обозна- чим [Р]. На множестве классов П введем операцию умножения, положив [Р] • [Q]-IPQ}- Очевидно, что определение корректно и введенная операция ассоциатив- на. Следовательно, множество классов П есть полугруппа. Она называ- ется полугруппой, заданной системой образующих эле- ментов 4 и системой определяющих соотношений S, и обо- значается в виде П»<4;5>. (4) 206
Заметим, что таким образом с точностью до изоморфизма может быть задана любая полугруппа. Например, в качестве А можно взять множе- ство всех элементов полугруппы, а в качестве 5 —всю ее таблицу Кэли. Полугруппа П называется конечно порожденной, если ее можно за- дать в виде (4) с конечной системой образующих А, и конечно опреде- ленной, если она задается в виде (4) с конечными А и S. Далее мы будем рассматривать только конечно определенные полу- группы. Задание (4) зачастую бывает удобным, поскольку позволяет ком- пактно записывать и хранить всю информацию о полугруппе П, которая в общем случае может быть и бесконечной. Однако, чтобы задание (4) было эффективным и чтобы мы могли пользоваться им для решения ка- ких-либо вопросов о полугруппе П, необходимо, конечно, в первую оче- редь уметь эффективно распознавать равенство элементов в полугруп- пе П, или, что то же, эквивалентность слов Р, Q в алфавите Л. Эта зада- ча и называется проблемой равенства (или тождества) слов в ГТ. Она формулируется следующим образом: Найти алгоритм, позволяю- щий для любых двух слов в алфавите Л выяснить, экви- валентны эти слова в Пили нет. Пример. Рассмотрим полугруппу П = < {а, Ъ, с }; {(а Ъ, b а), (ас > с а), (Ь с t с Ъ )} >. Нетрудно видеть, что П есть абелева полугруппа и слова Р, Q в ней эквивалентны тогда и только тогда, когда содержат одинаковое число вхождений каждой из букв а, b, с . Следовательно, в полугруппе П проб- лема равенства слов алгоритмически разрешима. Однако существуют конечно определенные полугруппы с неразреши- мой проблемой равенства слов. Такие полугруппы впервые (1946—1947 годы) независимо были указаны А. А. Марковым и Э. Постом. Построен- ные ими полугруппы имели весьма громоздкие задания в виде (4). Позднее были найдены полугруппы с неразрешимой проблемой равенст- ва слов, имеющие более простые задания. Таким примером может слу- жить найденная советским математиком Г. С. Цейтиным полугруппа с системой образующих А = {а, b, с, d, е|и с системой определяющих со- отношений 5 «{(а с , с а), (ad9 da), (be , с b ), (Ъ d, db ), (abac, abaee), (eca, ае), ( edb, b e)J. Сразу отметим, что А. А, Марков и Э. Пост строили свои полугруп- пы в явном виде и доказывали соответственно отсутствие нормального алгоритма и отсутствие машины Поста для решения проблемы равенст- ва слов в построенной полугруппе. Их построения и доказательства весьма сложны, и мы не имеем возможности их изложить здесь. 207
Мы ограничимся лишь доказательством существования полугрупп с неразрешимой проблемой равенства слов, при этом будем существенно использовать тезис Тьюринга—Поста. Начнем с того, что каждой МТ JR сопоставим конечно определен- ную полугруппу llju. Пусть 6-1 д0> и Л = | а0 , а„ ап\ - внутренний и внешний алфавиты МТ 5R. В качестве системы образующих элементов искомой полугруппы возьмем множество At = Q UAUlA I, где Л-новая буква, она будет указывать на край ленты МТ Ж. Система определяющих соотношений 5 строится следующим обра- зом. Сначала сопоставим каждой команде МТ подходящую систему со- отношений. Команде вида qi ar qsatH сопоставим соотношение Ч aj> Ъ at)> (5) команде вида ^аГ^а1 L сопоставим систему соотношений Ч qi aj> 9sar at)> '• = 0» I. —> n> {hq. a. , hqs a, a) и команде, вида qiarq3atR (6) сопоставим систему соотношений r{qi aj ar>at ar). r=0, 1, ...» n, (7) < Ц a. h,atqa а, Л). В качестве S возьмем объединение соотношений, сопоставленных всем командам МТ Ж. В итоге получим полугруппу 208
Гк, -< S >. Мы знаем, что МТ осуществляет переработку машинных слов. Каждое машинное слово имеет вид Р=а. .. г, а, а а. г а. гк Сопоставим ему слово P = hPh, которое назовем обобщенным машинным словом (отсюда и видно, что буква h заменяет края ленты) . Лемма 1. Если 5R переводит Р в Q, то Р Q в . Утверждение леммы очевидно, поскольку все замены (элементар- ные преобразования) машинных слов, которые может осуществлять МТ Й1, могут быть произведены над обобщенными машинными словами в Лемма 2. Если Ри @ — обобщенные машинные слова, $ содержит букву и ?Q в TTjjj, то Q может быть получено из ? с использова- нием лишь элементарных преобразований типа "а". Доказательство. Так как V ~ $ в П^, то Q может быть полу- чено из Р конечной цепочкой элементарных преобразований: (8) P-R^R^... R -Q. Докажем наше утверждение индукцией по А. Если к = 0, то F e Q и утверждение верно. Пусть оно верно для к .< I, докажем для к + 1. Так как $ содержит и не входит в левые части соотношений из S, то при переходе R^ -> Я*. использовалось преобразование типа "а". Если в цепочке (8) есть преобразование типа "б", то найдется такое а, что в цепочке используются сначала преобразование типа "б”, затем преобразование типа "а". Пусть переход от R к R осуществлен с помощью со - а + 1 а +а отношения (5). Тогда 349-27 209
и при переходе от Д* к Д должно использоваться соотношение, левая a+t часть которого содержит подслово qi а.. Однако из построения S вид- но, что такое соотношение единственно и совпадает с тем же соотноше- нием (5). Отсюда следует, что, т. е. слово Q можно получить из помощью цепочки из к - 2 элементарных преобразований, и ут* верждение леммы верно по предположению индукции. Аналогичны рас- суждения и в тех случаях, когда при переходе от + 1 к использу- ется одно из соотношений вида (6) или (7). Из лемм 1-2 очевидным образом получаем Следствие. Если Р, машинные слова и Q содержит букву q. то впж<-> И(Р)-е. Теорема 3. Существует конечно определенная полугруппа с не - разрешимой проблемой равенства слов. Доказательство. Обозначим через В множество номеров са- моприменимых машин: В »{х: Ж^ самоприменима}. Неразрешимость проблемы самоприменимости для МТ означает, что не существует такой МТ Ж, которая бы распознавала принадлежность чисел к множеству В или No \ В, т. е. такой, что I 1, если х е В; Ж(я)«< \0, если хе В. Определим частичную^арифметическую функцию f (х), полагая ее не> определенной при х е В и равной 1 при х б В. Из определения f (а?) видно, что она вычислима и потому согласно тезису Тьюринга—Поста сущест- вует МТ Ж'/ вычисляющая ее значения. Ж' (*)- ] , если х еВ, Ж' не применима к х е В. По МТ Ж' построим полугруппу Под,. Она и будет искомой конечно опре- деленной полугруппой с неразрешимой проблемой равенства слов. Дей- ствительно, если бы в Под/ была разрешима проблема равенства слов, то существовал бы алгоритм, позволяющий распознавать эквивалент- ность обобщенных машинных слов вида 210
£-Лд0 и... 1Л и G=H»1A- 4P Однако по следствию из лемм 1—2 Q <=-> Ж' (аг)-1. X Следовательно, вычислимой является функция г (®) 1, о, если х е В\ если х е В. Тогда по тезису Тьюринга—Поста существует вычисляющая ее МТ и мы пришли к противоречию. Теорема доказана. Образующими элементами и определяющими соотношениями можно задавать не только полугруппы, но и группы. При этом в качестве слов надо будет рассматривать конечные выражения вида 61 Е2 а. а, ... а.Л S Ч * где а. - буквы из системы образующих А, е^ = ± 1, а к определяющим со- отношениям добавить все соотношения вида {ai ai~'> Л), (а-' а.. Л). Так же, как и для полугрупп, можно сформулировать проблему ра- венства слов для группы, заданной конечными системами образующих элементов и определяющих соотношений. Эта проблема оказалась весь- ма сложной. Ее в 1952 году отрицательно решил советский математик П. С. Новиков. Ему удалось свести эту проблему к проблеме равенства для полугрупп. При этом им использован так называемый метод вложе- ния. А именно, он нашел эффективный способ вложения конечно опреде- ленной полугруппы Пс неразрешимой проблемой равенства слов в под- ходящую конечно определенную группу б?. Отсюда и следовала неразре- шимость проблемы равенства слов в G. Позднее метод вложения не - однократно использовался для доказательства других алгоритмических проблем. 3. Проблема разрешимости исчисления предикатов В главе V были определены понятия формулы и тождественно ис- тинной формулы исчисления предикатов заданной сигнатуры <у. Естест- венно возникает проб ле ма нахождения алгоритма, позво- 27* 211
ляющего для каждой формулы выяснить, тождественно истиннаона или нет. Эта задача и называется проблемой разреши- мости исчисления предикатов сигнатуры ст. Аналогичная проблема мо- жет быть поставлена и для любой элементарной теории. В 1936 году проблему разрешимости для формальной арифметики отрицательно ре- шил А. Чёрч. По словам А. И. Мальцева, ’’Это был первый крупный успех только родившейся в те годы теории алгоритмов” ( [ 3], стр. 291). Отрицательное решение проблемы разрешимости исчисления преди- катов при небольшом ограничении на сигнатуру ст можно получить, ис- ходя из существования конечно определенной полугруппы с неразреши- мой проблемой равенства слов. Теорема 4. Если сигнатура ст содержит символ двуместной опе- рации • и предикат равенства, то проблема разрешимости исчисления предикатов сигнатуры ст неразрешима (т. е. не существует алгоритма, позволяющего для любой формулы исчисления выяснять, тождественно истинна она или нет). Доказательство. Пусть П= < A; S> есть конечно определенная полугруппа с неразрешимой проблемой ра - венства слов, л-1>„ ....zj.s-tiF,.е,).......... Если слова рассматривать как термы, построенные с использо- ванием переменных и символа операции •то определяющее соотношение (Р, ) можно считать формулой Р -Q рассматриваемо- го исчисления £'. Легко видеть, что слова Р, Q эквивалентны в П тог- да и только тогда, когда в £' тождественно истинной является формула Хп + г’ Жп + з + Л^л + г^п + з (Жп+ 1 Жп + Хп + 3) & & Рх=е1& -. Следовательно, если бы существовал алгоритм распознавания истинно- сти формул исчисления £', то существовал бы и алгоритм распознава- ния равенства слов в полугруппе П. А так как последнего по условию нет, то нет и первого. Теорема доказана. Имеется много результатов отрицательного характера по пробле - мам разрешимости элементарных теорий различных классов алгебраи- ческих систем (см., например, [ 1] ); Так, из существования конечно определенных полугрупп и групп с неразрешимой проблемой равенства слов сразу следует неразрешимость элементарных теорий для классов 212
всех полугрупп и всех групп. Неразрешимыми являются также элемен- тарные теории класса конечных групп (А. И. Мальцев, 1961 год), клас- са конечных симметрических групп (Ю. Л. Ершов, 1964 год). Много ин- тересных результатов по разрешимости и неразрешимости элементар- ных теорий и, вообще, по теории моделей опубликовано в основанном в 1962 году А. И. Мальцевым журнале "Алгебра и логика". 213
ГЛАВА УП СЛОЖНОСТЬ АЛГОРИТМОВ И ВЫЧИСЛЕНИЙ Введение Выше отмечалось, что первоначально главная цель теории алго- ритмов заключалась в разработке методов доказательства существо- вания или отсутствия алгоритмов решения массовых задач. К настоя- щему времени такие методы созданы и успешно применены к решению многих практически интересных задач алгоритмического характера. При решении принципиального вопроса о существовании алгоритма ав- торов, как правило, мало интересовал вопрос о реальной осуществи- мости алгоритма, была важна лишь его потенциальная осуществимость (при наличии неограниченного времени и объема памяти). Однако для практических приложений вопрос о реализации алгоритма за приемле- мое время имеет такое же принципиальное значение, как и вопрос о существовании алгоритма. В связи с этим перед теорией алгоритмов естественно возникла важнейшая для практики задача о сравнении ал- горитмов, решающих одну и ту же массовую проблему и о выборе в каг ком-то смысле наилучшего алгоритма. Ясно, что для сравнения алго- ритмов необходимо введение для них каких-то количественных харак- теристик. Такие характеристики можно ввести по-разному. Можно, на- пример, интересоваться сложностью задания алгоритма — числом фор- мул НА, числом внутренних состояний или суммарной длиной системы команд МТ и т. п. О всех таких параметрах принято говорить, что они характеризуют сложность алгоритма. Естественно, что на практике удобнее иметь дело с более простыми алгоритмами. Другой подход к сравнению алгоритмов основан на оценках времени и памяти, затрачи- ваемых в процессе работы алгоритма. Эти оценки называют оценками временной и емкостной сложности вычислений. Указанные подходы к оценкам качества алгоритмов су- щественно различны. Существуют простые по заданию, но очень мед- ленно работающие алгоритмы, и, наоборот, сложные, но "быстрые" ал- горитмы. Естественно, что между оценками сложности алгоритмов и вычислений имеются определенные связи, однако связи эти настолько 214
нетривиальны, что указанные характеристики качества алгоритмов обыч- но изучаются порознь. Имеется большое число работ советских и зарубежных авторов, по- священных оценкам сложности алгоритмов и особенно сложности вы- числений. К работам по оценке сложностей алгоритмов относятся, в частности, многочисленные работы по минимизации булевых функций и нахождению асимптотической сложности контактных, функциональных и других типов схем, реализующих булевы функции (см. гл. V). На оцен- ках сложности алгоритмов основан развитый в работах А. Н. Колмого- рова и П. Мартин-Лёфа алгоритмический подход к определению случай- ности и количества информации. Теория сложности вычислений начала разрабатываться с конца 50-х годов и интенсивно развивается до настоящего времени. При этом в качестве модели алгоритма зачастую принимается машина Тьюринга. Наряду с вопросами о сложности вычислений, или решения задачи на конкретной МТ, чрезвычайно важным является вопрос об алгоритми- ческой сложности задачи в некотором фиксированном классе методов, или алгоритмов. В теории алгоритмов в качестве такого класса зачас- тую выбирают класс машин Тьюринга или некоторых их модификаций. Ниже мы приведем отдельные результаты по сложности алгорит- мов и вычислений. Подробно с результатами и с библиографией работ в этой области можно познакомиться по монографиям [1], [2]. § 1. СЛОЖНОСТЬ НОРМАЛЬНЫХ АЛГОРИТМОВ, ВЫЧИСЛЯЮЩИХ БУЛЕВЫ ФУНКЦИИ Вопрос о сложности реализации булевых функций нормальными ал- горитмами, машинами Тьюринга и автоматами был рассмотрен В. А. Кузьминым в работе [3]. При этом под сложностью НА понима- лась длина его изображения, а под сложностью МТ и автоматов - чис- ло их состояний. Для НА и МТ с к-буквенными алфавитами и для авто- матов, вычисляющих булевы функции от п переменных, были введены функции Шеннона LHA *)> LMT(n’ LaBT {п} (Ьцд есть наибольшая из сложностей самых простых НА в &-бук- венном алфавите, вычисляющих булевы функции от п переменных; ана- логичный смысл имеют и две другие функции Шеннона). В работе [3] были доказаны асимптотические (при равенства: 28* 215
Z-HA {n> LMT {n> " n(Ll) ’ LaBT (n)“c(”)’2 > где 1 <c(n) <2. Для иллюстрации методики получения опенок указанных функций приведем более грубый, но сравнительно просто доказываемый результат А. А. Мар- кова по оценкам функции Ь^д(п) = £цд(гь 5) (см. [41). При этом, ради сохранения принятых в главе III обозначений для табличных заданий бу- левых функций, нам пришлось внести в формулировку теоремы Маркова и в ее доказательство несущественные изменения. Теорема 1. Имеют место неравенства: 1.2n^ Ьна(п)^2л+91. 3 Доказательство. Справедливость нижней оценки следует не- посредственно из количественных соображений, если учесть, что изоб- ражения рассматриваемых НА являются словами в 8-буквенном алфа- вите. Для получения верхней оценки укажем конкретный НА в алфа- вите Л«{0, вычисляющий булеву функцию / от п перемен- ных. При этом будем пользоваться известными, а также некоторыми новыми обозначениями: ^(4) — множество всех слов в алфавите А; И^СД) - множество всех слов длины тиз Ж(Л); ЦР) - длина слова Рв любом алфавите; |Р!| - число \1 для слова Р=а0 а. ... а е >V(Q); г» о 1 Ш-1 7 — вектор-строка значений булевой функции f при установ- ленном ранее расположении наборов значений переменных по величине; - (г+1 )-я буква слова Р, так что если Р=а0 ... то = &□= 0, т-1. В указанных обозначениях имеем: для любой булевой функции от п переменных и любого слова Ре H^(Q) выполняется равенство /(P)=Vi(7)- (1) Теперь рассмотрим НА Й в алфавите 4 = | 0, 1, а, Ъ, с | со схе- мой: 216
Лемма. Если Pf Q cW (Q)t 1(Р) = п и I (Q) > |P|, то d<PabQ) = У(р| «?). (2) Докажем лемму индукцией по |Р|> При [Р|=0 равенство (2) про- веряется непосредственно. Пусть теперь ... Хп, |Р|> О, @ = 1]0 Г],... . Рассмотрим два случая. а) жА+1 = 1, ®А+2 = ... - «п = 0; А+1 < п. Тогда переведем сначала алгоритмом fi слово Р а Ъ Q ъ слово Р* a bQ * - хг... х^ 01... Ia3r>i ... и воспользуемся предположением индукции: «и. (3) Так как |Р'|=|Р|-1, Yip'i У|р'| + 1 м “Й(Р#а'), то из (3) следует (2). б) х =1. В этом случае слово PabQ следует сначала алгоритмом (1 перевести в слово
а затем, как и в случае "а", воспользоваться предположением индук- ций. Лемма доказана. Вернемся к доказательству теоремы 1. Возьмем произвольное сло- во Р=х^х2... хп eJF(Q) и применим к нему алгоритм й. Вначале полу- чим цепочку преобразований я?!... хп -»с я?!... хп ^х^сх2... хп ->... -> хг ... хпс^Ра Ь /. Отсюда, используя лемму и равенство (1), будем иметь: а<р)=а(Ра&7)=у ((/)=лр). Следовательно, алгоритм (3 вычисляет булеву функцию f. Осталось заметить, что сложность в. (т. е. длина его изображения) равна 2П+ + 91. Заметим, что у А. А. Маркова верхняя оценка равна 2+81. §2.0 СЛОЖНОСТИ ВЫЧИСЛЕНИЙ НА МАШИНАХ ТЬЮРИНГА Для оценки сложности вычислений на МТ чаще всего используют две функпии: сигнализирующую времени и сигнализирующую емкости. Определение 1. Пусть МТ, предназначенная для переработ- ки слов в алфавите А, и IF/- множество всех слов из FF(-4), к которым применима )П. Сигнализирующей функцией времени (емкости) МТ называется функция, определенная на IF* со значениями N л равная на слове Р elF' числу тактов (числу ячеек ленты), необходимых для переработки слова Р. Так определенные функции обозначаются соответственно и Л( По функциям £эд и Sjjj обычным образом определяются арифмети- ческие функции Шеннона Тэд(п)«шах £эд(Р), Зэд(п)«тах «эд (Р), где максимум берется по всем словам Рдлины п и-з IF*. Функции Тэд и Зэд не определены в точке я?0 , если W' не содержит слов длины я?0. В общем случае функции Тэд и £эд могут быть сколь угодно слож- ными. Чтобы убедиться в этом, достаточно рассмотреть машину )П, вы- числяющую рекурсивную функцию типа /(*)-2 218
При ее вычислении только на запись результата вычисления понадобят- ся время и емкость, равные по порядку значению функции f(z). Следо- вательно, в данном случае функции и Syjj имеют порядок, не мень- ший, чем f, Вместе с тем приведенный пример не показателен, посколь- ку в нем вывод о сложности работы алгоритма делается на основании лишь сложности записи результата. Для практических приложений, по- видимому, более распространенными являются задачи по вычислению предикатов, т. е. задачи, требующие ответов "да" или "нет". Оказыва- ется, что и среди таких задач имеются сколь угодно сложные. Приве- дем доказательство этого факта для временной сложности, принадле- жащее Г. С.Цейтину. Теорема 1. Для любой вычислимой арифметической функции /(а?) существует такой вычислимый предикат р на множестве всех слов в алфавите Q«| 0, >|, что для любой машины Тьюринга, вычисляющей р, выполняется неравенство (а?) >/'(«) (4) на бесконечном множестве значений а?. Доказательство. Так как нас интересуют машины, вычисляю- щие предикаты на множестве слов в алфавите Q, то будем рассматри- вать машины Тьюринга с внешним алфавитом s0, , где s0 = «=0,^ = 1, а яг’пробегает значения 1, 2, 3, ... В качестве внутренних ал- фавитов будем брать множества { q^, ql9 ... qk I, 1, 2, 3, > счи- тая qQ начальным состоянием, a qk -стоп-состоянием* Все такие маши- ны Тьюринга можно занумеровать натуральными числами, а записав номер машины в двоичной системе счисления, можно пытаться приме- нять машину к своему номеру. Назовем машину /-самоприменимой, если и Zju (а?)</(а?). (5) В противном случае Х*. — /-несамоприменима. Определим на множестве слов IP(Q) предикат р, положив для х е eW(Q): | 1, если 5П /-самоприменима, р(а?)«/ ^0, если /-несамоприменима. Из вычислимости функции / легко следует вычислимость преди- ката р , а потому и его отрицания р . Следовательно, существуют МТ, вычисляющие значения предиката р. Пусть ЭЯу - любая из таких ма- шин, т. е. ЗПу применима к любому слову a?€>(Q) и 219
Жу(«)- Р №• (6) Докажем от противного, что (у) >/(у). Допустим, что #5П <У>^/бу)- 'у (7) Машина не может быть /-самоприменимой, поскольку в этом случае из (5) следует (у) = 1, а из ( 6) - 5Пу (у) = 0- Если же /-несамопри- менима, то из отрицания условия (5) и из неравенства (7) следует Ху(у)=0, в то время как из (6) получается Ху(у)=1. Таким образом, во всех случаях приходим к противоречию и потому Так как при доказательстве последнего неравенства использова- лось лишь действие машины на словах в алфавите Q, то все рас- суждения останутся верными при замене Ху машиной X # , получен- ной из 3IL расширением внешнего алфавита с произвольным доопреде- лением программы. Но любая такая машина перерабатывает у* так же, как и машина Ху . Поэтому имеем (у')>/(/) для бесконечного множества значений у'. Теорема доказана. Заметим, что известна более сильная теорема М. Рабина о сущест- вовании предиката р, для которого условие (4) выполняется при всех значениях а?, кроме, может быть, их конечного числа. Получение нетривиальных верхних и особенно нижних опенок слож- ности вычисления конкретных предикатов на МТ чаще всего сопряжено с большими трудностями. Один из применяемых для этой цели методов основан на анализе следов работы машины. Проиллюстрируем его на за- даче распознавания симметрии слов в алфавите 0, 11. С одной сто- роны, нетрудно построить МТ, распознающую симметрию слова длины п за время порядка п*. Для этого достаточно программу машины соста- вить так, чтобы при переработке любого слова Рголовка машины, дви- гаясь по ленте, сравнивала 1-ю букву слова Р с последней, затем пред- последнюю со 2-и и т. д, В конце работы машина должна стереть сло- во, оставив лишь символ 1, если Р симметрично, и символ 0 в против- ном случае. Запоминание буквы головкой можно осуществить, напри- мер, переходом к новому состоянию машины. Составьте программу та- кой машины в качестве упражнения. С другой стороны, имеет место доказанная впервые Я. М. Барзди- нем 220
Теорема 2. Если 511 - машина Тьюринга с к состояниями, рас- познающая симметрию слов в алфавите Q = { 0, 11, то Tjjj (я)> с п2, где с - константа, зависящая от )Н, но не зависящая от я. Доказательство. Пусть в начале работы машины Ж на ее лен- те записано слово Р^а1а2...ап. Занумеруем края, или Гранины, ячеек с буквами числами 0, 1, ... ..., я (слева направо). В ходе работы машины головка будет двигаться вдоль ленты, пересекая границы ленты. / Последовательность внутренних состояний машины Я, в которых она пересекает границу с номером j в процессе переработки слова Рв О или 1, называется следом машины в точке j и обозначается через (С /). Очевидно, что ^(Р)> S 1(Р, /), (8) где 1(Р, / ) — длина следа (Р, j), а сумма берется по любому подмно- жеству из ft, я . Займемся оценкой величины 1{Р, j) при J 4 4 ’ 2 считая для простоты я кратным 4. Лемма. Для каждого достаточно большого я найдется симмет- ричное слово Р длины я, такое, что ЦР>})^схп-, ;_* + !, J + 2.................(9) где с i=4 logK<£. О Для доказательства леммы введем обозначения: $(я) - множество всех симметричных слов длины я в алфавите Q; N (я) - число тех из них, которые не удовлетворяют условию (9), и N (/, я) - число слов Р из S(n), удовлетворяющих условию 221
ЦР> }}<ОхП. Докажем сначала неравенство ЗП 1V(/, п) < 2* . (10) Для этого представим число N(j, п) в виде суммы #(/, п) = L (стх) +•.. + L (ет), (11) где ах, ...» &т суть все различные следы машины в точке j, a L (а*.) - число различных слов PeS(n) со следом (Р, /) = с^ . Так как след есть слово в ^-буквенном алфавите (внутренних состояний машины), то , °1 « - п - i т. 1 к ~ 1 7 Сл тг" 1 + к + •.. + к 1 = ---------1 =2 8 . к-\ (12) Оценим теперь число L (<^). Пусть Р, Q- два слова из S(n) с одним и тем же следом в точке j. Представим их в виде P=PjP2, Q~Q2 Q2 , где Pj, Ci - слова длины/. Так как (Р, /)= (С, /), то при переработ- ке машиной Ж слова P2Q2 будет перерабатываться так же, как и в слове Р, а в Q2 - как в Q. Следовательно, УК (Рх Q2) совпадает с Ж (Р), если машина заканчивает переработку слова Р левее точки /, и с Ж (С) в противном случае. А так как Р, Q - симметричны, то Ж (Р) = Ж(С)й= 1, а потому и Ж(Р1Са)«1, т. е. слово PiC2- симметрично. Отсюда сле- дует, что РХ«С1 при всех и, в частности, при интересующих нас значениях /=^ +1, ..., - . Значит, у слов S (п) с одним следом в точ- ке / начальные отрезки длины / определены однозначно. Отсюда имеем: (Ч<)| ^2 + f. (13) Теперь, учитывая (11), (12), (13), получим (10). Из определения ве- личин tf(n), N(j, п) и опенки (10) следует, что i” 1п-2 tf(n)< 1 N(j, п)< J. 2 * = п> 2 8 , 222
и потому 3_П-2 п.ЛЙ1<ит£^_!!. П-*оо О (я) Я->сю ? 2 z Таким образом, с ростом я доля симметричных слов, не удовлетворяю- щих условию (9), стремится к нулю. Этим доказано утверждение, более сильное, чем лемма. Теперь утверждение теоремы 3 следует непосредственно из лем- мы и неравенства (8). При этом константу с при я^4 можно считать равной ~ 1овдсД» Из теоремы 3 и существования МТ, распознающей симметрию слов из.Ж(О) за время порядка я2, следует, что сложность самой задачи рас- познавания симметрии слов из IF(Q) в классе машин Тьюринга имеет по- рядок я2. § 3. О КЛАССИФИКАЦИИ ЗАДАЧ ПО СЛОЖНОСТИ ИХ РЕШЕНИЯ НА МАШИНАХ ТЬЮРИНГА В данном параграфе под задачей всегда будет пониматься задача вычисления предиката на некотором множестве слов в каком-либо ко- нечном алфавите. При этом и предикат, и задача по его вычислению бу- дут обозначаться одной и той же буквой. Интересоваться будем только временной сложностью. Будем говорить, что сложность задачи R ограничена арифметичес- кой функцией Г(я), если существует МТ Л, решающая задачу R и та- кая, что Тэд № для всех я, в которых определена функция Гэд . Из теорем Цейтина и Рабина следует существование задач со сколь угодно большой сложностью решения на МТ. Однако, многие массовые задачи математической логики, комбинаторики, теории графов и т. д. имеют ограниченную сложность, Такие задачи и пытаются в последнее время классифицировать на менее сложные и более сложные. К первым относят задачи полиномиальной сложности. Определение 1. Говорят, что задача Л имеет полиномиальную (временную) сложность, если существуют многочлен / е Z[а?] и МТ Л, вычисляющая предикат /?, такие, что Тэд (я) / (я) 223
для всех л € 14, в которых определена функция Г)ц . Например, рассмотренная в § 2 задача распознавания симметрии слов в алфавите Q имеет полиномиальную сложность. Класс всех задач (по вычислению предикатов) полиномиальной сложности обозначим буквой Р. Для определения еще одного класса задач нам понадрбится понятие недетерминированной машины Тьюринга (НМТ). Такая машина отличает- ся от обычной МТ только тем, что в системе ее команд допускается не обязательно одна, а некоторое конечное, ограниченное константой, чис- ло различных команд с одинаковыми левыми частями. Функционирование НМТ Ж, вычисляющей предикат R на множестве слов W t определяется так же, как и для обычной МТ, с той лишь разни- цей, что на каждом такте из всех команд с одинаковой левой частью разрешается выбирать любую из них. Таким образом, в НМТ существу- ет много различных путей переработки одного и того же слова Счи- тается, что Ж применима к слову, если в каждом из этих путей она при- ходит в стоп-состояние. В противном случае Ж не применима к о?. Если Ж применима к а?, то значение R(x) считается истинным, или равным 1, в том и только том случае, когда хотя бы один из путей переработки слова а? заканчивается словом 1 или каким-либо его кодом*. Для НМТ Ж, как и в обычном варианте, определяется сигнализирую- щая функция (а?), равная числу тактов в кратчайшем пути переработ- ки слова а?, если Д(а?)-1, и в самом длинном пути, если Л(а?)«0. Как и в случае обычной МТ, для НМТ определяется функция Шеннона (л). Определение 2. Говорят, что задача R имеет недетерминиро- ванно полиномиальную сложность, если существуют НМТ Ж, решающая задачу Р, и многочлен f е Z[ я?], такие, что fjiWW для всех п е N, в которых определена функция . Класс всех задач недетерминированно полиномиальной сложности обозначим через NP. Так как МТ является частным видом НМТ, то PcNP. С другой сто- роны, известно, что если сложность вычисления предиката R на НМТ Ж ограничена вычислимой функцией Т(л), то существует МТ Ж*, вычис- ляющая предикат R с сигнализирующей функцией времени Т#(п)*сТ<” *В определении НМТ отражена широко используемая в практике ЭВМ идея распараллеливания вычислений. 224
при подходящей константе с, не зависящей от п. Идея доказательства этого утверждения интуитивно ясна. Систему команд искомой машины ЗК' надо строить так, чтобы при переработке слова х длины п Ж' пере- бирала начальные отрезки длин Z< Т(п) всех путей переработки слова х машиной ЗП. Из указанного утверждения следует, во-первых, что сложность любой задачи из класса NP ограничена некоторой экспоненциальной функцией сЛ, а во-вторых, корректность вопроса о включении класса NPb класс Р. Вопрос этот на сегодняшний день остается открытым, хо- тя имеется весьма убедительная гипотеза о том, что NP# Р9 т. е. что в NP есть задачи, не вычислимые за полиномиальное время ни на какой (детерминированной) МТ. Подтверждением этой гипотезы служит наличие в классе NP многих практически интересных задач, привлекавших к себе внимание большого числа специалистов и не полу- чивших до настоящего времени решения с полиномиальной сложностью. Примером может служить задача о распознавании разрешимости произ- вольной булевой системы уравнений или эквивалентная ей задача о рас- познавании выполнимости формулы алгебры высказываний. Если в WP существуют задачи не из Р9 то к ним заведомо будут относиться наиболее сложные задачи из NP. В связи с этим естествен- но возникает вопрос о выделении в некотором смысле самых сложных задач из класса МР9 Так появляется класс /VP-полных задач. Определение 3. Говорят, что задача Pi полиномиально сводит- ся к задаче Я, если по МТ решающей задачу Я, можно построить МТ ЭД j, решающую задачу Rt и такую, что Гц W 4 Г), (№» для всех я, на которых определена функция Гэд и для подходящего по- линома f € Z [а?]. Определение 4. Задачи R и Ях называются полиномиально эк- вивалентными, или они полиномиально сводятся друг к другу. Легко видеть, что полиномиальная эквивалентность является отно- шением эквивалентности и Р является классом самых простых задач в этом смысле. Определение 5. Задача Я называется недетерминированно по- линомиально полной, или, короче, /VP-полной, если она принадлежит классу /VP и к ней полиномиально сводится любая задача из /VP. Таким образом, WP-полные задачи являются с точностью до поли- номиальной эквивалентности самыми сложными задачами из класса WP, и если хотя бы одна WP-полная задача имеет полиномиальную слож- 349—29 225
ность, то и вообще все задачи из класса NP имеют полиномиальную слож- ность, т. е. NP=P. В связи с этим одним из способов обоснования сложности задачи в настоящее время является сведение к ней какой-ли- бо WP-полной задачи- Понятно, что для облегчения реальной осущест- вимости таких сведений желательно иметь по возможности широкий список WP-полных задач. Много примеров таких задач имеется в моно- графиях [-2 3, [6]. В последнее время список этот непрерывно попол- няется. Доказательство WP-полноты задачи обычно проводится мето- дом сведения к ней какой-либо известной WP-полной задачи. Первым же примером задачи, WP-полнота которой была доказана непосредствен- но исходя из определения, явилась задача о распознавании выполнимо- сти формул алгебры высказываний, или булевых формул (см. [2], [6]). Ниже мы приведем схему доказательства соответствующей теоремы. Предварительно уточним задачу о выполнимости булевых формул. Под булевой формулой будем понимать формулу алгебры высказываний, построенную из символов переменных уи у2, у3, ... логических операций •, V,” и служебных символов — скобок и запятых..Если вместо форму- лы А условиться писать (Л), то любую булеву формулу можно будет записать в строчку, или в виде словй в указанном счетном алфавите. От счетного алфавита можно перейти к конечному алфавиту, если сим- вол условиться кодировать, например, словом yata2... , где ata2... — запись числа г в двоичной системе счисления. Таким об- разом, формулу можно считать словом в алфавите !,),(,И и задачу распознавания выполнимости формул рассматривать как зада- чу вычисления предиката R на словах из IF(/f), представляющих булевы формулы: если формула х выполнима,и R (а?)=0 в противном случае. Значения предиката R на остальных словах из IF(АГ) нас не ин- тересуют. Теорема. Задача распознавания выполнимости булевых формул WP-полна. Схема доказательств а. Для краткости будем обозначать на- шу задачу буквой R. Покажем сначала, что R е NP, т. е. R решается подходящей НМТ с полиномиальной сложностью. Работу искомой маши- ны можно представить себе следующим образом. Сначала она в запи- санной на ее ленте формуле х заменяет символы переменных на 0 и 1. В силу недетерминированности эти замены она может осуществлять параллельно: сначала первое переменное на 0 и на 1, затем в каждом из полу- ченных слов второе переменное на 0 и на 1 ит. д. В итоге фор- муле / от т переменных сопоставится 2т слов, полученных из х заме- ной переменных на 0 и 1. Если слово х имеет длину п, то т^п и дли- на каждого пути переработки слова х в указанные слова не будет пре- восходить числа х • к при некотором постоянном к* не зависящем от а?. 226
Теперь в каждом из полученных 2т слов нужно произвести все ло- гические операции над элементами 0, 1. Эту работу также можно произ- водить параллельно сразу для всех 2т вариантов. А так как для одно- го варианта все вычисления можно произвести за полиномиальное время, то 7П имеет полиномиальную сложность и R eNP. Осталось доказать самую нетривиальную часть теоремы - полино- миальную сводимость к R любой другой задачи из /VP. Пусть — предикат, определенный на некотором множестве слов W и ЭИХ - НМТ, вычисляющая Rx с полиномиальной сложностью Г(а?). Несущественным изменением можно получить НМТ Й12, переработ- ка слова а? в которой отличается от его переработки в ЭП х лишь тем, что после остановки ЗКх машина Л12 продолжает без конца работать вхолостую, оставаясь в том же состоянии при Rx (я?) = 0 и перейдя пред- варительно в некоторое новое, заключительное состояние, если Пусть <2=1 , q19 q I - множество внутренних состояний маши- ны Ж2, где qa - начальное состояние, а <?т — заключительное состоя- ние , и £«{ $0, s u 8r | - внешний алфавит )П2, где з0 пустой сим- вол. Так как (п)^ Г(п), то при переработке слова длины л машина Ч бу- дет использовать отрезок ленты длиной f(n)^ п+ Т (я). В связи с этим мы сразу выделим отрезок ленты длиной 2/(п), содержащий ее ячейки с номерами -/(п), ..., -2, -1, 0, 1,2, f{n)> и будем считать, что в начале работы исходное слово х длины п запи- сывается в ячейки с номерами 1, 2, п, а остальные ячейки запол- няются пустым символом «о- Условия переработки машиной Я12 слова я elF длины п и равенство /?х (а?)=1 можно выразить в виде следующей последовательности утверждений: 1. В каждый из Т(п) тактов головка машины обозревает ровно од- ну ячейку ленты. 2. В каждый из Т(п) тактов работы каждая ячейка ленты машины содержит ровно один символ из S. 3. В каждом из Т(п) тактов машина находится во вполне опреде- ленном внутреннем состоянии из Q. 4. При переходе от £-го такта к (I + 1)-му на ленте может изме- ниться содержимое лишь обозреваемой ячейки. 5. При переходе от £-го такта к (£+1 )-му положение машины может изменяться только в соответствии с системой команд машины Ж2. 6. В начальный момент машина ЗП 2 находится в состоянии q<> , ис- ходное слово х записано в п первых ячейках ее ленты и головка обоз- ревает 1-ю ячейку (х~8. ... Зу ). 29* П 227
7. В такт с номером Т (п) машина находится в заключительном состоянии q4 . Попытаемся записать всю эту информацию с помощью булевых фор- мул. С этой целью введем элементарные высказывания: s. . - "в момент t i-я клетка ленты содержит символ з* ЪгЬ * •> qk t — "в момент t машина находится в состоянии j*"; Л. - "в момент t головка обозревает г-ю ячейку ленты". Условимся в виде V (а?Л , ...» аг) обозначать формулу истинную в том и только том случае, когда истинно ровно одно из эле- ментарных высказываний а?^ ...л хг. При указанных обозначениях утверждения 1-7 запишутся соот- ветственно формулами: 2) В= 8с 0 t> > •••> 3) C= & u(go t> qbt, —> 5) E= hi>* ’4'*“ qklti + i где l пробегает по всем шагам машины , возможным в случае, ког- да® 2 находится в состоянии qk и обозревается г-я ячейка с символом i * € f(n)\l,n\ 228
В формулах 1-5 индекс г пробегает множество -/(n), f(n) номе- ров ячеек ленты, /-множество О, т номеров букв алфавита S, к - мно- жество 0, т номеров букв из Q, t - множество О, Т (п)-1 номеров так- тов работы машины* Легко видеть, что R * (а?)=1 тогда и только тогда, когда выполни- ма формула Ф(ж)« А В CDEFG . Таким образом, задача вычисления предиката (а?) свелась к задаче записи формулы Ф(а?) и распознаванию ее выполнимости. А так как Т(п) и f(n) - полиномы, то длина формулы Ф(а?) также будет ограниче- на некоторым полиномом и ее можно записать на ленту за полиноми- ально ограниченное время. Отсюда и следует, что если бы задача рас- познавания выполнимости формул имела полиномиальную сложность, то аналогичное утверждение было бы верно и для задачи . Теорема доказана. Заметим, что А, В, С, F, G являются конъюнктивными нормальны- ми формами (КНФ), а КНФ для формул D, Е легко получаются с помощью равносильностей алгебры высказываний с увеличением длин формул не более чем в некоторое постоянное число раз. Отсюда и из доказанной теоремы получаем Следствие. Задача распознавания выполнимости КНФ алгебры высказываний WP-полна. Путем сведения к задаче выполнимости КНФ сравнительно просто устанавливается WP-полнота многих комбинаторных задач из теории графов, например, задача о полных подграфах, о вершинных покрытиях графа, о существовании гамильтоновых циклов в графе и др. (см. [2], гл. 10). 229
ЛИТЕРАТУРА ПО ГЛАВАМ Введение 1. Ад ян С. И. Неразрешимость некоторых алгоритмических проблем теории групп. Труды Моск, матем. об-ва, 6, 19 57 , 231—298. 2. Рейтинг А. Интуиционизм. М,, "Мир", 1965. 3. Драгалин А. Г. Математический интуиционизм. Введение в теорию доказательств. М., "Наука", 1979:. 4. Карри X. Основания математической логики. М., "Мир", 1966. 5. КолмогоровА. И., Успенский В. А. К определению алгоритма. УМН, 13, М 4, 1958 , 3- 28. 6. Колмогоров А. И. Три подхода к определению понятия информации.- Проблемы передачи информации, Г, 1965, 3-11. 7. Л упацов О. Б. О синтезе некоторых классов управляющих систем.- Проблемы кибернетики, 10, 1963, 63-98. 8. Мальцев А. И. Избранные труды, т. I-П.. М., "Наука", 1976. 9. МатиясевичЮ. В. Диофантовость перечислимых множеств. ДАН СССР, 191, 19 70 , 279- 282. 10. Марков А. А. Теория алгорифмов. Труды матем. ин-та им. В. А. Стеклова, 42, 1954. 11. Новиков П. С. Избранные труды. М., "Наука", 1979. 12. Стяжкин Н. И. Формирование математической логики. М., "Нау- ка", 1967. 13. Тарский А. Введение в логику и методологию дедуктивных наук. (С предисловием и послесловием С. А. Яновской). М., ИЛ, 1948. 14. Френкель А., Бар-Хиллел И. Основания теории множеств. М., "Мир", 1966. 15. Проблемы Гильберта. М., "Наука", 1969. Глава I 1. Елизаров В. П. Нечаев А. А. Высшая алгебра, ч. I, М., 1976. 2. Келли Дж. Л. Общая топология. М.,."Наука", 1968. 3. Курош А. Г. Лекции по общей алгебре. М., "Изд-во ф.-м.лит.", 1962. 230
4. Мальцев А. И. Алгебраические системы. М., "Наука”, 1970. 5. Проскуряков И. В. Числа и многочлены. М., "Просвещение", 1965. Глава II 1. Г л ухо в М. М. Алгебра высказываний и двоичные функции. М., 1971. 2. Куликов Л. Я. Алгебра и теория чисел. М., "Высшая школа", 1979. 3. Новиков П.С. Элементы математической логики. М., "Наука", 1973. Глава Ш 1. Ерш о в Ю. Л., Палю тин Е. А. Математическая логика. М., "Наука", 1979. 2. Клини С. Введение в метаматематику. М., ИЛ, 1957. 3. Лавров И. А. Логика и алгоритмы. Новосибирск, НГУ, 1970. 4. Мальцев А. И. Избранные труды, т. I— II. М., "Наука", 1976. 5. Мендельсон Э. Введение в математическую логику. М., ’’Наука", 1971. 6. Новиков П. С. Элементы математической логики. М., "Наука", 1973. 7. Робинсон А. Введение в теорию моделей и метаматематику алгебры. М., "Наука", 1967. 8. Кейсл ер Г., Чэн Ч. Ч. Теория моделей. М., "Мир", 1977. Главы IV-V 1. ВасильевЮ. Л., Ветухновский Ф. Я., Гл а голев В. В., Журав- левЮ. И., Левенштейн В. И., Яблонский С. В. (Под общей ре- дакцией Яблонского С. В. и Лупанова О. Б.). Дискретная математика и математические вопросы кибернетики. М., "Наука", 1974. 2. Гаврилов М. А. Теория релейно-контактных схем. М.-Л., изд-во АН СССР, 1950. 3. Глухов М. М. Алгебра высказываний и двоичные функции. М., 1971. 4. Кол д у элл С. Логический синтез релейных устройств. М., ИЛ, 1962. 5. Яблонский С. В. Введение в дискретную математику. М., "Наука", 1979. 6. Яблонский С. В., Г а ври л о в Г. П., К уд р явц ев В. Б. Функции ал- гебры логики и классы Поста. М., "Наука", 1966. 7. Амбросимов А. С., Шаров Н. Н. Некоторые асимптотические раз- ложения для числа функций с нетривиальной группой инерции.-Пробле- мы кибернетики, 36, 1979, 65-84. 8. Касим-3 аде О. М. О влиянии базиса на мощность схем из функцио- нальных элементов. - Препринт института прикладной математики. АН СССР, М 122, 1979. 9. Клосс Б. М., Нечипорук Э. И. О классификации функций много- значной логики. - Проблемы кибернетики, 9, 19 6 3, 27 - 36. 10. Л у панов О. Б. О синтезе некоторых классов управляющий систем. - Проблемы кибернетики, 10, 1963,63-98. 231
11. По ва р о в Г. Н. Математическая теория синтеза контактных (1, k)- полюсников. ДАН СССР, 100, № 5, 1955. 12. Шеннон К. Число двухполюсных параллельно-последовательных сетейгРаботы по теории информации и кибернетике. М., ИЛ, 1963. 46-58. 13. Шеннон К. Синтез двухполюсных переключательных схем.-Работы по теории информации и кибернетике. М., 1963, 59-109. 14. Л а уб ец В. Г., Сит ни ко в О. П. Гармонический анализ булевых функций и функций ^-значной логики над конечным полем. - Техни- ческая кибернетика, № 1, 1975. Глава VI 1. ЕршовЮ. Л., Лавров PL А., Тайманов А. Д.,ТайцлинМ. А. Элементарные теории. УМН, 20, № 4, 1965, 37-108. 2. Лавров И. А. Логика и алгоритм. Новосибирск, НГУ, 1970. 3. Мальцев А. И. Алгоритмы и рекурсивные функции. М., "Наука”, 1965. 4. Марков А. А. Теория алгорифмов. - Труды матем. ин-та им. В. А. Стеклова, 42, 1954. 5. Мендельсон Э. Введение в математическую логику. М., "Наука".1971. 6. Успенский В. А. Лекции о вычислимых функциях. М., "Изд-во ф.-м. лит.", 1960. 7. Проблемы Гильберта. М., "Наука”, 1969. Глава VII 1. Агафонов В. Н. Сложность алгоритмов и вычислений. Новосибирск, НГУ, 1975. 2. Ахо А., Хо п кро фт Д ж., У л ь м ан Д ж. Построение и анализ вычис- лительных алгоритмов. М., "Мир", 1979. 3. Кузьмин В. А. Реализация функций алгебры логики автоматами, нормальными алгоритмами и машинами Тьюринга. - Проблемы кибер- нетики, 13, 1965, 75-96. 4. Марков А. А. О нормальных алгорифмах, связанных с вычислением булевых функций.-Изв. АН СССР, 31, № 1, 1967, 161-208. 5. Трахтенброт В. А. Алгоритмы и вычислительные автоматы. М., "Сов. радио", 1974. 6. ШоломовЛ. А. Основы теории дискретных логических и вычисли- тельных устройств. М., "Наука”, 1980. Сборники задач 1. Гаврилов Г. П., С апо Ж&/ЙЭА. А. Сборник задач по дискретной ма- тематике. М., "Наука", 1977. 2. Г и нд и кин С. Г. Алгебра логики в задачах. М., "Наука", 1972. 3. ЛавровИ. А., МаксимоваЛ. Л. Задачи по теории множеств, мате- матической логике и теории алгоритмов. М., "Наука", 1975. 232