stringtranslate.com

Таблица истинности

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

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

Таблица истинности — это структурированное представление, которое представляет все возможные комбинации значений истинности для входных переменных булевой функции и соответствующих им выходных значений. Функция f от A до F — это специальное отношение , подмножество A×F, что просто означает, что f можно представить в виде списка пар ввода-вывода. Очевидно, что для булевых функций выходные данные принадлежат двоичному множеству, т. е. F = {0, 1}. Для n-арной булевой функции входные данные поступают из области, которая сама по себе является декартовым произведением двоичных наборов, соответствующих входным логическим переменным. Например, для двоичной функции f (A, B) областью определения f является A×B, которую можно записать так: A×B = {(A = 0, B = 0), (A = 0, B = 1), (А = 1, В = 0), (А = 1, В = 1)}. Каждый элемент в области представляет собой комбинацию входных значений переменных A и B. Эти комбинации теперь можно объединить с выходными данными функции, соответствующей этой комбинации, образуя таким образом набор пар ввода-вывода в виде специального отношения, которое подмножество A×F. Чтобы отношение было функцией, особое требование состоит в том, что каждый элемент области определения функции должен быть сопоставлен с одним и только одним членом кодомена. Таким образом, саму функцию f можно записать в виде: f = {((0, 0), f 0 ), ((0, 1), f 1 ), ((1, 0), f 2 ), ((1 , 1), f 3 )}, где f 0 , f 1 , f 2 и f 3 представляют собой логические значения 0 или 1 как члены кодомена {0, 1}, как выходные данные, соответствующие члену домен соответственно. Вместо списка (набора), приведенного выше, таблица истинности затем представляет эти пары ввода-вывода в табличном формате, в котором каждая строка соответствует члену домена в паре с соответствующим выходным значением 0 или 1. Конечно, для булевых функций нам не нужно перечислять все члены домена с их изображениями в кодомене ; мы можем просто перечислить сопоставления, которые сопоставляют элемент с «1», потому что все остальные должны будут автоматически сопоставляться с «0» (это приводит нас к идее минтермов ).

Людвигу Витгенштейну обычно приписывают изобретение и популяризацию таблицы истинности в его «Логико-философском трактате» , который был завершен в 1918 году и опубликован в 1921 году. [2] Такая система была также независимо предложена в 1921 году Эмилем Леоном Постом . [3]

Нулевые операции

Есть 2 нулевые операции:

Логическая правда

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

Логическое ложь

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

Унарные операции

Есть 2 унарные операции:

Логическая идентичность

Логическое тождество — это операция над одним логическим значением p, для которой выходным значением остается p.

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

Логическое отрицание

Логическое отрицание — это операция над одним логическим значением , обычно значением предложения , которая дает значение true , если его операнд ложный, и значение false , если его операнд истинный.

Таблица истинности для NOT p (также записываемого как ¬p , Np , Fpq или ~p ) выглядит следующим образом:

Бинарные операции

Существует 16 возможных функций истинности двух двоичных переменных , каждый оператор имеет свое имя.

Таблица истинности

Вот расширенная таблица истинности, дающая определения всех шестнадцати возможных функций истинности двух логических переменных p и q : [примечание 1]

где

Т = правда.
Ф = ложь.
Верхние индексы от 0 до 15 — это число, полученное в результате чтения четырех значений истинности как двоичного числа с F = 0 и T = 1.
Строка Com указывает , является ли оператор op коммутативнымP op Q = Q op P .
Строка Assoc указывает, является ли оператор op ассоциативным(P op Q) op R = P op (Q op R) .
В строке Adj показан оператор op2 такой, что P op Q = Q op2 P .
В строке Neg показан оператор op2 такой, что P op Q = ¬(P op2 Q) .
В строке Dual показана двойная операция , полученная путем замены T на F и AND на OR.
В строке L id показаны левые идентификаторы оператора , если он имеет какие-либо значения I такие, что I op Q = Q .
Строка R id показывает правые идентификаторы оператора , если он имеет какие-либо значения I такие, что P op I = P . [заметка 2]

Таблица Витгенштейна

В предложении 5.101 «Логико-философского трактата» [ 4] Витгенштейн перечислил приведенную выше таблицу следующим образом:

Таблица истинности, представленная каждой строкой, получается путем добавления последовательности, указанной в строке «Истинные значения» , к таблице [примечание 3].

Например, таблица

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

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

Логический союз (И)

