Суждения могут быть истинными или ложными. Истинность или
ложность суждений проверяется их соответствием действительности. Пример
истинного суждения - «снег белый». Пример ложного суждения - «генетика - лженаука».
Суждение истинно, если оно отражает действительное положение
вещей. Примеры истинных суждений: «снег белый», «2´2 = 4», «театр - это искусство».
Суждение ложно, если оно противоречит истинному положению
вещей. Примеры ложных утверждений - «2´2
= 5», «снег - черный», «Земля плоская».
Однако существуют суждения, об истинности или ложности
которых нельзя судить однозначно. Пример таких суждений: «есть жизнь на Марсе»,
«машина может думать», «астрология - наука».
Математическая логика - это дисциплина, изучающая технику
математических доказательств. Отличие математических суждений от обычных
разговорных высказываний состоит в том, что математические суждения всегда
предполагают однозначную интерпретацию, в то время как наши обычные
высказывания зачастую допускают многозначную трактовку.
Математика - наука, признающая исключительно только однозначные
суждения, утверждения и допускающая только строгие доказательства. В то время
как люди в своих рассуждениях и высказываниях допускают различного рода неточности
и двусмысленности.
Работа ЭВМ как автоматических устройств основана исключительно
на математически строгих правилах выполнения команд, программ и интерпретации
данных. Тем самым работа компьютеров допускает строгую однозначную проверку
правильности своей работы в плане заложенных в них процедур и алгоритмов
обработки информации.
Фундаментом науки о вычислительных машинах является конструктивная
математика, в основе которой лежит математическая логика и теория алгоритмов с
их однозначностью в оценке суждений и процедур вывода. Математическая логика с
самого начала использовалась для описания элементов и узлов ЭВМ, а теория
алгоритмов - для описания компьютерных программ.
Основными объектами в математической логике являются -
высказывания и предикаты. Первые изучаются в исчислении высказываний, а вторые
- в исчислении предикатов.
Высказывания - это суждения, о которых может быть известно -
что они истины или ложны. В исчислении высказываний не исследуется - о чем
утверждается в этих суждениях.
Высказывания обычно обозначаются отдельными буквами или
буквами с возможными индексами. Примеры простых высказываний и их обозначений:
А = «снег белый»
В1 = «вода теплая»
В2 = «земля твердая»
С математической точки зрения высказывания - это переменные,
принимающие значения «истина» или «ложь». Эти два истинностных значения иногда
заменяются словами «да», «нет», либо цифрами 1 и 0.
В отличии от высказываний предикаты - это суждения о некоторых
переменных объектах или их свойствах. Примеры предикатов:
А(х) = «цвет яблока - х»
В(х, у) = «х < у»
где х, у - это некоторые переменные (объекты).
Значениями переменных в предикатах могут быть числа, слова,
вектора, списки, функции, процедуры, алгоритмы или даже программы. Для
математической логики существенно, чтобы эти переменные объекты имели
конструктивную форму и были бы строго определены.
С математической точки зрения предикаты - это функции, имеющие
одну или несколько переменных и принимающие логические значения «истина» или
«ложь». Обозначения предикатов в математической логике схожи с обозначениями
обычных математических функций: Р(х), Q(x,y) и т. д.
В информатике для обозначения переменных, функций и предикатов,
а также их аргументов обычно используются осмысленные слова и словосочетания в
целях простоты их ввода в ЭВМ. Например, предикаты, используемые для описания
фактов в языке Пролог, обычно имеют обозначения, выражаемые в лексике родного
языка:
любит (Маша, х);
цена (конфеты, с).
В форме предикатов с конкретными аргументами-значениями
могут быть описаны факты любой базы данных. Примеры описания фактов из базы
данных в записи на языке Пролог:
любит (Маша, цветы) - Маша
любит цветы
любит (Саша, машины) -
Саша любит машины
цена (цветы, 1000) -
цена цветов 1000
цена (мороженое, 2500) -
цена морженого 2500
В этой же форме предикатов с переменными могут описываться и
простейшие запросы к базам данных на языке Пролог. Примеры запросов к указанной
базе данных на языке Пролог и соответствующие ответы ЭВМ:
? любит (х, конфеты) -
Кто любит конфеты?
х = Маша
? цена (конфеты, с) -
Какова цена конфет?
с = 1000
В о п р о с ы
1. Что изучает математическая логика?
2. Что изучает логика?
3. Что такое высказывание?
4. Что такое предикат?
5. Когда суждения истинны?
6. Когда суждения ложны?
З а д а ч и
1. Приведите примеры истинных и ложных утверждений
а) из арифметики;
б) из геометрии;
в) из биологии;
г) из жизни.
2. Выразите отрицания для высказываний:
а) «мы пойдем в кино»;
б) «х = 0 или х = 1»;
в) «х = 0 и у = 0»;
г) «а = 0 и b = 0 и с = 0»;
д) «х = 0 или у = 0 или z = 0».
е) «мы не пойдем никуда»;
ж) «а = 0 или b = 0»;
з) «х > 0 и х < 100».
3.2. Основные логические операции
Суждения в математической логике могут быть простыми и
сложносоставными. Примеры простых суждений:
х = 1 рост < 160
А цена (х, у)
Сложносоставные суждения в математической логике образуются
из простых с помощью логических связок и, или и не, выражающих три основных
логических операции:
логическая связка не - отрицание суждений;
логическая связка или - конъюнкция
суждений;
логическая связка и - дизъюнкция суждений.
Примеры сложносоставных суждений:
не А -
неверно суждение А
С или В - истинно
С или В
(х > 0) и (у > 0) -
(х больше 0) и (у больше 0)
(глаза = синие) или (глаза = голубые)
Логическая связка не используется для выражения отрицаний.
Примеры:
не (глаза = синие), - неверно,
что глаза синие
не (А или В), - неверно,
что выполняется А или В
не (любит (Саша, конфеты)) - неверно, что Саша
любит конфеты
Наглядной иллюстрацией этих логических связок с предикатами
служат следующие диаграммы:

