Булева алгебра - Boolean algebra

В математика и математическая логика, Булева алгебра это филиал алгебра в котором значения переменные являются ценности истины истинный и ложный, обычно обозначаются 1 и 0 соответственно.[1] Вместо элементарная алгебра, где значения переменных - числа, а простые операции - это сложение и умножение, основными операциями булевой алгебры являются соединение (и) обозначается как ∧, дизъюнкция (или же) обозначается как ∨, а отрицание (нет) обозначается как ¬. Таким образом, это формализм для описания логические операции, точно так же, как элементарная алгебра описывает числовые операции.

Булева алгебра была введена Джордж Буль в его первой книге Математический анализ логики (1847 г.), и более подробно изложены в его Исследование законов мысли (1854).[2]В соответствии с Хантингтон, термин «булева алгебра» был впервые предложен Шеффер в 1913 г.,[3] несмотря на то что Чарльз Сандерс Пирс дал название «Булева алгебра с одной константой» первой главе своей «Простейшей математики» в 1880 году.[4]Булева алгебра сыграла фундаментальную роль в развитии цифровая электроника, и предоставляется во всех современных языках программирования. Он также используется в теория множеств и статистика.[5]

История

Предшественником булевой алгебры был Готфрид Вильгельм Лейбниц с алгебра понятий. Алгебра понятий Лейбница дедуктивно эквивалентна булевой алгебре множеств.[6]

Алгебра Буля предшествовала современным разработкам в абстрактная алгебра и математическая логика; однако считается, что он связан с истоками обеих областей.[7] В абстрактном контексте булева алгебра была усовершенствована в конце 19 века. Джевонс, Шредер, Хантингтон и другие, пока не достигли современной концепции (абстрактного) математическая структура.[7] Например, эмпирическое наблюдение, что можно манипулировать выражениями в алгебра множеств переводя их в выражения в алгебре Буля, объясняется современными терминами, говоря, что алгебра множеств а Булева алгебра (Обратите внимание неопределенный артикль ). Фактически, М. Х. Стоун доказано в 1936 г. что любая булева алгебра изоморфный к поле наборов.

В 1930-е годы во время учебы коммутационные схемы, Клод Шеннон заметил, что в этом случае можно также применить правила алгебры Буля,[8] и он представил алгебра переключения как способ анализа и проектирования схем алгебраическими средствами с точки зрения логические ворота. Шеннон уже имел в своем распоряжении абстрактный математический аппарат, поэтому он использовал свою алгебру переключений как двухэлементная булева алгебра. В современных установках схемотехники нет необходимости рассматривать другие булевы алгебры, поэтому «алгебра переключения» и «булева алгебра» часто используются как взаимозаменяемые.[9][10][11]

Эффективное внедрение из Логические функции фундаментальная проблема в дизайн из комбинационная логика схемы. Современное автоматизация проектирования электроники инструменты для Схемы СБИС часто полагаются на эффективное представление булевых функций, известных как (сокращенный порядок) диаграммы бинарных решений (BDD) для логический синтез и формальная проверка.[12]

Логические предложения, которые могут быть выражены классическим пропозициональное исчисление есть эквивалентное выражение в булевой алгебре. Таким образом, Логическая логика иногда используется для обозначения исчисления высказываний, выполненного таким образом.[13][14][15] Булевой алгебры недостаточно для получения логических формул с использованием кванторы, как и те из логика первого порядка.

Хотя развитие математической логики не следовало программе Буля, связь между его алгеброй и логикой позже была прочно обоснована в контексте алгебраическая логика, который также изучает алгебраические системы многих других логик.[7] В проблема определения того, переменные данной булевой (пропозициональной) формулы могут быть присвоены таким образом, чтобы формула оценивалась как истинная, называется Проблема логической выполнимости (SAT) и важен для теоретическая информатика, будучи первой проблемой, показанной НП-полный. Тесно связанные модель вычисления известный как Логическая схема относится временная сложность (из алгоритм ) к сложность схемы.

Значения

Тогда как выражения обозначают в основном числа в элементарной алгебре, в булевой алгебре они обозначают ценности истины ложный и истинный. Эти значения представлены биты (или двоичные цифры), а именно 0 и 1. Они не ведут себя как целые числа 0 и 1, для которых 1 + 1 = 2, но могут быть отождествлены с элементами двухэлементное поле GF (2), то есть, целочисленная арифметика по модулю 2, для которых 1 + 1 = 0. Сложение и умножение затем играют булевы роли XOR (исключающее ИЛИ) и AND (конъюнкция), соответственно, с дизъюнкцией. Иксy (включительно-или) определяемый как Икс + y - ху.

Булева алгебра также занимается функции значения которых находятся в наборе {0, 1} .A последовательность бит обычно используется для таких функций. Другой распространенный пример - это подмножества набора E: к подмножеству F из E, можно определить индикаторная функция который принимает значение 1 на F, и 0 снаружи F. Самый общий пример - это элементы Булева алгебра, со всеми вышеперечисленными примерами.

Как и в случае с элементарной алгеброй, чисто эквациональная часть теории может быть разработана без учета явных значений переменных.[16]

Операции

Основные операции

Основные операции булевой алгебры следующие:

  • И (соединение ), обозначенный Иксy (иногда Икс И y или Kху), удовлетворяет Иксy = 1, если Икс = y = 1 и Иксy = 0 в противном случае.
  • ИЛИ ЖЕ (дизъюнкция ), обозначенный Иксy (иногда Икс ИЛИ ЖЕ y или Аху), удовлетворяет Иксy = 0, если Икс = y = 0 и Иксy = 1 в противном случае.
  • НЕТ (отрицание ), обозначаемый ¬Икс (иногда НЕ Икс, NИкс или же !Икс), удовлетворяет ¬Икс = 0, если Икс = 1 и ¬Икс = 1, если Икс = 0.

