Элементы математической логики

advertisement
Элементы математической логики
История логики насчитывает около двух с половиной тысячелетий. На первом
этапе до начала ХХ века она развивалась очень медленно. Перемены, происшедшие в
логике приблизили ее к реальному мышлению и тем самым к человеческой деятельности.
Первоначально математическая логика рассматривалась как базис для логического
обоснования различных областей математики. В последние три десятилетия
математическая (символическая) логика находит применение во многих областях, в
частности, в кибернетике, теории электронных вычислительных машин, теории
алгоритмов, электротехнике.
Математическая логика рассматривает схематизированные и в известной степени
идеализированные понятия. В логических задачах исходными данными являются не
только числа, но и сложные и весьма запутанные высказывания. Во многих случаях
необходима ЭВМ для решения логических задач. Умение использовать логические
операции повышает эффективность программирования. В самой математической логике
немало задач, решение которых можно найти с помощью ЭВМ. Одним из примеров таких
задач является поиск тождественно истинных высказываний (тавтологий) в алгебре
высказываний. Основным разделом математической логики, лежащим в основе других ее
разделов, является логика высказываний.
Элементы логики высказываний
Рассмотрим некоторый класс объектов и установим свойства этих объектов, а
также отношения и операции над ними. Простые высказывания являются простейшим
объектом логики высказываний. Рассмотрим несколько примеров простых высказываний:
"Некоторые свойства мышления не моделируются средствами современной кибернетики",
"Верста больше километра", " Число 100 больше числа 10". В двузначной логике
единственный способ оценки сводится к утверждению или отрицанию истинности
высказывания. В такой логике есть смысл абстрагироваться от различий между
суждением и высказыванием и рассматривать их как синонимы.
Пользуясь простыми высказываниями можно образовывать сложные или
составные высказывания, в которых простые входят в качестве элементарных
составляющих. Таким образом, в отличие от сложного, простое высказывание не
поддается расчленению на высказывания. В образовании сложных высказываний
используются слова: и, или, тогда и только тогда, когда (в том и только в том
случае), если ... , то ... , нет. Рассмотрим несколько примеров сложных высказываний.
1) Если идет дождь, то солнце не светит. 2) Если ветер дует, то нет дождя.
При первоначальном изучении логики высказываний обращают внимание не на
содержание, а на истинность или ложность высказываний. Основная задача логики
высказываний заключается в том, чтобы на основании истинности или ложности простых
высказываний определить истинность или ложность сложных высказываний. Среди
сложных высказываний можно выделить соединительные, разделительные, условные,
эквивалентные и высказывание с внешним отрицанием.
Логические операции часто называют логическими связками и для них
используется система символических обозначений. Простые высказывания будем
обозначать большими буквами А, В, С и т.д., а значения истинности буквами I (либо1) для
"истинно" и L (либо 0) для "ложно". Для булевых переменных, то есть переменных,
которые принимают только два значения, называемые "истиной" (TRUE) и "ложью"
(FALSE) и обозначаемые соответственно 1 и 0, определены следующие логические
операции (здесь приведены различные обозначения, встречающиеся в литературе):
1)  - означает логическое НЕ
2) , , &, и, AND - означает логическое И
3) +,  , или, OR, - означает логическое ИЛИ
4) , - логическое исключающее ИЛИ
5)  - импликация
6) , - двойная импликация или эквиваленция.
Операция отрицания (иногда называют операция инверсии) является простейшей
операцией логики высказываний. Если А - истинное высказывание, то A является
ложным высказыванием, и наоборот, если А - ложно, то A- истинно. Операция
отрицания выражается словосочетанием "неверно, что" и определяется следующей
таблицей истинности.
A
А
1
0
0
1
Операция конъюнкции (логического умножения) соответствует союзу "и".
Конъюнктивное (соединительное) высказывание А/\В - это высказывание, в котором
утверждается наличие двух ситуаций. Например, "солнце светит и нет дождя". Операция
конъюнкции определяется с помощью следующей таблицы истинности.
А
В
А/\В
0
0
0
0
1
0
1
0
0
1
1
1
Таким образом, сложное высказывание А/\В истинно в том и только в том случае,
когда оба высказывания А и В являются истинными. Например, пусть высказывание А число 100 делится на 5, а высказывание В - число 100 больше 5. Тогда сложное
высказывание А/\В будет истинным.
Дизъюнкция (операция логического сложения), соответствующая союзу "или"
имеет два различных значения. Следует различать исключающее "или" и
неисключающее "или". Логическая операция, соответствующая неисключающему "или"
называется дизъюнкцией и обозначается А\/В. Она определяется следующей таблицей
истинности.
А В А\/В
0
0
0
0
1
1
1
0
1
1
1
1
Таким образом, дизъюнкция (логическая сумма) А\/В ложна тогда и только тогда,
когда ложны оба высказывания А и В. Например, пусть высказывание А - число 20
делится на 7, а В - число 20 больше 7, тогда сложное высказывание А\/В "число 20
делится на 7 или число 20 больше 7" будет истинным. Для высказывания,
соответствующему исключающему "или", используется часто словосочетание или... или
(либо... либо). Ниже приведена таблица для дизъюнкции, исключающей "или".
А
В
АВ
0
0
0
0
1
1
1
0
1
1
1
0
Рассмотрим два примера дизъюнкции неисключающей "или" и исключающей
"или":
а)"Петров является программистом или Петров является студентом".
б)"Петров совершил преступление либо Петров не совершал преступления".
Введем высказывания: Р - Петров является программистом, С - Петров является
студентом, П - Петров совершил преступление. Тогда
а) Р+С;
б) П П
Импликация - это одна из самых важных операций логики высказываний. Эта
операция выражается словосочетанием "если..., то...". По определению импликация А В
истинна всегда за исключением случая, когда А истинно, а В ложно. Таблица истинности
для операции импликация имеет следующий вид:
А
В
А В
0
0
1
0
1
1
1
0
0
1
1
1
Первые две строки таблицы следуют из того, что из ложного высказывания можно
получить как истинное, так и ложное высказывание. Например,
а) если 2+3=4, то 22=4
б) если 2+3=4, то 22=5
Очень часто высказывание после слова "если" называется основанием, а после
слова "то" следствием. Например, "если идет дождь, то земля мокрая". Здесь простое
суждение "идет дождь" - основание, а следствие - "земля мокрая".
Операция эквиваленция обозначается знаками , =. Сложное высказывание А=В
(читается А эквивалентно В) истинно тогда и только тогда, когда А - истинно и В истинно
или А - ложно и В - ложно. В остальных случаях А=В ложно. Операция эквиваленции
задается следующей таблицей истинности.
А
В
А=В
0
0
1
0
1
0
1
0
0
1
1
1
Таким образом, сложное высказывание А=В - это высказывание, в котором
утверждается одновременное наличие или отсутствие двух ситуаций. Выражается, как
правило, словосочетаниями "если и только если..., то...", "в том и только в том случае,
когда.."," тогда и только тогда, когда...".
Ниже приведена таблица логических операций и их перевода на естественный
язык.
№
1.
2.
№
Операция
Отрицание
Конъюнкция
(логическое
произведение)
Операция
Обозначение
A , А, не А
АВ, А/\В, А и В,
А and В
Обозначение
Истолкование
не А; неверно, что А;
АиВ;
как А, так и В;
А вместе с В;
А несмотря на В;
А, в то время как В;
Истолкование
3. Дизъюнкция
А+В, А\/В, А OR B,
(логическая сумма, А или B
не исключающая
или)
4.
Дизъюнкция
АВ
(исключающая или)
5.
АВ
Импликация
6.
Эквиваленция
(двойная
импликация)
А=В, АВ
А или В;
А или В или оба
А либо В; А или В, но не
оба
Если А то В; В если А; В
необходимо для А; А
достаточно для В; А только
тогда, когда В; В тогда, когда А;
все А есть В
А эквивалентно В; А
необходимо и достаточно для В;
А тогда и только тогда, когда В;
А если и только если В;
Используя основные логические операции, можно построить более сложные
высказывания, например,
(A/\B) \/ (A/\B)\/( А/\С), (А\/A)/\(BAC), ( (А\/В)C)= А.
Указанные высказывания называются формулами алгебры высказываний. Эти
формулы состоят из простых высказываний А,В,..., знаков логических операций (, \/, /\,
 , =), а также скобок. Скобки указывают последовательность выполнения операций (как
и в элементарной алгебре). При отсутствии скобок первой всегда выполняется операция
отрицания, затем конъюнкция (логическое произведение), дизъюнкция (логическое
сложение), затем импликация и эквиваленция.
Формулы логики высказываний. Оценка формулы.
Отношения между формулами
Правила опускания скобок аналогичны соответствующим правилам опускания
скобок в арифметике, нужно лишь учитывать приоритет выполнения логических
операций.
 Пример 1. Опустите лишние скобки