Логическое соединение — это операция над двумя логическими значениями , обычно значениями двух высказываний , которая дает значение « истина» , если оба ее операнда истинны.

Таблица истинности для p AND q (также записываемая как p ∧ q , Kpq , p & q или p q ) выглядит следующим образом:

Говоря обычным языком, если и p , и q истинны, то конъюнкция pq истинна. Для всех других присвоений логических значений p и q конъюнкция p  ∧  q ложна.

Также можно сказать, что если p , то pq есть q , в противном случае pq есть p .

Логическая дизъюнкция (ИЛИ)

Логическая дизъюнкция — это операция над двумя логическими значениями , обычно значениями двух высказываний , которая дает значение « истина» , если хотя бы один из ее операндов истинен.

Таблица истинности для p OR q (также записываемая как p ∨ q , Apq , p || q или p + q ) выглядит следующим образом:

Говоря по-английски, если p , то pq есть p , иначе pq есть q .

Логическое следствие

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

Таблица истинности, связанная с логическим следствием p, подразумевает q (обозначаемое как p ⇒ q или, реже, Cpq ), выглядит следующим образом:

Таблица истинности, связанная с материальным условием if p then q (обозначаемым как p → q ), выглядит следующим образом:

Также может быть полезно отметить, что p ⇒ q и p → q эквивалентны ¬p ∨ q .

Логическое равенство

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

Таблица истинности для p XNOR q (также записываемая как p ↔ q , Epq , p = q или p ≡ q ) выглядит следующим образом:

Таким образом, p EQ q истинно, если p и q имеют одинаковое значение истинности (оба истинны или оба ложны), и ложно, если они имеют разные значения истинности.

Эксклюзивная дизъюнкция

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

Таблица истинности для p XOR q (также записываемая как Jpq или p ⊕ q ) выглядит следующим образом:

Для двух предложений XOR также можно записать как (p ∧ ¬q) ∨ (¬p ∧ q).

Логическое NAND

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

Таблица истинности для p NAND q (также записываемая как p ↑ q , Dpq или p | q ) выглядит следующим образом:

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

В случае логического И-НЕ это ясно выражается как соединение НЕ и И.

Отрицание конъюнкции: ¬( p  ∧  q ) и дизъюнкция отрицаний: (¬ p ) ∨ (¬ q ) можно свести в таблицу следующим образом:

Логическое НО

Логическое NOR — это операция над двумя логическими значениями , обычно значениями двух предложений , которая дает значение true , если оба ее операнда являются ложными. Другими словами, он выдает значение false , если хотя бы один из его операндов истинен. ↓ также известна как стрелка Пирса в честь ее изобретателя Чарльза Сандерса Пирса и является единственным достаточным оператором .

Таблица истинности для p NOR q (также записываемая как p ↓ q или Xpq ) выглядит следующим образом:

Отрицание дизъюнкции ¬( p  ∨  q ) и конъюнкция отрицаний (¬ p ) ∧ (¬ q ) можно свести в таблицу следующим образом:

Проверка табличных выводов для NAND и NOR при каждом присвоении логических значений функциональным аргументам p и q дает идентичные шаблоны функциональных значений для ¬( p  ∧  q ), что и для (¬ p ) ∨ (¬ q ), и для ¬( p  ∨  q ) как для (¬ p ) ∧ (¬ q ). Таким образом, первое и второе выражения в каждой паре логически эквивалентны и могут заменять друг друга во всех контекстах, которые относятся исключительно к их логическим значениям.

Эта эквивалентность является одним из законов Де Моргана .

Размер таблиц истинности

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

Таблицы истинности для функций трех и более переменных приводятся редко.

Приложения

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

Это демонстрирует тот факт, что логически эквивалентен .

Таблица истинности для наиболее часто используемых логических операторов

Вот таблица истинности, которая дает определения 7 наиболее часто используемых из 16 возможных функций истинности двух логических переменных P и Q :

Сжатые таблицы истинности для бинарных операторов

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

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

Таблицы истинности в цифровой логике

Таблицы истинности также используются для определения функции аппаратных справочных таблиц (LUT) в цифровых логических схемах . Для LUT с n-входами таблица истинности будет иметь 2^ n значений (или строк в приведенном выше табличном формате), полностью определяя логическую функцию для LUT. Представляя каждое логическое значение как бит двоичного числа , значения таблицы истинности могут быть эффективно закодированы как целые значения в программном обеспечении для автоматизации электронного проектирования (EDA) . Например, 32-битное целое число может кодировать таблицу истинности для LUT с количеством входов до 5.

