Что такое формула алгебры логики какие приняты соглашения для упрощения записи формул

Обновлено: 04.07.2024

Определение:Алфавитомназывается любой непустой набор символов. Элементы этого набора называютсясимволами алфавита.

Определение: Словом в алфавите называется произвольная конечная (возможно пустая) последовательность символов из . Фиксируем некоторый конечный или счетный алфавит переменных

Определение: Формула алгебры логикиопределяется следующим образом (индуктивное определение):

Любая логическая переменная есть формула.

Если - формула, то- формула (допустимы технические символы)

Если и– формулы, то– тоже формулы (допустимы все логические связки).

Других формул нет.

Определение: Подформулой формулы называется любое подслово слова, которое само является формулой.

Для сокращения записи формул обычно принимаются следующие соглашения:

если часть формулы заключена в скобки, то сначала производится действие в скобках,

если над частью формулы стоит знак отрицания, то он заменяет собой скобки, в которые заключена эта часть формулы.

Принят следующий порядок выполнения операций:

импликация и эквивалентность в порядке их записи,

Являются ли формулы тождественно истинными:




Тема 1.5. Законы и тождества Булевой алгебры.

Определение:Пусть логические формулы составлены из простейших высказываний. Если на любом наборе значений простых высказываний значения А и В совпадают, то А и В называютсятождественными.

Возвращаясь к Шекспировскому примеру, и построив Таблицы истинности, мы легко покажем, что R=G.










Пример: Составим таблицу истинности следующей формулы:








Пример: Составим таблицу истинности следующей формулы:









Как видите, построение таблиц истинности трудоемкий, но тривиальный процесс.

Подведем некоторые итоги. Всякий раз, вводя логическую операцию, я говорила об их свойствах. Выпишем их:


– закон исключенного противоречия


– закон исключенного третьего





Закон навешивания двойного отрицания



Эти тождества показывают, что отрицание сложных выражений не такая уж тривиальная операция.

Мы не будем разбирать математический и философский смысл всех этих тождеств. Попробуем понять смысл только двух.

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

Именно из закона исключенного третьего вытекает принятое в математической логике следующее положение «Формула называется формально опровержимой, если доказуемо.

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

Если же противоречащие по форме высказывания относятся не к единичному предмету, а к классу предметов, когда утверждается что-либо относительно каждого и предмета данного класса, то такие высказывания в действительности не являются противоречащими, а противными и поэтому на них закон исключенного третьего не распространяется.

Закон исключенного третьего распространяется и на тот случай, если одно из высказываний что-либо отрицает относительно всего класса предметов, а другое высказывание это же самое утверждает относительно части предметов этого класса. Оба эти высказывания не могут быть истинными одновременно.

Вот часть их диалога

«- Прекрасно! – промолвил Рудин. – Стало быть, по-вашему, убеждений нет.

Нет и не существует.

Это Ваше убеждение?

Как же вы говорите, что их нет. Вот Вам уже одно, на первый случай.

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

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

Обозначим: X – логическое высказывание, – инверсия, & – конъюнкция, – дизъюнкция, – импликация, – эквиваленция.

Применение основных законов логики для упрощения логических выражений.

Представленные примеры демонстрируют основные приемы упрощения логических выражений.

Упростить логическое выражение:

Перепишем выражение с помощью более привычных операций умножения и сложения, определимся с порядком выполнения операций:

Воспользуемся распределительным законом и вынесем за скобки общий множитель, затем операцией переменной с ее инверсией.

Воспользуемся распределительным законом и вынесем за скобки общий множитель, затем операцией переменной с ее инверсией, затем операцией с константами.

Перепишем выражение с помощью более привычных операций умножения и сложения, определимся с порядком выполнения операций. В выражении присутствуют два выражения в скобках, соединенных дизъюнкцией. Сначала преобразуем выражения в скобках.

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

Воспользуемся операцией переменной с ее инверсией.

Перепишем выражение с помощью более привычных операций умножения и сложения, определимся с порядком выполнения операций. В выражении присутствуют два выражения в скобках, соединенных конъюнкцией. Сначала преобразуем выражения в скобках.

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

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

