Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matematika-Uch_posob_dlya_SE.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
9.17 Mб
Скачать

Глава 3. Элементы математической логики

3.1. Понятие высказывания

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

Основное понятие математической логики – высказывание (утверждение). Это понятие средствами математической логики не определяется. Основной признак высказывания: оно может быть или истинным, или ложным. При этом высказывание не может быть и истинным, и ложным одновременно. Говорят, что истина или ложь – возможные значения каждого из высказываний. Для примера приведем такие высказывания из разных областей:

Математика – это круто!

H2O – формула этилового спирта.

Если новый уголовный закон смягчает наказание за деяние, которое отбывается лицом, то это наказание подлежит сокращению в пределах, предусмотренных новым уголовным законом (УК РФ, ст. 10, ч. 2).

Не являются высказываниями фразы типа: «Любовь есть предисловие к разлуке» (И. Бродский), «Зри в корень!» (Козьма Прутков), «Разрешите выйти?» (студент первого курса). Про каждую из них нельзя сказать, истинна она или ложна.

Очевидно, что существуют высказывания простые и сложные. Сложное высказывание можно разложить на простые. Из приведенных выше высказываний первые два – простые, а в третьем можно выделить такие простые высказывания:

  • новый уголовный закон смягчает наказание за деяние, которое отбывается лицом,

  • наказание подлежит сокращению в пределах, предусмотренных новым уголовным законом.

Простым называют такое высказывание, никакая часть которого высказыванием уже не является.

Начало науки о законах и формах мышления – логики связывают с именем Аристотеля (IV в. до н.э.). В XVII в. Г. Лейбниц (юрист, напомним) ввел в логику математическую символику и использовал ее для общих логических построений, то есть положил начало формализации логики. В XIX в. Дж. Буль последовательно реализовал идеи Г. Лейбница, первым исследовал алгебраические свойства высказываний, тем самым заложил основы математической логики. Поэтому математическую логику нередко называют булевой алгеброй или алгеброй логики.

3.2. Операции над высказываниями

Простые высказывания в булевой алгебре называют логическими переменными. Мы их будем обозначать как xm1, xm2,, x0. Логическая переменная может принимать одно из двух значений: или истина, или ложь. Удобно значение истина обозначить символом 1, а значение ложь – символом 0. В булевой алгебре над логическими переменными выполняют логические операции. Результат любой логической операции – сложное высказывание. Это сложное высказывание обозначим как Y.

Каждая логическая операция задается своей таблицей, которая называется таблицей истинности (табл. 3.1). Входами таблицы являются наборы значений всех логических переменных – операндов данной логической операции xm1, xm2,, x0 в каждой строке таблицы, а выходом – результат этой логической операции Y.

Таблица 3.1

xm1

x1

x0

Y

0

0

0

0

1

1

0

0

1

0

2

0

1

0

0

3

0

1

1

1

k

1

1

0

1

2m2

1

1

0

2m1

1

1

1

0

Таблица истинности для m переменных будет иметь 2m строк для всех комбинаций (наборов), составляющих значения этих переменных. При ее заполнении нужно ни один из наборов и не пропустить, и не повторить. Существует простое правило заполнения таблицы наборами значений переменных. Оно основано на том факте, что любая из логических переменных в половине из 2m строк своего столбца имеет значение 0, а на другой половине – значение 1. Распределение нулей и единиц в каждом столбце – свое. Итак, начинаем заполнять столбцы. Самый правый столбец для x0 заполняем сверху вниз последовательностью нуль, один, нуль, один и т.д. до единицы в последней строке таблицы. Столбец для x1 заполняем последовательностью два нуля, две единицы, колонку для x2 – последовательностью четыре нуля, четыре единицы. Продолжаем эту процедуру: серии из нулей и единиц в каждом следующем столбце вдвое больше, чем в предыдущем. В самой левой колонке для xm1 первая половина ячеек будут заполнены нулями, а вторая – единицами. При этом самая первая строка аргументов будет заполнена нулями (все нули), а последняя – единицами (все единицы), и ни один из наборов не будет пропущен и не будет повторен! Заполнив ячейки для логических переменных, заполняют столбец для Y его значениями на каждом из наборов.

Пронумеруем строки таблицы  . Тогда двоичная m-разрядная запись номера строки совпадает с набором нулей и единиц в этой строке.