В качестве альтернативы значения Иксy, Иксy, и ¬Икс могут быть выражены табулированием их значений с помощью таблицы истинности следующее:

Если значения истинности 0 и 1 интерпретируются как целые числа, эти операции могут быть выражены с помощью обычных операций арифметики (где Икс + y использует сложение и ху использует умножение), или функции минимума / максимума:

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

Вторичные операции

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

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

Вторичные операции. Таблица 1
00101
10010
01110
11101

Первая операция, Икс → y, или Cху, называется материальное значение. Если Икс верно, то значение Икс → y принимается за y (например, если Икс правда и y ложно, тогда Икс → y также ложно). Но если Икс ложно, то значение y можно игнорировать; однако операция должна вернуться немного логическое значение, и есть только два варианта. Итак, по определению, Икс → y является истинный когда x ложно. (логика релевантности предлагает это определение, рассматривая значение с ложная посылка как нечто иное, чем истинное или ложное.)

Вторая операция, Икс ⊕ y,[1] или Jху, называется Эксклюзивный или (часто сокращенно XOR), чтобы отличить его от дизъюнкции как инклюзивного вида. Это исключает возможность обоих Икс и ты являешься истина (например, см. таблицу): если оба верны, результат будет ложным. С точки зрения арифметики это сложение, где mod 2 равен 1 + 1 = 0.

Третья операция, дополнение исключающего или, эквивалентность или логическое равенство: Икс ≡ y, или Eху, верно, когда Икс и y имеют одинаковую ценность. Следовательно Икс ⊕ y как его дополнение можно понимать как Икс ≠ y, правда, когда Икс и y разные. Таким образом, его аналог в арифметическом модуле 2 - Икс + y. Аналог эквивалентности в арифметическом модуле 2 - Икс + y + 1.

Учитывая два операнда, каждый с двумя возможными значениями, есть 22 = 4 возможных комбинации входов. Поскольку каждый выход может иметь два возможных значения, всего имеется 24 = 16 возможных двоичных логических операций. Любая такая операция или функция (а также любая логическая функция с большим количеством входов) может быть выражена с помощью базовых операций, указанных выше. Следовательно, основные операции: функционально полный.

Законы

А закон булевой алгебры является личность Такие как Икс ∨ (yz) = (Иксy) ∨ z между двумя логическими терминами, где a Логический член определяется как выражение, составленное из переменных и констант 0 и 1 с использованием операций ∧, ∨ и ¬. Концепция может быть расширена до терминов, включающих другие логические операции, такие как ⊕, → и ≡, но такие расширения не нужны для целей, для которых установлены законы. Такие цели включают определение Булева алгебра как любой модель булевых законов, и как средство вывода новых законов из старых, как при выводе Икс∨(yz) = Икс∨(zy) из yz = zy (как указано в § Аксиоматизирующая булева алгебра раздел).

Монотонные законы

Булева алгебра удовлетворяет многим из тех же законов, что и обычная алгебра, если сопоставить ∨ со сложением и ∧ с умножением. В частности, следующие законы являются общими для обоих видов алгебры:[17][18]

Ассоциативность :
Ассоциативность :
Коммутативность :
Коммутативность :
Распространенность над :
Идентичность для :
Идентичность для :[19]
Аннигилятор для :

Следующие законы верны в булевой алгебре, но не в обычной алгебре:

Аннигилятор для :[19]
Идемпотентность :
Идемпотентность :
Поглощение 1:
Поглощение 2:
Распространенность над :

Принятие x = 2 в третьем законе выше показывает, что это не обычный закон алгебры, так как 2 × 2 = 4. Остальные пять законов можно опровергнуть в обычной алгебре, приняв все переменные равными 1. Например, в Законе поглощения. 1, левая часть будет 1 (1 + 1) = 2, а правая - 1 (и так далее).

Все рассматриваемые до сих пор законы были для соединения и разъединения. Эти операции обладают тем свойством, что при изменении любого аргумента либо вывод остается неизменным, либо вывод изменяется так же, как и ввод. Точно так же изменение любой переменной с 0 на 1 никогда не приводит к изменению вывода с 1 на 0. Операции с этим свойством называются монотонный. Таким образом, до сих пор все аксиомы относились к монотонной булевой логике. Немонотонность входит через дополнение ¬ следующим образом.[5]

Немонотонные законы

Операция дополнения определяется следующими двумя законами.

[19]

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

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

Но тогда как обычная алгебра удовлетворяет двум законам

Булева алгебра удовлетворяет Законы де Моргана:

Полнота

Перечисленные выше законы определяют булеву алгебру в том смысле, что они влекут за собой остальную часть предмета. Законы Дополнение 1 и 2 вместе с законами монотонности достаточно для этой цели и поэтому могут быть приняты как один из возможных полный свод законов или аксиоматизация булевой алгебры. Каждый закон булевой алгебры логически следует из этих аксиом. Кроме того, булевы алгебры могут быть определены как модели этих аксиом, как они рассматриваются в раздел по этому поводу.

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

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

Принцип двойственности

Принцип: если {X, R} является посеть, то {X, R (обратный)} также является ч.у.

В выборе символов для значений булевой алгебры нет ничего волшебного. Мы могли бы переименовать 0 и 1 в α и β, и если бы мы делали это последовательно, это все равно будет булевой алгеброй, хотя и с некоторыми очевидными косметическими различиями.

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

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