Применим закон склеивания

Воспользуемся распределительным законом, затем операцией переменной с ее инверсией, затем операцией с константами.

Перепишем выражение с помощью более привычных операций умножения и сложения, определимся с порядком выполнения операций.

В выражении присутствует импликация. Сначала преобразуем импликацию .

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

Применим закон идемпотенции и перегруппируем логические слагаемые.

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

Воспользуемся операцией с константами.

Рассмотрим 3 способа упрощения этого логического выражения.

1 способ. Перепишем выражение с помощью более привычных операций умножения и сложения.

Воспользуемся распределительным законом и раскроем скобки, затем операцией переменной с ее инверсией и законом идемпотенции.

Воспользуемся распределительным законом и раскроем скобки, затем операцией переменной с ее инверсией.

Воспользуемся законом идемпотенции.

2 способ. Перепишем выражение с помощью более привычных операций умножения и сложения.

Воспользуемся законом склеивания

Воспользуемся операцией переменной с ее инверсией.

3 способ. Перепишем выражение с помощью более привычных операций умножения и сложения.

Повторим второй сомножитель , что разрешено законом идемпотенции.

Сгруппируем два первых и два последних сомножителя.

Воспользуемся законом склеивания

Рассмотрим 2 способа упрощения этого логического выражения.

1 способ. Перепишем выражение с помощью более привычных операций умножения и сложения, определимся с порядком выполнения операций.

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

2 способ. Перепишем выражение с помощью более привычных операций умножения и сложения, определимся с порядком выполнения операций.

Введем вспомогательный логический сомножитель

Сгруппируем 1 и 4, 2 и 3 логические слагаемые. Вынесем общие логические множители за скобки.

Воспользуемся операцией с константами и операцией переменной с ее инверсией.

Получили два логических выражения:

Теперь построим таблицы истинности и посмотрим, правильно ли упрощено логическое выражение

С помощью логических операций, рассмотренных в предыдущей лекции, из простейших высказываний можно строить высказывания более сложные. Например, из высказываний можно построить такое высказывание: "Если Саратов находится на берегу Невы и все люди смертны, то А.С. Пушкин — великий русский математик". Построенное высказывание символически записывается так: . Конечно, оно звучит несколько странно, поскольку соединяет в себе столь разнородные понятия, которые обычно существуют раздельно друг от друга. Но нас, еще раз подчеркиваем, интересует не содержание этого высказывания, а его логическое значение. Оно может быть определено, исходя из логических значений исходных высказываний и той схемы, по которой из исходных высказываний построено сложное высказывание. Так как , то, используя соотношения (1.4), (1.2) и определения 1.7, 1.3, находим:

Итак, высказывание истинно.

Для конструирования данного сложного высказывания из простейших высказываний и нужно применить операцию конъюнкции к первым двум высказываниям, а затем к полученному высказыванию и к третьему исходному высказыванию применить операцию импликации. Это словесное описание схемы конструирования данного сложного высказывания можно заменить описанием символическим: , где — некоторые символы (переменные), вместо которых можно подставить любые конкретные высказывания. Такая схема конструирования составного высказывания может быть применена к различным конкретным высказываниям, а не только к высказываниям . Например, по этой схеме" из высказываний построим высказывание "Если Сократ — человек и снег — белый, то ". Находим его логическое значение:

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

По рассматриваемой схеме построено и следующее высказывание: "Если 100 делится на 5 и 100 делится на 2, то 100 делится на 10". Формальное вычисление логического значения данного высказывания показывает, что оно истинно, с чем вполне согласуются наши интуитивные представления об этом высказывании.

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

Понятие формулы алгебры высказываний

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

Теперь дадим точное определение формулы алгебры высказываний .

1. Каждая отдельно взятая пропозициональная переменная есть формула алгебры высказываний.

2. Если и — формулы алгебры высказываний, то выражения также являются формулами алгебры высказываний:

3. Никаких других формул алгебры высказываний, кроме получающихся согласно пунктам 1 и 2, нет.