Отрицание не А истинно или ложно в зависимости от истинности
исходного суждения А. Свойства отрицания не как логической связки можно описать
таблицей истинности:
Таблица истинности:
А не А
Свойства отрицаний:
НЕ1: Отрицание ложно, если суждение истинно.
НЕ2: Отрицание истинно, если суждение ложно.
Для понимания отрицаний важно уметь выражать их в позитивной
форме. Приведем примеры отрицания математических неравенств и их позитивные
переформулировки:
не (х = 0) º (х
¹ 0)
не (х ¹ 0) º (х = 0)
не (х > 0) º (х
£ 0)
не (х < 0) º (х
³ 0)
не (х ³ 0) º (х < 0)
не (х £ 0) º (х > 0)
Свойства отрицаний, записанные в таблицу истинностности,
могут быть описаны как факты на языке Пролог:
не (да, нет);
не (нет, да);
После ввода этих фактов в ЭВМ с помощью запросов можно
перепроверить свойства отрицаний:
? не (А, нет)
А = да
? не (А, да)
А = нет
Логическая связка и в математической логике называется конъюнкцией.
Таблица истинности конъюнкции:
А В А
и В
|
да
|
да
|
да
|
|
да
|
нет
|
нет
|
|
нет
|
да
|
нет
|
|
нет
|
нет
|
нет
|
Свойства конъюнкции:
И1: Конъюнкция А и В истинна, когда истинны оба суждения.
И 2: Конъюнкция А и В ложна, когда ложно хотя бы одно из суждений
А или В.
Логическая связка или в математической логике называется
дизъюнкцией. Таблица истинности дизъюнкции:
А В А
или В
|
да
|
да
|
да
|
|
да
|
нет
|
да
|
|
нет
|
да
|
да
|
|
нет
|
нет
|
нет
|
Свойства дизъюнкции:
ИЛИ1: Дизъюнкция А или В истинна, когда истинно любое из
суждений А или В.
ИЛИ2: Дизъюнкция А или В ложна, когда ложны оба суждения А и
В.
Свойства конъюнкции и дизъюнкции также можно описать в виде
фактов на языке Пролог:
Дизъюнкция: Конъюнкция:
или (да, да, да); и2
(да, да, да);
или (да, нет, да); и2 (да,
нет, нет);
или (нет, да, да); и2 (нет,
да, нет);
или (нет, нет, нет); и2 (нет,
нет, нет);
Опираясь на эти факты можно получить ответы на вопросы о
свойствах дизъюнкции и конъюнкции с помощью ЭВМ:
? или (А, В, нет) ? и 2 (А,
В, да)
А = нет В = нет А
= да В = да
? или (А, В, да) ?
и 2 (А, В, нет)
А = да В = да А
= да В = нет
А = да В = нет А
= нет В = да
А = нет В = да А
= нет В = нет
Одной из важнейших логических связок математической логики
является импликация А ® В. Эта связка в
математической логике используется для определения правил логического вывода.
Импликация А ® В - это
логическое следование. Импликация А ® В
читается: «если А, то В». Первое суждение в импликации называется посылкой, а
второе суждение - следствием.
Приведем примеры правил логического вывода:
а) с использованием высказываний:
если «на улице дождь», то «на улице мокро»,
б) с использованием предикатов:
любит (х, конфеты) ®
сластена (х).
Таблица истинности импликации:
А В А ® В
|
да
|
да
|
да
|
|
да
|
нет
|
нет
|
|
нет
|
да
|
да
|
|
нет
|
нет
|
да
|
Свойства импликации:
П1: «Импликация А ®
В ложна,
когда посылка А истинна, а следствие В - ложно».
П2: «Импликация А ®
В истинна,
когда истинно следствие либо ложны и посылка и следствие».
В языке Пролог импликации используются для описания правил
вывода и определения новых логических понятий. Например, понятие «сластена» в
языке .Пролог описывается следующим образом:
сластена (х) ¬ любит
(х, конфеты);
Описание этого правила позволяет вводить в ЭВМ вопросы о
«сластенах» и получать осмысленные ответы, исходя из сведений, хранящихся в
базе данных:
? сластена (х) - Кто сластена?
х = Маша
С помощью таблиц истинности могут быть описаны и проверены
свойства любых сложносоставных высказываний. Соответственно с помощью этих
таблиц на ЭВМ средствами языка Пролог могут быть проверены любые сложносоставные
высказывания и законы исчисления высказываний.