Когда значения и операции могут быть объединены в пары таким образом, что все важное остается неизменным при одновременном переключении всех пар, мы вызываем членов каждой пары двойной друг другу. Таким образом, 0 и 1 двойственны, а ∧ и двойственны. В Принцип двойственности, также называемый Двойственность де Моргана, утверждает, что булева алгебра не меняется, когда все дуальные пары меняются местами.

Одно изменение, которое нам не нужно было делать в рамках этого обмена, - это дополнение. Мы говорим, что дополнение - это самодвойственный операция. Идентификация или бездействие Икс (копировать вход в выход) тоже самодвойственный. Более сложный пример самодвойственной операции (Иксy) ∨ (yz) ∨ (zИкс). Не существует самодвойственной бинарной операции, которая зависит от обоих ее аргументов. Композиция самодвойственных операций является самодвойственной операцией. Например, если ж(Икс, y, z) = (Иксy) ∨ (yz) ∨ (zИкс), тогда ж(ж(Икс, y, z), Икс, т) - самодуальная операция четырех аргументов х, у, г, т.

Принцип двойственности можно объяснить теория групп перспективу тем, что существует ровно четыре функции, которые взаимно однозначно отображаются (автоморфизмы ) множества булевых многочлены обратно к себе: функция идентичности, функция дополнения, двойственная функция и контрдвойственная функция (дополненная двойственная). Эти четыре функции образуют группа под функциональная композиция, изоморфный Кляйн четыре группы, игра актеров на множестве булевых многочленов. Уолтер Готтшалк отметил, что, следовательно, более подходящим названием для явления было бы принцип (или же квадрат) четвертичности.[20]

Схематические изображения

Диаграммы Венна

А Диаграмма Венна[21] может использоваться как представление логической операции с использованием затененных перекрывающихся областей. Для каждой переменной есть одна область, в приведенных здесь примерах все круглые. Интерьер и экстерьер региона Икс соответствует соответственно значениям 1 (истина) и 0 (ложь) для переменной Икс. Затенение указывает значение операции для каждой комбинации регионов, причем темный обозначает 1, а светлый 0 (некоторые авторы используют противоположное соглашение).

Три диаграммы Венна на рисунке ниже представляют соответственно соединение Иксy, дизъюнкция Иксy, и дополнение ¬Икс.

Рис. 2. Диаграммы Венна для конъюнкции, дизъюнкции и дополнения.

Для соединения область внутри обоих кругов заштрихована, чтобы указать, что Иксy равно 1, когда обе переменные равны 1. Остальные области не заштрихованы, чтобы указать, что Иксy равен 0 для остальных трех комбинаций.

Вторая диаграмма представляет дизъюнкцию Иксy заштриховав те области, которые лежат внутри одного или обоих кругов. Третья диаграмма представляет собой дополнение ¬Икс заштриховав область нет внутри круга.

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

Диаграммы Венна помогают визуализировать законы. Законы коммутативности для и можно увидеть из симметрии диаграмм: бинарная операция, которая не была коммутативной, не имела бы симметричной диаграммы, потому что перестановка Икс и y будет иметь эффект отражения диаграммы по горизонтали, и любой отказ коммутативности тогда проявится как нарушение симметрии.

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

Чтобы увидеть первый закон поглощения, Икс∧(Иксy) = Икс, начните с диаграммы посередине для Иксy и обратите внимание, что часть заштрихованной области является общей с Икс круг - это весь Икс круг. Для второго закона поглощения Икс∨(Иксy) = Икс, начните с левой диаграммы для Иксy и обратите внимание, что закрашивание всего Икс круг приводит только к Икс закрашиваемый круг, так как предыдущее затенение было внутри Икс круг.

Закон двойного отрицания можно увидеть, дополнив затенение на третьей диаграмме для ¬Икс, который оттеняет Икс круг.

Чтобы представить себе первый закон Де Моргана, (¬Икс)∧(¬y) = ¬(Иксy), начните со средней диаграммы для Иксy и дополните его закрашивание так, чтобы закрашивалась только область за пределами обоих кругов, что и описывает правая часть закона. Результат такой же, как если бы мы закрасили ту область, которая находится за пределами Икс круг и вне y круг, то есть соединение их внешних сторон, что описывает левая часть закона.

Второй закон Де Моргана (¬Икс)∨(¬y) = ¬(Иксy), работает аналогичным образом с заменой двух диаграмм.

Первый закон дополнения, Икс∧¬Икс = 0, говорит, что внутренняя и внешняя Икс круг не перекрывается. Второй закон дополнения, Икс∨¬Икс = 1, говорит, что все находится либо внутри, либо вне Икс круг.

Цифровые логические вентили

Цифровая логика - это приложение булевой алгебры 0 и 1 к электронному оборудованию, состоящему из логические ворота связаны, чтобы сформировать принципиальная электрическая схема. Каждый вентиль реализует логическую операцию и схематично изображен в форме, обозначающей операцию. Формы, связанные с воротами для соединения (И-элементы), дизъюнкции (ИЛИ-элементы) и дополнения (инверторы), следующие.[22]

Слева направо: И, ИЛИ ЖЕ, и НЕТ ворота.

Линии слева от каждого затвора представляют входные провода или порты. Значение на входе представлено напряжением на проводе. Для так называемой логики «активный высокий» 0 представлен напряжением, близким к нулю или «заземлением», а 1 представлен напряжением, близким к напряжению питания; active-low меняет это положение. Линия справа от каждого затвора представляет выходной порт, который обычно соответствует тем же правилам напряжения, что и входные порты.

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

В Принцип двойственности, или же Законы де Моргана, можно понимать как утверждение, что дополнение всех трех портов логического элемента И преобразует его в логический элемент ИЛИ, и наоборот, как показано на рисунке 4 ниже. Однако добавление обоих портов инвертора оставляет работу без изменений.

DeMorganGates.GIF