Рассмотрим основные логические операции.

Таблица 3.2

x

Y

0

1

1

0

Отрицание. Отрицание – операция одноместная. Отрицать можно только одно высказывание. Если аргументом в операции отрицания будет логическая переменная x, а результатом Y, то эта операция задается табл.3.2. Как видим, значения x и Y взаимно обратны. Поэтому для отрицания используют название инверсия (от англ. inverse – противоположность).

Операцию отрицания записывают так:

Yx,

которое читается так: Y есть НЕ x. Поэтому отрицание называют еще и операцией НЕ.

Пример. Пусть x – утверждение:

«Математика юристам необходима».

Тогда инверсией x этого высказывания будет фраза:

«Неправда, что математика юристам необходима».

Конъюнкция. Конъюнкция – многоместная операция. Для двух логических переменных x1 и x0 она задается табл.3.3. Как видим,

конъюнкция истинна, когда все ее аргументы истинны,

конъюнкция ложна, когда хотя бы один из ее аргументов ложен.

Таблица 3.3

x1

x0

Y

0

0

0

0

1

0

1

0

0

1

1

1

Другими словами, Y1 только тогда, когда И x11, И x01. Поэтому конъюнкцию называют операцией И. Обозначают конъюнкцию символом  :

Yx1x0.

Результат конъюнкции совпадает с результатом умножения чисел 1 и 0. Поэтому ее называют еще и логическим умножением.

Пример. Пусть x1 – утверждение:

«Двенадцать делится на три»,

а x0 – высказывание:

«Двенадцать делится на четыре».

Их конъюнкцией x1x0 будет высказывание:

«Двенадцать делится на три и на четыре».

Конъюнкция n переменных записывается так:

Yxn-1xn-2x0.

Дизъюнкция. Дизъюнкция – тоже многоместная операция. Для двух логических переменных x1 и x0 она задается табл.3.4. Как видим,

дизъюнкция ложна, когда все ее аргументы ложны,

дизъюнкция истинна, когда хотя бы один из ее аргументов истинен.

Таблица 3.4

x1

x0

Y

0

0

0

0

1

1

1

0

1

1

1

1

Другими словами, Y1 тогда, когда ИЛИ x11, ИЛИ x01, ИЛИ оба аргумента равны 1 (когда хотя бы один из аргументов равен 1). Поэтому дизъюнкцию называют операцией ИЛИ. Для обозначения дизъюнкции применяют символ  :

Yx1x0.

Результат дизъюнкции в табл.3.4, исключая последнюю строку, совпадает с результатом сложения чисел 0 и 1. Поэтому ее называют еще логическим сложением.

Пример. Пусть x1 – недобросовестный конкурент причинил убытки другому хозяйствующему субъекту, x0 – он нанес ущерб его деловой репутации. Тогда x1x0 – это или действие x1, или действие x0, или и то и другое вместе (и все они регулируются ст. 4 Закона о защите конкуренции).

Дизъюнкция n переменных записывается так:

Yxn-1xn-2x0.

Результатом любой из рассмотренных логических операций может быть или 0, или 1. Значит, результат одной логической операции может выступать операндом в другой. Так можно составить суперпозиции логических операций (формулы алгебры логики ФАЛ) и из простых высказываний составлять сложные. При этом следует руководствоваться правилом о приоритетах логических операций. Эти приоритеты убывают в таком порядке: НЕ, И, ИЛИ, а требуемый порядок вычислений, нарушающий правило о приоритетах, задают скобками. Правило о приоритетах логических операций позволяет сложную ФАЛ представить цепочкой простых формул.

Пример.

Y((x1x0)(x1x0)).

Px1x0, Qx1x0, RPQ, YR.

Теперь легко составить таблицу истинности для Y (табл.3.5).

Таблица 3.5

x1

x0

x0

x1

P

R

Y

0

0

1

1

1

1

0

0

1

0

1

0

1

1

1

0

1

0

1

0

1

1

1

0

0

1

1

0

Отрицание, конъюнкция и дизъюнкция образуют функционально полную систему операций математической логики.

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

Импликация. Импликация – двуместная операция. Она задается табл.3.6, а записывается как

Yx1x0.

Правая часть этой записи читается так: если x1, то x0. В импликации переменная x1 называется посылкой, а x0заключением. Из табл.3.6 видно, что

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