((А+(ВС))(( AB )+С))=((А+ВС)( AB +C))=A+BC AB +C
 Пример 2. Восстановите опущенные скобки в формуле.
(A+BD B )+(B+CD)=(((A+(BD)) B )+((B+C)D))
Для каждой формулы может быть построена соответствующая таблица
истинности. Пусть задана формула A B A. Сначала составим таблицу всевозможных
значений переменных А, В (оценок переменных), от которых зависит данная формула.
Затем проведем анализ строения этой формулы. Сначала выпишем саму формулу, затем
ее главные подформулы, затем под каждой подформулой снова выпишем главные
подформулы и т.д.
Если теперь идти снизу вверх и поэтапно строить таблицу истинности для всех
формул, то в результате получим таблицу истинности для исходной формулы.
Оценка
А
B
B
A
AB
0
0
1
0
1
1
0
1
B
0
0
1
1
m1
m2
m3
m4
0
1
0
1
1
0
1
0
AB
A
0
0
1
1
Из полученной таблицы истинности видно, что истинностные значения формулы
A B A совпадают со значением А, либо одновременно ложны, либо одновременно
истинны. Такие формулы называются равносильными. Для обозначения равносильности
пользуются обычно знаком равенства, то есть A B A =A.
С помощью таблиц
равносильность формул.
истинности
можно
достаточно
просто
проверить
Пример 3. Проверьте равносильность следующих формул с помощью таблиц
истинности:
1. AB= A +B
2. AB= B  A
3. A(A+B)=A
4. A+AB=A
5. AB = A + B
6. A  B = A B
Таблица 1
A
B
0
0
0
1
1
0
1
1
AB
1
1
0
1
A
1
1
0
0
A +B
1
1
0
1
Таблица 3
A
0
0
1
1
Таблица 2
А
B
0
0
0
1
1
0
1
1
AB
1
1
0
1
B
1
0
1
0
A
1
1
0
0
BA
1
1
0
1
Таблица 4
B
А+В
A(A+B)
A
B
AB
A+AB
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
Таблица 5
A
0
0
1
1
B
0
1
0
1
AB
0
0
0
1
Таблица 6
AB
1
1
1
0
A
1
1
0
0
B
1
0
1
0
A+B
1
1
1
0
A
0
0
1
1
B
0
1
0
1
А+В
0
1
1
1
A B
1
0
0
0
A
1
1
0
0
B
1
0
1
0
AB
1
0
0
0
Равносильные формулы можно рассматривать как имена одного и того же объекта,
то есть они взаимоизменяемы. В математике это обычное дело, когда дробь 1/2 можно
заменить на 3/6. Таким образом, замена одной формулы на равносильную ей, ничего не
меняет. Кроме понятия равносильности формул пользуются также такими понятиями как
совместимость, несовместимость, противоположность, логическое следование.
Две формулы называются совместимыми, если хотя бы при одной оценке mi
переменных, они одновременно являются истинными. В противном случае они
несовместимые.
Две формулы называются противоположными, если при любой оценке
переменных mi они принимают противоположные значения и в этом случае каждая из
формул является отрицанием другой.
Формула В называется логическим следствием формулы А, если при любых
оценках переменных импликация АВ принимает только одни значения истина.
Всю совокупность формул логики высказываний можно разделить на три класса:
1) нейтральные или выполнимые. Выражения принимают как значения истинно,
так и ложно.
2) выражения принимают значения истинно независимо от логических значений
входящих в них переменных. Это тождественно-истинные формулы (или тавтологии).
3) выражения принимают значения ложно независимо от логических значений
входящих в них переменных. Это тождественно-ложные формулы.
Существует два способа определения истинностного значения формулы. Первый это с помощью таблиц истинности, а второй путем приведения формул к нормальной
форме. Формула имеет нормальную форму, если в ней путем равносильных замен
устранены знаки эквиваленции, импликации, исключающей дизъюнкции, двойного
отрицания, при этом знаки отрицания находятся только при переменных. Например,
формула A  B не является нормальной, так как знак отрицания относится ко всему
выражению, а формула A B является уже нормальной. Табличный способ определения
истинностного значения формул имеет ограниченное применение, поскольку при
увеличении количества переменных становится громоздким и трудным для анализа.
Пример 4. Определить логическое значение следующей формулы:
((С\/В)В)/\(A/\В)В.
Решим эту задачу двумя способами. Сначала построим таблицу истинности (число
возможных комбинаций 2N , где N количество переменных).
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
С\/В
0
1
1
1
0
1
1
1
(С\/В)В
1
0
1
1
1
0
1
1
A/\В
0
0
0
0
0
0
1
1
((С\/В)В)/\(A/\B)
0
0
0
0
0
0
1
1
F
1
1
1
1
1
1
1
1
Получили тождественно-истинную формулу.
Основные формулы алгебры логики
Рассмотрим основные равносильные формулы, основанные на законах,
аналогичных законам, характеризующим операции над множествами. (Символ =
используется для равносильных формул)
Законы коммутативности
А\/В = В\/А,
А/\В = В/\А
Законы ассоциативности
(А\/В)\/С = А\/(В\/С),
(А/\В)/\С = А/\(В/\С)
Законы дистрибутивности
А/\(В\/С) = (А/\В)\/(А/\С)
А\/(В/\С) = (А\/В)/\(А\/С)
Законы Моргана
A  B  A B
A B  A  B
Отметим еще ряд важных формул, позволяющих упрощать логические выражения
A A  0
A A 1
A  A  ...A  A
A  A  A...  A
A A
A 1 1
A0  A
A 0  0
A 1  A
Download