В более общем смысле можно дополнить любой из восьми подмножеств трех портов логического элемента И или ИЛИ. Результирующие шестнадцать возможностей приводят только к восьми булевым операциям, а именно к тем, у которых нечетное количество единиц в их таблице истинности. Таких восемь, потому что «нечетный бит» может быть либо 0, либо 1 и может занимать любую из четырех позиций в таблице истинности. Имеется шестнадцать двоичных логических операций, поэтому в их таблицах истинности должно остаться восемь операций с четным числом единиц. Две из них - это константы 0 и 1 (как двоичные операции, которые игнорируют оба их ввода); четыре - это операции, которые нетривиально зависят ровно от одного из двух входов, а именно Икс, y, ¬Икс, и ¬y; а остальные два Иксy (XOR) и его дополнение Иксy.

Булевы алгебры

Термин «алгебра» обозначает как предмет, а именно предмет алгебра, и объект, а именно алгебраическая структура. В то время как вышесказанное касалось предмета булевой алгебры, в этом разделе рассматриваются математические объекты, называемые булевыми алгебрами, определяемые в полной мере как любая модель булевых законов. Мы начнем с частного случая понятия, определяемого без ссылки на законы, а именно с конкретных булевых алгебр, а затем дадим формальное определение общего понятия.

Конкретные булевы алгебры

А конкретная булева алгебра или же поле наборов любое непустое множество подмножеств данного множества Икс закрыты по установленным операциям союз, пересечение, и дополнять относительно Икс.[5]

(Кстати, исторически Икс сама должна быть непустой, чтобы исключить вырожденную или одноэлементную булеву алгебру, которая является единственным исключением из правила, согласно которому все булевы алгебры удовлетворяют одним и тем же уравнениям, поскольку вырожденная алгебра удовлетворяет всем уравнениям. Однако это исключение противоречит предпочтительному чисто эквациональному определению «булевой алгебры», поскольку нет способа исключить одноэлементную алгебру, используя только уравнения - 0 ≠ 1 не учитывается, будучи отрицательным уравнением. Следовательно, современные авторы допускают вырожденную булеву алгебру и пусть Икс быть пустым.)

Пример 1. В набор мощности 2Икс из Икс, состоящий из всех подмножеств Икс. Здесь Икс может быть любым набором: пустым, конечным, бесконечным или даже бесчисленный.

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

Пример 3. Множество конечных и cofinite наборы целых чисел, где кофинитное множество - это такое, которое пропускает только конечное число целых чисел. Очевидно, что это замкнуто относительно дополнения и замкнуто относительно объединения, потому что объединение конфинитного множества с любым множеством конфинитно, в то время как объединение двух конечных множеств конечно. Пересечение ведет себя как союз с заменой «конечного» и «кофинитного».

Пример 4. В качестве менее тривиального примера вывода, сделанного в примере 2, рассмотрим Диаграмма Венна образована п замкнутые кривые разделение диаграмма на 2п регионов, и пусть Икс быть (бесконечным) набором всех точек на плоскости не на какой-либо кривой, а где-то внутри диаграммы. Таким образом, внутренняя часть каждой области представляет собой бесконечное подмножество Икс, и каждая точка в Икс находится ровно в одном регионе. Тогда набор всех 22п возможные объединения регионов (включая пустое множество, полученное как объединение пустого множества регионов и Икс получается как объединение всех 2п регионов) замкнут относительно объединения, пересечения и дополнения относительно Икс и поэтому образует конкретную булеву алгебру. Снова у нас есть конечное число подмножеств бесконечного множества, образующего конкретную булеву алгебру, и пример 2 возникает как случай п = 0 кривых нет.

Подмножества как битовые векторы

Подмножество Y из Икс можно отождествить с индексированная семья бит с набор индексов Икс, с битом, индексированным ИксИкс 1 или 0 в зависимости от того, ИксY. (Это так называемый характеристическая функция понятие подмножества.) Например, 32-битное компьютерное слово состоит из 32 бит, индексированных набором {0,1,2, ..., 31}, где 0 и 31 индексируют младшие и старшие биты соответственно. Для меньшего примера, если Икс = {а, б, в} куда а, б, в рассматриваются как битовые позиции в этом порядке слева направо, восемь подмножеств {}, {c}, {б}, {б,c}, {а}, {а,c}, {а,б}, и {а,б,c} из Икс могут быть идентифицированы соответствующими битовыми векторами 000, 001, 010, 011, 100, 101, 110 и 111. Битовые векторы, индексированные набором натуральных чисел, бесконечны последовательности бит, а те, которые индексируются реалы в единичный интервал [0,1] упакованы слишком плотно, чтобы можно было писать обычным способом, но, тем не менее, образуют четко определенные индексированные семейства (представьте, что каждая точка интервала [0,1] окрашивается в черный или белый цвет независимо; черные точки затем образуют произвольное подмножество из [0,1]).

С этой точки зрения битового вектора конкретная булева алгебра может быть эквивалентно определена как непустой набор битовых векторов одинаковой длины (в более общем смысле, индексированных одним и тем же набором) и закрытых при операциях с битовыми векторами побитовый ∧, ∨ и ¬, как в 1010∧0110 = 0010, 1010∨0110 = 1110 и ¬1010 = 0101, реализации битового вектора пересечения, объединения и дополнения соответственно.

Прототипная булева алгебра

Набор {0,1} и его логические операции, как описано выше, можно понимать как частный случай битовых векторов длины один, который путем идентификации битовых векторов с подмножествами можно также понимать как два подмножества одноэлементного набор. Мы называем это прототип Булева алгебра, обоснованная следующим наблюдением.

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

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

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

Булевы алгебры: определение

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

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