Таблица 3.6

Таблица 3.7

x1

x0

Y

x1

x0

x1

x1x0

0

0

1

0

0

1

1

0

1

1

0

1

1

1

1

0

0

1

0

0

0

1

1

1

1

1

0

1

Логическую конструкцию импликации имеют математические теоремы.

Пример,

«Если два угла вертикальны, то они равны».

Здесь x1 – два угла вертикальны, x0 – они равны. Верности теоремы отвечает последняя строка табл. 3.6. Утверждение «Если два угла вертикальны, то они не равны» – ложно, а это – третья

строка табл. 3.6. Каждое из утверждений «Если два угла не вертикальны, то они равны» (строка вторая табл. 3.6) и «Если два угла не вертикальны, то они не равны» (первая строка табл. 3.6) может быть истинными или ложными. Но в импликации подобные утверждения однозначно определены как истинные.

В юридических документах форму импликаций имеют правовые предписания.

Пример. «Если договор поднайма жилого помещения, предоставленного по договору социального найма, заключен без указания срока, сторона договора – инициатор прекращения договора обязана предупредить другую сторону о прекращении договора поднайма за три месяца» (ЖК РФ, ст. 79, ч.6).

Запишем импликацию в терминах функционально полной системы операций:

x1x0x1x0.

В верности этого равенства убедимся, если построим таблицу истинности для правой его части (табл. 3.7) и сравним ее выход с выходом табл. 3.6 для левой части. При построении табл. 3.7 мы использовали табл. 3.2 и табл.3.4.

Равнозначность. Равнозначность – многоместная операция. Для двух переменных она задается табл. 3.8. Как видим,

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

или все одновременно ложны,

или все одновременно истинны,

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

Обозначают равнозначность символом  :

Y(x1x0).

Правая часть этой записи читается так:

x1 тогда и только тогда, когда x0.

Любое равенство, если его рассматривать как одно высказывание, является равнозначностью. Например, Y(225) .

Равнозначность n переменных записывается следующим образом:

Y(xn-1xn-2x0).

Синонимы для равнозначности:

x1 в том, и только в том случае, когда x0;

x1 есть необходимое и достаточное условие для x0;

x0 есть необходимое и достаточное условие для x1.

если x1, то x0, И если x0, то x1;

Последний из синонимов равнозначности позволяет выразить ее еще и так:

(x1x0)(x1x0)(x0x1).

Читателю предлагается проверить верность этой формулы самостоятельно.

В терминах функционально полной системы операций равнозначность двух переменных записывается так:

(x1x0)x1x0x1x0.

Таблица 3.8

Таблица 3.9

x1

x0

Y

x1

x0

A

B

C

D

F

0

0

1

0

0

1

1

1

0

1

0

1

0

0

1

1

0

0

0

0

1

0

0

1

0

0

1

0

0

0

1

1

1

1

1

0

0

0

1

1

Пользуясь правилом о приоритетах логических операций, представим ФАЛ в правой части этого равенства такой цепочкой:

Ax1, Bx0, CAB, Dx1x0, FCD.

Составим таблицу истинности для высказываний A, B, C, D и F (табл. 3.9), сравним ее выход с выходом табл. 3.8 и убедимся в верности представления равнозначности в терминах функционально полной системы операций алгебры логики.

Пример. В совершении преступления подозреваются И, П и С, которые дали такие показания:

И: Виновен П, а С – нет.

П: Если виновен И, то виновен и С (они всегда действуют сообща).

С: Я невиновен, но виновен хотя бы один из них.

Требуется а) установить виновного,

б) проверить, следуют ли показания одного подозреваемого из показаний другого.

Обозначим простые высказывания о виновности подозреваемых: x2 – виновен И, x1 – виновен П, x0 – виновен С. Тогда показания подозреваемых средствами алгебры логики запишутся так:

ПИx1x0, ППx2x0, ПСx0(x2x1),

а проверяемые импликации – так:

АПИПП, БПППИ, ВПППС,

ГПСПП, ДПИПС, ЕПСПИ.

Составим таблицу истинности (табл. 3.10), в которой вспомогательные выражения – суть Нx0, Дx2x1.

Таблица 3.10

Виновен

Вспом.

Показания

Импликации

x2

x1

x0

Н

Д

ПИ

ПП

ПС

А

Б

В

Г

Д

Е

0

0