Определения такого типа называются индуктивными. В них имеются прямые пункты (в данном случае п. 1 и п. 2), где задаются объекты, которые в дальнейшем именуются определяемым термином (в данном случае — формулами алгебры высказываний), и косвенный пункт (в данном случае п. 3), в котором говорится, что такие объекты исчерпываются объектами, заданными в прямых пунктах. Среди прямых пунктов имеются базисные пункты (в данном случае п. 1), где указываются некоторые конкретные объекты, именуемые в дальнейшем определяемым термином, и индуктивные пункты (в данном случае п. 2), где даются правила получения определяемых объектов, в частности из объектов, перечисленных в базисных пунктах.

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

К этому полезно добавить следующее. Для каждой формулы должна существовать конечная последовательность всех ее подформул, т.е. такая конечная последовательность, которая начинается с входящих в данную формулу пропозициональных переменных, заканчивается самой этой формулой, и каждый член этой последовательности, не являющийся пропозициональной переменной, есть либо отрицание уже имеющегося члена этой последовательности, либо получается из двух уже имеющихся членов этой последовательности их соединением с помощью одного из знаков и заключением полученного выражения в скобки. Такую последовательность всех подформул данной формулы иногда называют порождающей последовательностью для данной формулы. Наличие такой последовательности у логического выражения служит критерием того, что выражение является формулой. Это свойство отличает формулы.

Приведем примеры формул. На основании п. 1 определения 2.1 формулами будут пропозициональные переменные:

Далее на основании п. 2 того же определения из этих формул построим следующие:

Из построенных формул также на основании п. 2 строим еще более сложные формулы:

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

Приведем примеры выражений, не являющихся формулами. Это в каком-то смысле нелепые выражения. К примеру, выражение было бы формулой на основании п. 2 определения 2.1, если бы формулами были выражения и . Оно было бы формулой, если бы между формулами и не формула, и исходное выражение формулой также не является.

Таким образом, индуктивный характер определения 2.1 дает возможность эффективно решать для каждого выражения, является оно формулой алгебры высказываний или нет.

Вот еще примеры выражений, не являющихся формулами (убедитесь в этом самостоятельно):

То, что последнее выражение не является формулой, может сначала вызвать недоумение. Но после сопоставления его с п. 2 определения 2.1 отмечаем, что в последнем выражении недостает внешних скобок для того, чтобы считать его формулой. Действительно, если бы мы сочли данное выражение формулой, то на основании п. 2 формулой было бы и выражение . Но оно бессмысленно, потому что неопределенно: неизвестно, какую операцию нужно выполнять первой, импликацию или эквивалентность. А от этого, как можно проверить (проверьте!), будет зависеть логическое значение составного высказывания (см. п. 3), получающегося из последнего выражения, если его превратить в формулу указанием последовательности действий и придать пропозициональным переменным и , то проделанное в предыдущем абзаце построение привело бы к формуле .

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

Логическое значение составного высказывания

Если в формулу алгебры высказываний вместо пропозициональных переменных подставить конкретные высказывания соответственно, то получится некоторое новое составное высказывание . Оно называется конкретизацией формулы на выборе высказываний . Как определить логическое значение полученного составного высказывания, если известны логические значения исходных высказываний ?

Прежде чем сформулировать в следующей теореме ответ на поставленный вопрос, введем одно понятие. Ранее отмечалось, что только логические значения высказываний, а не их содержание рассматриваются в алгебре высказываний. Это дает возможность несколько упростить обозначения и терминологию. Так, каждое ложное высказывание можно рассматривать как элемент 0, а каждое истинное — как элемент 1 двухэлементного множества , и писать вместо или лишь только при подстановке вместо ее пропозициональных переменных высказываний с логическими значениями превращается в высказывание с логическим значением , то будем говорить, что формула принимает значение а, если ее переменные принимают значения соответственно, и писать и , где . Для нахождения значения нужно подставить в формулу вместо пропозициональных переменных значения соответственно и в полученном выражении последовательно проделать все действия с нулями и единицами, предписываемые правилами таблиц из определений 1.1, 1.3, 1.5, 1.7, 1.9. В результате получим 0 или 1. Полученное значение будем обозначать и называть значением данной формулы на данном наборе нулей и единиц . Например, вычислим значение формулы

