Введение в логику: высказывания и базовые операции (инверсия, конъюнкция, дизъюнкция)
Введение в логику: высказывания и базовые операции (инверсия, конъюнкция, дизъюнкция)
Добро пожаловать в курс «Основы алгебры логики и логические операции». Мы начинаем наше путешествие с фундамента, на котором строится вся современная вычислительная техника, программирование и значительная часть математических рассуждений. Этот фундамент — алгебра логики.
Многие считают, что логика — это просто умение здраво рассуждать. Однако в математике и информатике логика — это строгая наука со своими законами, формулами и операциями. В этой статье мы разберем, что такое логическое высказывание, как превратить человеческую речь в математические символы и как работают три главных «кита» логики: инверсия, конъюнкция и дизъюнкция.
Что такое алгебра логики?
Алгебра логики (или булева алгебра, названная в честь математика Джорджа Буля) — это раздел математики, который изучает высказывания и операции над ними. В отличие от обычной алгебры, где мы работаем с числами (1, 5, 100, 3.14), в алгебре логики мы работаем со значениями истинности.
В классической логике существует всего два возможных значения:
- Истина (True) — обозначается цифрой .
- Ложь (False) — обозначается цифрой .
Это двоичная система, которая идеально подходит для компьютеров, где — это наличие электрического сигнала, а — его отсутствие.
Понятие высказывания
Прежде чем производить вычисления, нам нужно понять, над чем мы будем их производить. Основным объектом алгебры логики является высказывание.
Высказывание — это повествовательное предложение, о котором можно однозначно сказать, истинно оно или ложно.
Давайте разберем это на примерах, чтобы почувствовать разницу.
Примеры высказываний:
- «Москва — столица России». (Это высказывание, его значение — Истина или ).
- «В сутках 30 часов». (Это тоже высказывание, хотя оно и неверное. Его значение — Ложь или ).
- «Число 5 больше числа 3». (Высказывание, значение — ).
Примеры предложений, не являющихся высказываниями:
- «Который час?» (Это вопрос, он не может быть истинным или ложным).
- «Сделайте домашнее задание!» (Это побуждение/приказ).
- «x + 5 = 10». (Это не высказывание, пока мы не знаем, чему равен . Если , то это истина, если — ложь. Такие конструкции называют предикатами, но о них мы поговорим позже).
В алгебре логики простые высказывания обычно обозначают заглавными латинскими буквами: и так далее.
Например:
- «На улице идет дождь».
- «Я взял зонт».
Теперь, имея эти «кирпичики», мы можем строить из них сложные конструкции с помощью логических операций.
Базовые логические операции
Существует три основные операции, с помощью которых можно описать любую, даже самую сложную логическую функцию. Это инверсия, конъюнкция и дизъюнкция.
1. Инверсия (Логическое НЕ)
Инверсия — это самая простая операция, так как она применяется к одному высказыванию (является унарной операцией). Она меняет значение высказывания на противоположное.
Определение: Инверсией высказывания называется новое высказывание, которое истинно, если ложно, и ложно, если истинно.
В естественном языке этой операции соответствует частица «НЕ» или слова «неверно, что...».
Обозначение: В литературе и информатике можно встретить разные варианты записи:
- (математический стандарт)
- (черта сверху)
- (в программировании)
Мы будем часто использовать черту сверху или знак .
Таблица истинности для инверсии: Таблица истинности показывает, какой результат дает операция при всех возможных значениях исходных переменных.
| 0 | 1 |
| 1 | 0 |
Пример: Пусть «Сегодня пятница». Тогда «Неверно, что сегодня пятница» (или просто «Сегодня не пятница»). Если сегодня действительно пятница (), то будет ложью ().
2. Конъюнкция (Логическое И)
Конъюнкция объединяет два высказывания в одно. Это операция строгого соответствия.
Определение: Конъюнкцией двух высказываний и называется новое высказывание, которое истинно только тогда, когда истинны оба исходных высказывания одновременно.
В естественном языке соответствует союзу «И».
Обозначение:
- (классический математический знак)
- (точка, как умножение)
- (амперсанд, часто в программировании)
Часто конъюнкцию называют логическим умножением. Это название не случайно: если посмотреть на таблицу истинности, результат операции полностью совпадает с обычным арифметическим умножением нулей и единиц.
Таблица истинности для конъюнкции:
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Обратите внимание: результат равен только в одной строке из четырех — когда и , и .
Пример: Пусть «У меня есть яблоко», «У меня есть груша». Высказывание «У меня есть яблоко И груша». Это будет правдой только в том случае, если у вас в карманах лежат оба фрукта. Если есть только яблоко, но нет груши — высказывание ложно.
3. Дизъюнкция (Логическое ИЛИ)
Дизъюнкция — это операция выбора или объединения возможностей.
Определение: Дизъюнкцией двух высказываний и называется новое высказывание, которое истинно, если истинно хотя бы одно из исходных высказываний.
В естественном языке соответствует союзу «ИЛИ».
Обозначение:
- (напоминает латинскую 'v' от слова vel — или)
- (плюс, как сложение)
- (вертикальная черта)
Дизъюнкцию называют логическим сложением. Однако здесь есть отличие от обычной арифметики: в логике равно (Истина + Истина = Истина), а не .
Таблица истинности для дизъюнкции:
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Результат равен (Лжи) только в одном случае — когда оба исходных высказывания ложны.
Пример: Пусть «Я выпью чай», «Я выпью кофе». Высказывание «Я выпью чай ИЛИ кофе». Это высказывание будет истинным, если вы выпьете только чай, только кофе, или и то и другое вместе. Ложным оно будет только если вы не выпьете ни того, ни другого.
Приоритет логических операций
Как и в обычной алгебре, где умножение выполняется раньше сложения, в алгебре логики есть свой порядок выполнения действий. Это критически важно для правильного решения логических выражений.
Если в выражении нет скобок, операции выполняются в следующем порядке:
- Инверсия (, НЕ) — самый высокий приоритет.
- Конъюнкция (, И) — средний приоритет.
- Дизъюнкция (, ИЛИ) — самый низкий приоритет среди базовых.
Рассмотрим пример сложного выражения:
Где — инверсия, — дизъюнкция, — конъюнкция.
Порядок действий будет таким:
- Сначала выполняется инверсия: .
- Затем выполняется конъюнкция: .
- В последнюю очередь выполняется дизъюнкция между результатами первого и второго действий.
Если мы хотим изменить порядок, мы должны использовать скобки, например: . В этом случае сначала выполнится действие в скобках.
Практический пример: построение таблицы истинности
Давайте построим таблицу истинности для небольшого выражения, чтобы закрепить материал.
Выражение:
Где — результат функции, — инверсия переменной , — конъюнкция с переменной .
Шаги:
- Выписываем все возможные комбинации и .
- Вычисляем .
- Вычисляем результат конъюнкции .
| 0 | 0 | 1 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 1 | 0 | 0 |
Разбор второй строки:
- , .
- Инверсия превращает в .
- Теперь делаем конъюнкцию: (это ) И (это ).
- . Результат истинный.
Заключение
Мы познакомились с алфавитом логики. Вы узнали, что такое высказывание, и изучили три инструмента: НЕ (переворачивает значение), И (требует истинности всего сразу) и ИЛИ (довольно хотя бы одной правды).
Эти операции — база для всего, что мы будем изучать дальше. В следующих статьях мы рассмотрим более сложные операции, такие как импликация и эквиваленция, а также научимся упрощать громоздкие логические выражения, используя законы алгебры логики.
Понимание этих основ позволит вам не только решать задачи по информатике, но и лучше понимать, как работают условия в программировании (if, while) и как строятся сложные поисковые запросы в базах данных.