А Булева алгебра - любое множество с бинарными операциями ∧ и и унарной операцией ¬ на нем, удовлетворяющее булевым законам.[23]

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

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

А Булева алгебра - дополняемая дистрибутивная решетка.

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

Представимые булевы алгебры

Хотя каждая конкретная булева алгебра является булевой алгеброй, не каждая булева алгебра должна быть конкретной. Позволять п быть без квадратов положительное целое число, не делимое на квадрат целого числа, например 30, но не 12. Операции наибольший общий делитель, наименьший общий множитель, и разделение на п (то есть ¬Икс = п/Икс), можно показать, что они удовлетворяют всем булевым законам, когда их аргументы простираются до положительных делителей числа п. Следовательно, эти дивизоры образуют булеву алгебру. Эти делители не являются подмножествами множества, поэтому делители п булева алгебра, не являющаяся конкретной согласно нашим определениям.

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

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

На следующий очевидный вопрос можно дать положительный ответ.

Всякая булева алгебра представима.

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

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

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

Аксиоматизирующая булева алгебра

Приведенное выше определение абстрактной булевой алгебры как множества и операций, удовлетворяющих «» булевым законам, поднимает вопрос, что это за законы? Простой ответ - «все булевы законы», которые можно определить как все уравнения, которые выполняются для булевой алгебры 0 и 1. Поскольку таких законов бесконечно много, на практике это не очень удовлетворительный ответ, приводящий к следующий вопрос: достаточно ли требовать выполнения только конечного числа законов?

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

Можно ли еще сократить этот список? Опять же, да. Начнем с того, что некоторые из вышеперечисленных законов подразумеваются некоторыми другими. Достаточное подмножество вышеупомянутых законов состоит из пар законов ассоциативности, коммутативности и поглощения, дистрибутивности ∧ над (или другого закона дистрибутивности - достаточно одного) и двух законов дополнения. Фактически это традиционная аксиоматизация булевой алгебры как дополнен распределительная решетка.

Введение дополнительных законов, не перечисленных выше, позволяет еще больше сократить список. В 1933 г. Эдвард Хантингтон показал, что если взять за базовые операции Иксy и ¬Икс, с Иксy считается производной операцией (например, через закон Де Моргана в форме Иксy = ¬(¬Икс∨¬y)), то уравнение¬ (¬Икс∨¬y)∨¬(¬Иксy) = Икс вместе с двумя уравнениями, выражающими ассоциативность и коммутативность полностью аксиоматизированной булевой алгебры. Когда единственной базовой операцией является двоичная Операция NAND ¬(Иксy), Стивен Вольфрам предложил в своей книге Новый вид науки единственная аксиома ((ху)z)(Икс((xz)Икс)) = z как аксиоматизация одного уравнения булевой алгебры, где для удобства здесь ху обозначает И-И, а не И Икс и y.

Логика высказываний

Логика высказываний это логическая система это тесно связано с булевой алгеброй.[5] Многие синтаксические концепции булевой алгебры переносятся в логику высказываний с небольшими изменениями в обозначениях и терминологии, в то время как семантика логики высказываний определяется с помощью булевых алгебр таким образом, что тавтологии (теоремы) логики высказываний соответствуют эквациональным теоремам булевой алгебры. .

Синтаксически каждый логический член соответствует пропозициональная формула логики высказываний. В этом переводе между булевой алгеброй и логикой высказываний булевы переменные х, у... становиться пропозициональные переменные (или же атомы) P, Q, ..., логические термины, такие как Иксy стать пропозициональными формулами пQ, 0 становится ложный или же , а 1 становится истинный или же Т. При обращении к общим предложениям удобно использовать греческие буквы Φ, Ψ, ... как метапеременные (переменные вне языка исчисления высказываний, используемые при разговоре о пропозициональное исчисление) для обозначения предложений.

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

Эта семантика допускает перевод между тавтологиями логики высказываний и эквациональными теоремами булевой алгебры. Всякая тавтология Φ логики высказываний может быть выражена как булево уравнение Φ = 1, которое будет теоремой булевой алгебры. Наоборот, каждая теорема Φ = Ψ булевой алгебры соответствует тавтологиям (Φ∨¬Ψ) ∧ (¬Φ∨Ψ) и (Φ∧Ψ) ∨ (¬Φ∧¬Ψ). Если → находится на языке, эти последние тавтологии также можно записать как (Φ → Ψ) ∧ (Ψ → Φ) или как две отдельные теоремы Φ → Ψ и Ψ → Φ; если имеется available, то можно использовать единственную тавтологию Φ ≡ Ψ.

Приложения

Одним из мотивирующих приложений исчисления высказываний является анализ предложений и дедуктивных аргументов на естественном языке.[24] В то время как предложение "если Икс = 3, тогда Икс+1 = 4 "зависит от значений таких символов, как + и 1, предложение" если Икс = 3, тогда Икс = 3 "нет; это верно только в силу своей структуры и остается верным, если"Икс = 3 "заменяется на"Икс = 4 »или« Луна сделана из зеленого сыра ». Общая или абстрактная форма этой тавтологии -« если п тогда п", или на языке булевой алгебры"пп".[нужна цитата ]

Замена п к Икс = 3 или любое другое предложение называется реализация из п этим предложением. Результат создания экземпляра п в абстрактном предложении называется пример предложения. Таким образом "Икс = 3 → Икс = 3 "является тавтологией в силу того, что является примером абстрактной тавтологии"пп". Все вхождения конкретной переменной должны быть созданы с одним и тем же предложением, чтобы избежать такой ерунды, как пИкс = 3 или Икс = 3 → Икс = 4.

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

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

Дедуктивные системы для логики высказываний