Теорема 2.2. Логическое значение составного высказывания равно значению формулы на наборе логических значений составляющих высказываний , т.е.

Доказательство. Докажем утверждение методом полной математической индукции по числу символов логических операций, входящих в формулу .

Если формула содержит 0 символов логических операций, то она представляет собой просто пропозициональную переменную, скажем, , т.е. (знак .

Если формула содержит лишь один символ логической операции, то она является одной из следующих формул:

В этих случаях доказываемое равенство есть одно из равенств (1.1)–(1.5).

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

где и — некоторые формулы, каждая из которых содержит уже не более к символов логических операций. Нужно провести доказательство для всех пяти случаев. Но в силу принципиальной идентичности этих доказательств проделаем его, например, для случая . Вычисляем:

В проделанных вычислениях второе равенство основано на определении 1.3 логической операции конъюнкции. Третье равенство основано на предположении индукции о том, что для формул и соотношение теоремы выполняется. Наконец четвертое равенство записано на основании того, что .

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

Следовательно, утверждение теоремы верно для любой формулы

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

Составление таблиц истинности для формул

На основании теоремы 2.2 можно для данной формулы Пример 2.3. Составим таблицу истинности для формулы . В первых двух столбцах таблицы выпишем всевозможные пары логических значений, которые могут принимать пропозициональные переменные и и и , образующих так называемую порождающую последовательность для данной формулы. Руководствуемся при этом определениями логических операций импликации и дизъюнкции. В результате получаем таблицу:

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

Пример 2.4. Составим таблицу истинности для формулы . Она содержит три пропозициональные переменные, для которых имеются точно восемь различных наборов значений истинности. Таблица истинности для рассматриваемой формулы вместе с промежуточными столбцами выглядит следующим образом:

Таблицу истинности формулы можно составлять в сокращенном виде.

Пример 2.5. Составим, например, такую таблицу для формулы: (внешние скобки у формулы, согласно договоренности, опущены). В первой строке таблицы выпишем данную формулу. Под переменными и , исходя из соответствующих значений переменной , исходя из соответствующих логических значений формул и . Затем заполняем столбец под вторым знаком . Наконец заполняем столбец под знаком

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

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

Классификация формул алгебры высказываний

Формулы алгебры высказываний подразделяются на следующие типы: выполнимые, тавтологии, опровержимые и тождественно ложные.

Формула алгебры высказываний называется выполнимой, если некоторая ее конкретизация является истинным высказыванием, т.е. существуют такие конкретные высказывания , которые, будучи подставленными в эту формулу вместо переменных соответственно, превращают ее в истинное высказывание. Таким образом, выполнима, если существуют такие конкретные высказывания , что . Выполнимой формулой является, в частности, формула, рассмотренная в примере 2.4. Она превращается в истинное высказывание, если, например, вместо пропозициональных переменных подставить ложные высказывания. Выполнима также формула , конкретизация которой рассмотрена в начале этой лекции.

Формула называется тавтологией , или тождественно истинной, если она превращается в истинное высказывание при всякой подстановке вместо переменных конкретных высказываний , т.е. если для любых высказываний . Формула из примера 2.3 является тавтологией. Для обозначения тавтологии используется знак означает, что формула является тавтологией. В частности, для указанного примера можем записать .

Формула называется опровержимой, если существуют такие конкретные высказывания , которые превращают данную формулу в ложное высказывание , т.е. . Другими словами, опровержимые формулы — это формулы, не являющиеся тавтологиями. Опровержимой является формула, рассмотренная в примере 2.4. Она обращается в ложное высказывание лишь тогда, когда вместо всех переменных подставлены истинные высказывания. Формула также опровержима.

Наконец, формула называется тождественно ложной , или противоречием, если для любых конкретных высказываний . Другими словами, тождественно ложные формулы — это такие формулы, которые не являются выполнимыми.

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

Мышление и математическая логика

В заключение следует отметить, что мы приступили к фундаментальному процессу исследования математическими методами такой сферы, как область человеческого мышления. Начало процессу математизации логики положено математизацией языка. Фактически построена своеобразная знаковая система ( символический язык логики высказываний ), с помощью которой можно попытаться отразить человеческую мысль и проследить оформление мыслительного процесса. Этот язык основывается на алфавите, состоящем из следующих символов:

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

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

Таким образом, имеются два взаимно-обратных процесса (две процедуры): формализация и интерпретация. Если имеется формула Математический форум (помощь с решением задач, обсуждение вопросов по математике).

Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.

Информатика. 10 класса. Босова Л.Л. Оглавление

§ 20. Преобразование логических выражений

Способ определения истинности логического выражения путём построения его таблицы истинности становится неудобным при увеличении количества логических переменных, т. к. за счёт существенного увеличения числа строк таблицы становятся громоздкими. В таких случаях выполняются преобразования логических выражений в равносильные. Для этого используют свойства логических операций, которые иначе называют законами алгебры логики.

20.1. Основные законы алгебры логики.

Приведём основные законы алгебры логики.

1. Переместительные (коммутативные) законы:

2. Сочетательные (ассоциативные) законы:

(A v В) v С = A v (В v С).

3. Распределительные (дистрибутивные) законы:

A v (В & С) = (A v В) & (A v С).

4. Законы идемпотентности (отсутствия степеней и коэффициентов):

5. Закон противоречия:


6. Закон исключённого третьего:


7. Закон двойного отрицания:


8. Законы работы с константами:

A v 1 = 1; A v O = A;

9. Законы де Моргана:


10. Законы поглощения:

Справедливость законов можно доказать построением таблиц истинности.

Пример 1. Упростим логическое выражение


Последовательно применим дистрибутивный закон и закон исключённого третьего:


Пример 2. Упростим логическое выражение


Аналогичные законы выполняются для операций объединения, пересечения и дополнения множеств. Например:


Пробуйте самостоятельно доказать один из этих законов с помощью кругов Эйлера.

Пример 3. На числовой прямой даны отрезки В = [2; 12] и С = [7; 18]. Каким должен быть отрезок А, чтобы предикат


становился истинным высказыванием при любых значениях х.

Преобразуем исходное выражение, избавившись от импликации:


причём это минимально возможное множество А.

Множество В — это отрезок [2; 12].


Изобразим это графически:


Пересечением этих множеств будет служить промежуток [2; 7[. В качестве ответа мы можем взять этот промежуток, а также любой другой, его включающий.

Чему равна минимальная длина отрезка А? Укажите ещё несколько вариантов множества А.

Пример 4. Для какого наименьшего неотрицательного целого десятичного числа а выражение


тождественно истинно (т. е. принимает значение 1 при любом неотрицательном целом значении десятичной переменной х)? Здесь & — поразрядная конъюнкция двух неотрицательных целых десятичных чисел.

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


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


Перепишем исходное выражение в наших обозначениях:


Рассмотрим предикат М(х) = (х & 28 ? 0). В числе 28 = 111002 4-й, 3-й и 2-й биты содержат единицы, а 1-й и 0-й — нули. Следовательно, множеством истинности этого предиката являются такие числа х, у которых хотя бы один из битов с номерами 4, 3 или 2 содержит единицу. Если и 4-й, и 3-й, и 2-й биты числа х нулевые, то высказывание х & 28 ? 0 будет ложным.

Рассмотрим предикат N(x) = (х & 45 ? 0). В числе 45 = 1011012 5-й, 3-й, 2-й и 0-й биты содержат единицы, 4-й и 1-й — нули.

Следовательно, множеством истинности этого предиката являются такие числа х, у которых хотя бы один из битов с номерами 5, 3, 2 или 0 содержит единицу. Если и 5-й, и 3-й, и 2-й, и 0-й биты числа х нулевые, то высказывание х & 45 ? 0 будет ложным.

Рассмотрим предикат К(х) = (х & 17 = 0). В числе 17 = 100012 3-й, 2-й и 1-й биты содержат нули, 4-й и 0-й — единицы. Побитовая конъюнкция 17 и х будет равна нулю, если в числе х 4-й и 0-й биты будут содержать нули. Множество истинности этого предиката — все х с нулями в 4-м и 0-м битах.

По условию задачи надо, чтобы


Запишем это выражение для рассмотренных множеств истинности:


Объединением множеств М и N являются все двоичные числа, у которых хотя бы один из битов с номерами 5, 4, 3, 2, 0 содержит единицу. Пересечением этого множества с множеством К будут все двоичные числа, у которых биты с номерами 4 и 0 будут заняты нулями, т. е. такие двоичные числа, у которых хотя бы один из битов с номерами 5, 3, 2 содержит 1. Все эти числа образуют множество А.

Искомое число а должно быть таким, чтобы при любом неотрицательном целом значении переменной х: х & а ? 0, и кроме того, оно должно быть минимальным из возможных. Этим условиям удовлетворяет число 1011002. Действительно, единицы в нём стоят в тех и только в тех битах, которые нужны для выполнения условия х & а ? 0.

Итак, требуемое число 1011002 или 4410.

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

Пример 5. Выясним, сколько решений имеет следующая система из двух уравнений:


Конъюнкция истинна тогда и только тогда, когда истинны все образующие её высказывания. Следовательно, каждая из трёх входящих в конъюнкцию импликаций должна быть равна 1.

Начнем строить дерево решений, представив на нём значения переменных х1 и х2 при которых х1 ? х2 = 1.

Продолжим строить дерево решений. Значения переменной х3 будем выбирать такими, чтобы при имеющихся х2 импликация х2 ? х3 оставалась истинной.

То же самое проделаем для переменной х4.


На дереве видно, что рассматриваемое нами уравнение имеет 5 решений — 5 разных наборов значений логических переменных x1, х2, х3, х4, при которых выполняется равенство:


Следовательно, как и первое уравнение, это уравнение имеет 5 решений. Представим их в табличной форме:


Решение исходной системы логических уравнений — это множество различных наборов значений логических переменных х1, х2, х3, х4, у1, у2, у3, у4 таких, что при подстановке каждого из них в систему оба уравнения превращаются в истинные равенства.

Начнём строить такие наборы или двоичные цепочки. Их началом может служить любой из пяти наборов — решений первого уравнения, а концом — любой из пяти наборов — решений второго уравнения. Например, на основе одного из решений первого уравнения можно построить следующие пять решений системы:


Всего мы можем построить 5 • 5 = 25 решений системы.

Вспомните, как называется теорема комбинаторики, которую мы применили для подсчёта количества решений системы.

20.2. Логические функции

Значение любого логического выражения определяется значениями входящих в него логических переменных. Тем самым логическое выражение может рассматриваться как способ задания логической функции.

Совокупность значений п аргументов удобно интерпретировать как строку нулей и единиц длины n. Существует ровно 2 n различных двоичных строк длины n. Так как на каждой такой строке некая функция может принимать значение 0 или 1, общее количество различных булевых функций от n аргументов равно


Для n = 2 существует 16 различных логических функций.

Рассмотрим их подробнее.



С увеличением числа аргументов количество логических функций резко возрастает. Так, для трёх переменных существует 256 различных логических функций! Но изучать их все нет никакой необходимости. Дело в том, что путём преобразований функция любого количества переменных может быть выражена через функции только двух переменных. Более того, можно использовать не все, а лишь некоторые логические функции двух переменных. Например:

1) F2 и F11 (конъюнкция и отрицание второго аргумента);

2) F8 и F13 (дизъюнкция и отрицание первого аргумента);

3) F9 (стрелка Пирса, отрицание дизъюнкции);