При использовании целочисленного представления таблицы истинности выходное значение LUT можно получить путем вычисления битового индекса k на основе входных значений LUT, и в этом случае выходное значение LUT представляет собой k -й бит целого числа. Например, чтобы оценить выходное значение LUT с учетом массива из n логических входных значений, битовый индекс выходного значения таблицы истинности можно вычислить следующим образом: если i-й вход верен, let , иначе let . Тогда k -й бит двоичного представления таблицы истинности является выходным значением LUT, где .

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

Применение таблиц истинности в цифровой электронике.

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

где A — первый операнд, B — второй операнд, C — цифра переноса, а R — результат.

Эта таблица истинности читается слева направо:

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

Что касается результата, этот пример можно арифметически рассматривать как двоичное сложение по модулю 2 и как логически эквивалентный двоичной логической операции исключающего или (исключающего дизъюнкции).

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

Например, для операции сложения нужны два операнда: A и B. Каждый из них может иметь одно из двух значений: ноль или единицу. Количество комбинаций этих двух значений равно 2×2 или четыре. Таким образом, в результате получается четыре возможных выхода C и R. Если бы кто-то использовал базу 3, размер увеличился бы до 3 × 3, или до девяти возможных выходов.

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

АВС* | ЧР0 0 0 | 0 00 1 0 | 0 11 0 0 | 0 11 1 0 | 1 00 0 1 | 0 10 1 1 | 1 01 0 1 | 1 01 1 1 | 1 1То же, что и предыдущее, но...C* = перенос из предыдущего сумматора

История

Исследования Ирвинга Анеллиса показывают, что К.С. Пирс, по-видимому, был первым логиком (в 1883 году), который разработал матрицу таблицы истинности. [5]

Из краткого изложения статьи Пирса:

В 1997 году Джон Шоски обнаружил на оборотной стороне страницы машинописной расшифровки лекции Бертрана Рассела 1912 года «Философия логического атомизма» матрицы таблицы истинности. Матрица отрицания — это матрица Рассела, рядом с которой находится матрица материального импликации Людвига Витгенштейна. Показано, что неопубликованная рукопись, идентифицированная как составленная Пирсом в 1893 году, включает матрицу таблицы истинности, эквивалентную матрице материальной импликации, открытой Джоном Шоски. Неопубликованная рукопись Пирса, идентифицированная как написанная в 1883–1884 годах в связи с сочинением книги Пирса «Об алгебре логики: вклад в философию обозначений», опубликованной в Американском журнале математики в 1885 году, включает пример косвенная таблица истинности условного выражения.

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

Примечания

  1. ^ Информацию об обозначениях можно найти в (Bocheński 1959), (Enderton 2001) и (Quine 1982).
  2. ^ Операторы здесь с равными левыми и правыми тождествами (XOR, AND, XNOR и OR) также являются коммутативными моноидами , поскольку они также ассоциативны . Хотя это различие может быть несущественным при простом обсуждении логики, оно может быть весьма важным в более продвинутой математике. Например, в теории категорий обогащенная категория описывается как базовая категория, обогащенная моноидом, и любой из этих операторов может использоваться для обогащения.
  3. ^ ab Витгенштейн использовал другое отображение. В предложении 5.101 «Трактата» к таблице необходимо добавить строку «Истинные значения» .

    Это объясняет, почему строка «Трактата» в приведенной здесь таблице не указывает на ту же строку «Истинные значения» , что и в «Трактате».

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

  1. ^ Эндертон 2001
  2. ^ фон Райт, Георг Хенрик (1955). «Людвиг Витгенштейн, Биографический очерк». Философское обозрение . 64 (4): 527–545 (с. 532, прим. 9). дои : 10.2307/2182631. JSTOR  2182631.
  3. ^ Пост, Эмиль (июль 1921 г.). «Введение в общую теорию элементарных предложений». Американский журнал математики . 43 (3): 163–185. дои : 10.2307/2370324. hdl : 2027/uiuo.ark:/13960/t9j450f7q . JSTOR  2370324.
  4. ^ Витгенштейн, Людвиг (1922). Логико-философский трактат (PDF) . Предложение 5.101.
  5. ^ Анеллис, Ирвинг Х. (2012). «Функциональный анализ истины Пирса и происхождение таблицы истинности». История и философия логики . 33 : 87–97. дои : 10.1080/01445340.2011.621702. S2CID  170654885.

Цитируемые работы

Внешние ссылки