Аксиоматизация исчисления высказываний - это набор тавтологий, называемых аксиомы и одно или несколько правил вывода для производства новых тавтологий из старых. А доказательство в системе аксиом А конечная непустая последовательность предложений, каждое из которых является экземпляром аксиомы А или следует некоторому правилу А из предложений, появившихся ранее в доказательстве (тем самым запрещая круговые рассуждения). Последнее предложение - это теорема доказано доказательством. Каждый непустой начальный сегмент доказательства сам является доказательством, поэтому каждое предложение в доказательстве является теоремой. Аксиоматизация - это звук когда каждая теорема - тавтология, и полный когда всякая тавтология - это теорема.[25]

Последовательное исчисление

Исчисление высказываний обычно организовано как Система гильберта, чьи операции совпадают с операциями булевой алгебры, а теоремы являются булевыми тавтологиями, эти булевы члены равны булевой константе 1. Другой формой является последовательное исчисление, который имеет два вида: пропозиции, как в обычном исчислении высказываний, и пары списков высказываний, называемые секвенты, Такие как АB, АC,... А, BC, .... Две половины секвенции называются антецедентом и преемником соответственно. Обычной метапеременной, обозначающей антецедент или его часть, является Γ, а для преемника Δ; таким образом, Γ,А ∆ обозначает секвенцию, преемником которой является список ∆, а антецедентом - список Γ с дополнительным предложением А добавлено после него. Антецедент интерпретируется как соединение его предложений, преемник - как дизъюнкция его предложений, а сама секвенция - как логическое следствие преемника по антецеденту.

Вступление отличается от импликации тем, что последнее является двоичным операция который возвращает значение в булевой алгебре, первый является двоичным связь который либо выполняется, либо не выполняется. В этом смысле следствие внешний форма импликации, то есть внешняя по отношению к булевой алгебре, воспринимающая читателя секвенции как внешнюю, а также интерпретирующая и сравнивающая антецеденты и последователи некоторой булевой алгебры. Естественная интерпретация равно как ≤ в частичном порядке булевой алгебры, определяемой формулой Иксy просто когда Иксy = y. Эта способность смешивать внешние последствия и внутренняя импликация → в одной логике - одно из существенных различий между исчислением секвенций и исчислением высказываний.[26]

Приложения

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

Компьютеры

В начале 20 века несколько инженеров-электриков интуитивно поняли, что булева алгебра аналогична поведению некоторых типов электрических цепей. Клод Шеннон формально доказано, что такое поведение логически эквивалентно булевой алгебре в его магистерской диссертации 1937 года, Символьный анализ релейных и коммутационных цепей.

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

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

По указанным выше причинам компьютеры используют двухзначные логические схемы. Наиболее распространенные компьютерные архитектуры используют упорядоченные последовательности логических значений, называемые битами, из 32 или 64 значений, например 011010001101011001010101001011. При программировании в Машинный код, язык ассемблера, и некоторые другие языки программирования, программисты работают с низкоуровневой цифровой структурой регистры данных. Эти регистры работают на напряжениях, где ноль вольт представляет Логическое 0, и опорное напряжение (часто + 5V + 3.3V, + 1,8В) представляет собой булеву 1. Такие языки поддерживают как числовые операции и логические операции. В этом контексте «числовой» означает, что компьютер обрабатывает последовательности битов как двоичные числа (основание двух чисел) и выполняет арифметические операции, такие как сложение, вычитание, умножение или деление. «Логический» относится к булевым логическим операциям дизъюнкции, конъюнкции и отрицания между двумя последовательностями битов, в которых каждый бит в одной последовательности просто сравнивается со своим аналогом в другой последовательности. Таким образом, программисты имеют возможность работать и применять правила числовой алгебры или булевой алгебры по мере необходимости. Основным отличительным признаком этих семейств операций является наличие нести операция в первом, но не во втором.

Двузначная логика

Другие области, где два значения являются хорошим выбором, - это юриспруденция и математика. В повседневной непринужденной беседе допустимы тонкие или сложные ответы, такие как «может быть» или «только в выходные». Однако в более сфокусированных ситуациях, таких как суд или основанная на теоремах математика, считается выгодным формулировать вопросы так, чтобы допускать простой ответ «да» или «нет» - виновен ли подсудимый или не виновен, истинно ли утверждение - и запретить любой другой ответ. Какой бы смирительной рубашкой это ни могло оказаться на практике для респондента, принцип простого вопроса «да-нет» стал центральной чертой как судебной, так и математической логики, благодаря чему двузначная логика заслуживает организации и изучения сама по себе.

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

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

Двузначная логика может быть расширен до многозначная логика, в частности, путем замены логической области {0, 1} на единичный интервал [0,1], и в этом случае вместо того, чтобы принимать только значения 0 или 1, можно принять любое значение между 0 и 1 включительно. Алгебраически отрицание (НЕ) заменяется на 1 -Икс, соединение (И) заменяется умножением (), а дизъюнкция (ИЛИ) определяется через Закон де Моргана. Интерпретируя эти значения как логические ценности истины дает многозначную логику, которая составляет основу нечеткая логика и вероятностная логика. В этих интерпретациях ценность интерпретируется как «степень» истинности - насколько истинно предложение или вероятность того, что предложение истинно.

Логические операции

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