4) F15 (штрих Шеффера, отрицание конъюнкции).

Два последних примера говорят о том, что при желании всю алгебру логики можно свести к одной функции! Но чаще всего логические функции записываются в виде логического выражения через отрицание, конъюнкцию и дизъюнкцию.

20.3. Составление логического выражения по таблице истинности и его упрощение

Ранее мы выяснили, что для любого логического выражения можно составить таблицу истинности. Справедливо и обратное: для всякой таблицы истинности можно составить соответствующее ей логическое выражение.

Алгоритм составления логического выражения по таблице истинности достаточно прост. Для этого надо:

1) отметить в таблице истинности наборы переменных, при которых значение логического выражения равно единице;
2) для каждого отмеченного набора записать конъюнкцию всех переменных следующим образом: если значение некоторой переменной в этом наборе равно 1, то в конъюнкцию включаем саму переменную, в противном случае — её отрицание;
3) все полученные конъюнкции связать операциями дизъюнкции.

Пример 6. Имеется следующая таблица истинности:


После выполнения двух первых шагов алгоритма получим:


После выполнения третьего шага получаем логическое выражение:


Попробуем упростить полученное логическое выражение. Прежде всего, вынесем за скобки В — общий сомножитель, имеющийся у всех трёх слагаемых, затем — сомножитель