0

0

1

0

0

1

0

1

0

0

1

1

1

1

0

0

1

0

0

0

1

0

1

0

0

1

1

1

2

0

1

0

1

1

1

1

1

1

1

1

1

1

1

3

0

1

1

0

1

0

1

0

1

0

0

1

1

1

4

1

0

0

1

1

0

0

1

1

1

1

0

1

0

5

1

0

1

0

1

0

1

0

1

0

0

1

1

1

6

1

1

0

1

1

1

0

1

0

1

1

0

1

1

7

1

1

1

0

1

0

1

0

1

0

0

1

1

1

а) Однозначный ответ получим, если предположить, что все подозреваемые говорят правду, и виноват П, а И, С – невиновны (строка 2 табл. 3.10).

Если же П говорит правду и невиновен, а И, С лгут (строки 0, 1, 3, 4 и 5), то виновны либо С, либо И, либо только С.

Последняя строка (все виновны): П говорит правду, а остальные снова лжесвидетельствуют.

б) Только одна импликация ПИПС истинна при любых значениях ее посылки и заключения. Значит, показания подозреваемого И следуют из показаний П.

Такой анализ показаний подозреваемых позволяет спланировать дальнейшие следственные действия.

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

Пример. Возьмем такое высказывание:

«Уголовной ответственности подлежит лицо, достигшее ко времени совершения преступления шестнадцатилетнего возраста» (УК РФ, ст. 20, ч. 1).

Буквальное прочтение этого утверждения позволяет привлечь к уголовной ответственности любого из очевидцев и даже жертву преступления. По смыслу данное высказывание – суть импликация, у которой заключение (лицо подлежит уголовной ответственности) предшествует посылке (лицо достигло ко времени совершения преступления шестнадцатилетнего возраста). А в посылке нет основополагающего утверждения: лицо совершило преступление. Нужно было бы сначала сформулировать данную норму в соответствии с требованиями синтаксиса импликации в математической логике:

Если лицо совершило преступление и ко времени его совершения оно достигло шестнадцатилетнего возраста, то это лицо подлежит уголовной ответственности.

И только после этого можно было бы изложить его так:

Уголовной ответственности подлежит лицо, совершившее преступление и достигшее ко времени его совершения шестнадцатилетнего возраста.

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

Пример. Приведем такое сложное высказывание (Y):

«Преступление признается совершенным с прямым умыслом, если лицо осознавало общественную опасность своих действий (бездействия), предвидело возможность или неизбежность наступления общественно опасных последствий и желало их наступления» (УК РФ, ст. 25, ч. 2).

Простые высказывания в нем:

  • преступление признается совершенным с прямым умыслом (x0),

  • лицо осознавало общественную опасность своих действий (бездействия) (x1),

  • лицо предвидело возможность наступления общественно опасных последствий своих действий (x2),

  • лицо предвидело неизбежность наступления общественно опасных последствий своих действий (x3),

  • лицо желало их наступления (x4).

Эти простые высказывания (булевы переменные) связаны таким набором логических операций:

Y(x1(x2x3)x4)x0 .

Как видим, в этой формуле пять логических переменных, таблица истинности для нее будет иметь 2532 строки, и анализировать ее будет непросто. Правда, строить полную таблицу истинности для функции большого числа переменных необязательно. Можно узнать значение для Y в той или иной строке номер k, подставив в формулу значения аргументов в этой строке. Например, рассматриваемая импликация должна быть верной, когда верны ее посылка и заключение. Отметим, что в выражении для посылки дизъюнкция x2x3 (лицо предвидело возможность или неизбежность…) является квалификационным признаком для преступления с прямым умыслом, и она должна быть истинной. Поэтому проверяем значение импликации в строках с номерами 311413121110 (все единицы), 271413021110 и 231403121110:

Y(31)(11(1213)14)10111 ,

Y(27)(11(0213)14)10111 ,

Y(23)(11(1203)14)10111 .

А при истинной посылке и ложном заключении импликация должна быть ложной. Предложим читателю убедиться в том, что на наборах с номерами 30, 22 и 26 она и в самом деле ложна.

Исследовать ФАЛ с помощью таблиц их истинности неудобно. Необходимы средства непосредственного анализа высказываний по формулам. Основу таких средств составляет математический аппарат алгебры логики, а именно ее аксиомы и теоремы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]