В естественных языках, таких как английский, есть слова для нескольких логических операций, в частности для соединения (и), дизъюнкция (или же), отрицание (нет) и импликация (подразумевает). Но нет является синонимом и нет. Когда они используются для объединения ситуативных утверждений, таких как «блок на столе» и «кошки пьют молоко», которые наивно либо истинны, либо ложны, значения этих логические связки часто имеют значение своих логических аналогов. Однако при описании поведения, такого как «Джим прошел через дверь», можно заметить различия, такие как нарушение коммутации, например соединение «Джим открыл дверь» с «Джим прошел через дверь» в этом порядке не эквивалентно их соединению в другом порядке, поскольку и обычно означает а потом в таких случаях. Вопросы могут быть похожие: порядок «Небо голубое, а почему небо голубое?» имеет больше смысла, чем обратный порядок. Конъюнктивные команды о поведении подобны поведенческим утверждениям, как в оденься и иди в школу. Дизъюнктивные команды, такие люби меня или оставь меня или же рыба или нарезка имеют тенденцию быть асимметричными из-за того, что одна альтернатива менее предпочтительна. Сочлененные существительные, такие как чай и молоко обычно описывают агрегацию как с объединением множества, а чай или молоко это выбор. Однако контекст может перевернуть эти чувства, как в твой выбор - кофе и чай что обычно означает то же, что и ваш выбор - кофе или чай (альтернативы). Двойное отрицание, например, «Я не люблю молоко», редко означает буквально «Я люблю молоко», а скорее выражает некоторую ограниченность, как бы подразумевая, что существует третья возможность. «Не не П» можно вольно интерпретировать как «конечно П», и хотя п обязательно подразумевает "не не п"обратное подозрительно на английском языке, как и с интуиционистская логика. Ввиду весьма своеобразного использования союзов в естественных языках, булева алгебра не может считаться надежной основой для их интерпретации.

Булевы операции используются в цифровая логика объединить биты, передаваемые по отдельным проводам, тем самым интерпретируя их на {0,1}. Когда вектор п идентичные двоичные вентили используются для объединения двух битовых векторов, каждый из п биты, отдельные битовые операции можно рассматривать вместе как одну операцию над значениями из Булева алгебра с 2п элементы.

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

256-элементная свободная булева алгебра на трех генераторах развернута в компьютерные дисплеи на основе растровая графика, которые используют немного блит манипулировать целыми регионами, состоящими из пиксели, полагаясь на логические операции, чтобы указать, как исходный регион должен быть объединен с целевым, обычно с помощью третьего региона, называемого маска. Современное видеокарты предложить все 223 = 256 тернарных операций для этой цели, причем выбор операции является однобайтовым (8-битным) параметром. Константы SRC = 0xaa или 10101010, DST = 0xcc или 11001100 и MSK = 0xf0 или 11110000 позволяют записывать логические операции, такие как (SRC ^ DST) & MSK (что означает XOR источника и назначения, а затем результат AND с маской) непосредственно как константа, обозначающая байт, вычисленный во время компиляции, 0x60 в примере (SRC ^ DST) и MSK, 0x66, если просто SRC ^ DST, и т. д. Во время выполнения видеокарта интерпретирует байт как растровую операцию, указанную исходным выражением единообразно, что требует очень мало оборудования и времени, полностью независимого от сложности выражения.

Твердотельное моделирование системы для системы автоматизированного проектирования предлагают множество методов для создания объектов из других объектов, одним из которых является комбинация с помощью логических операций. В этом методе пространство, в котором существуют объекты, понимается как множество S из воксели (трехмерный аналог пикселей в двумерной графике) и формы определяются как подмножества S, позволяя объединять объекты в виде наборов посредством объединения, пересечения и т. д. Одним из очевидных способов использования является создание сложной формы из простых форм просто как объединение последних. Другое применение - скульптура, понимаемая как удаление материала: любые операции шлифования, фрезерования, фрезерования или сверления, которые могут быть выполнены с помощью физического оборудования на физических материалах, могут быть смоделированы на компьютере с помощью логической операции. Икс ∧ ¬y или же Икс − y, которая в теории множеств является заданной разницей, удалите элементы y от тех из Икс. Таким образом, даны две формы, одна из которых должна быть обработана, а другая - материал, который необходимо удалить, результат механической обработки первой для удаления последней описывается просто как их установленная разница.

Логический поиск

В запросах поисковых систем также используется логическая логика. Для этого приложения каждую веб-страницу в Интернете можно рассматривать как «элемент» «набора». В следующих примерах используется синтаксис, ранее поддерживаемый Google.[27]

  • Двойные кавычки используются для объединения слов, разделенных пробелами, в один поисковый запрос.[28]
  • Пробел используется для указания логического И, поскольку это оператор по умолчанию для объединения условий поиска:
«Поисковый запрос 1» «Поисковый запрос 2»
  • Ключевое слово OR используется для логического OR:
"Поисковый запрос 1" ИЛИ "Поисковый запрос 2"
  • Знак минус с префиксом используется для логического НЕ:
"Поисковый запрос 1" - "Поисковый запрос 2"

Смотрите также

Рекомендации

  1. ^ а б «Исчерпывающий список логических символов». Математическое хранилище. 2020-04-06. Получено 2020-09-02.
  2. ^ Буль, Джордж (2003) [1854]. Исследование законов мысли. Книги Прометея. ISBN  978-1-59102-089-9.
  3. ^ «Название булевой алгебры (или булевых« алгебр ») для исчисления, созданного Булевым, расширенного Шредером и усовершенствованного Уайтхедом, кажется, впервые было предложено Шеффером в 1913 году». Э. В. Хантингтон "Новые наборы независимых постулатов для алгебры логики с особым упором на работы Уайтхеда и Рассела. Principia mathematica ", вПер. Амер. Математика. Soc. 35 (1933), 274-304; сноска, стр. 278.
  4. ^ Пирс, Чарльз С. (1931). Сборник статей. 3. Издательство Гарвардского университета. п. 13. ISBN  978-0-674-13801-8.
  5. ^ а б c d е ж Гивант, Стивен; Халмос, Пол (2009). Введение в булевы алгебры. Тексты для бакалавриата по математике, Springer. ISBN  978-0-387-40293-2.
  6. ^ Ленцен, Вольфганг. «Лейбниц: логика». Интернет-энциклопедия философии.
  7. ^ а б c Дж. Майкл Данн; Гэри М. Хардегри (2001). Алгебраические методы в философской логике. Oxford University Press, США. п. 2. ISBN  978-0-19-853192-0.
  8. ^ Вайсштейн, Эрик В. «Булева алгебра». mathworld.wolfram.com. Получено 2020-09-02.
  9. ^ Норман Балабанян; Брэдли Карлсон (2001). Принципы проектирования цифровой логики. Джон Вили. С. 39–40. ISBN  978-0-471-29351-4., онлайн-образец
  10. ^ Раджараман и Радхакришнан (1 марта 2008 г.). Введение в дизайн цифровых компьютеров. PHI Learning Pvt. ООО п. 65. ISBN  978-81-203-3409-0.
  11. ^ Джон А. Камара (2010). Справочное руководство по электротехнике и электронике для экзамена по электротехнике и компьютеру PE. www.ppi2pass.com. п. 41. ISBN  978-1-59126-166-7.
  12. ^ Син-ичи Минато, Сабуро Мурога (2007). «Диаграммы двоичных решений». В Вай-Кай Чен (ред.). Справочник СБИС (2-е изд.). CRC Press. ISBN  978-0-8493-4199-1. Глава 29.
  13. ^ Алан Паркс (2002). Введение в языки, машины и логику: вычислимые языки, абстрактные машины и формальная логика. Springer. п. 276. ISBN  978-1-85233-464-2.
  14. ^ Джон Барвайз; Джон Этчменди; Джерард Аллвейн; Дэйв Баркер-Пламмер; Альберт Лю (1999). Язык, доказательства и логика. Публикации CSLI. ISBN  978-1-889119-08-3.
  15. ^ Бен Гертцель (1994). Хаотическая логика: язык, мысль и реальность с точки зрения науки о сложных системах. Springer. п. 48. ISBN  978-0-306-44690-0.
  16. ^ Халмос, Пол (1963). Лекции по булевым алгебрам. ван Ностранд.
  17. ^ О'Реган, Джерард (2008). Краткая история вычислений. Springer. п. 33. ISBN  978-1-84800-083-4.
  18. ^ «Элементы булевой алгебры». www.ee.surrey.ac.uk. Получено 2020-09-02.
  19. ^ а б c За побитовые операции в компьютерное программирование, может быть полезно прочитать 1 как 0xFFFF. Все биты двоичного числа должны быть равны 1.
  20. ^ Стивен Р. Гивант; Пол Ричард Халмос (2009). Введение в булевы алгебры. Springer. С. 21–22. ISBN  978-0-387-40293-2.
  21. ^ Венн, Джон (Июль 1880 г.). «I. О схематическом и механическом представлении предложений и рассуждений» (PDF). Лондонский, Эдинбургский и Дублинский философский журнал и научный журнал. 5. 10 (59): 1–18. Дои:10.1080/14786448008626877. В архиве (PDF) из оригинала от 16.05.2017. [1] [2]
  22. ^ Шеннон, Клод (1949). «Синтез двухполюсных коммутационных схем». Технический журнал Bell System. 28: 59–98. Дои:10.1002 / j.1538-7305.1949.tb03624.x.
  23. ^ Коппельберг, Сабина (1989). «Общая теория булевых алгебр». Справочник по булевым алгебрам, Vol. 1 (под ред. Дж. Дональда Монка с Робертом Боннетом). Амстердам: Северная Голландия. ISBN  978-0-444-70261-6.
  24. ^ Оллвуд, Йенс; Андерссон, Гуннар-Гуннар; Андерссон, Ларс-Гуннар; Даль, Остен (1977-09-15). Логика в лингвистике. Издательство Кембриджского университета. ISBN  978-0-521-29174-3.
  25. ^ Хаусман, Алан; Говард Кахане; Пол Тидман (2010) [2007]. Логика и философия: современное введение. Wadsworth Cengage Learning. ISBN  978-0-495-60158-6.
  26. ^ Жирар, Жан-Ив; Пол Тейлор; Ив Лафон (1990) [1989]. Доказательства и типы. Издательство Кембриджского университета (Кембриджские трактаты по теоретической информатике, 7). ISBN  978-0-521-37181-0.
  27. ^ Не все поисковые системы поддерживают одинаковый синтаксис запроса. Кроме того, некоторые организации (например, Google) предоставляют «специализированные» поисковые системы, поддерживающие альтернативный или расширенный синтаксис. (См., Например,Шпаргалка по синтаксису, Google codesearch поддерживает регулярные выражения ).
  28. ^ Поисковые запросы, разделенные двойными кавычками, в документации Google называются поисковыми запросами с точными фразами.

Источники

  • Мано, Моррис; Чилетти, Майкл Д. (2013). Цифровой дизайн. Пирсон. ISBN  978-0-13-277420-8.

дальнейшее чтение

  • Дж. Элдон Уайтситт (1995). Булева алгебра и ее приложения. Courier Dover Publications. ISBN  978-0-486-68483-3. Подходит для студентов прикладных специальностей.
  • Двинджер, Филипп (1971). Введение в булевы алгебры. Вюрцбург: Physica Verlag.
  • Сикорский, Роман (1969). Булевы алгебры (3 / е изд.). Берлин: Springer-Verlag. ISBN  978-0-387-04469-9.
  • Бохенский, Юзеф Мария (1959). Краткое изложение математической логики. Перевод Отто Берда с французского и немецкого изданий. Дордрехт, Южная Голландия: Д. Рейдел.

Историческая перспектива

внешняя ссылка