, а далее используем законы алгебры логики.


САМОЕ ГЛАВНОЕ

Способ определения истинности логического выражения путём построения его таблицы истинности становится неудобным при увеличении количества логических переменных, т. к. за счёт существенного увеличения числа строк таблицы становятся громоздкими. В таких случаях выполняются преобразования логических выражений в равносильные. Для этого используют свойства логических операций, которые иначе называют законами алгебры логики. Аналогичные законы имеют место и в алгебре множеств.

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

Для всякой таблицы истинности можно составить соответствующее ей логическое выражение.

Вопросы и задания

1. Какие из рассмотренных законов алгебры логики аналогичны законам алгебры чисел, а какие нет?

2. Докажите второй закон де Моргана с помощью таблиц истинности.

3. Путём преобразования докажите равносильность следующих высказываний:


4. Упростите логические формулы:


*5. Найдите X,


6. На числовой прямой даны два отрезка: Р = [10; 25] и Q = [20; 55]. Укажите наибольшую возможную длину такого отрезка А, что выражение (х ? А) ? ((х ? Р) v (x ? Q)) истинно при любом значении переменной х.

7. Элементами множеств А, Р и Q являются натуральные числа, причём Р = и Q = .

Известно, что выражение


истинно при любом значении переменной х. Определите наименьшее возможное количество элементов множества А.

*8. На числовой прямой даны два отрезка: М = [10; 60] и N = [40; 80]. Укажите наименьшую возможную длину такого отрезка А, что выражение


истинно при любом значении переменной х.

9. Для какого наименьшего неотрицательного целого десятичного числа А формула x & 25 ? 0 ? (x & 17 = 0 ? (x & А ? 0) тождественно истинна, т. е. принимает значение 1 при любом неотрицательном целом значении десятичной переменной х? (Здесь & — поразрядная конъюнкция двух неотрицательных целых десятичных чисел.)

*10. Определите наибольшее натуральное десятичное число А, при котором выражение ((x & 46 = 0) v (х & 18 = 0)) ? ((х & 115 ? 0) v (х & А = 0)) тождественно истинно, т. е. принимает значение 1 при любом натуральном значении десятичной переменной х. (Здесь & — поразрядная конъюнкция двух неотрицательных целых десятичных чисел.)

11. Сколько различных решений имеет система уравнений:


12. Сколько существует различных логических функций от четырёх переменных?

13. По заданной таблице истинности составьте логические выражения для функций F1, F2.


14. По известным таблицам истинности запишите аналитическое представление импликации, эквиваленции и строгой дизъюнкции.

15. Логические функции штрих Шеффера и стрелка Пирса названы так в честь математиков, исследовавших их свойства. Подготовьте краткую биографическую справку об одном из этих учёных.

16. По заданной таблице истинности составьте логические выражения для функций F1, F2.


17. Запишите логическое выражение для логической функции F(A, В, С), равной 1 на наборах 011, 101, 110, 111. Попытайтесь упростить полученное выражение.

Читайте также: