В булевых функциях и исчислении высказываний черта Шеффера обозначает логическую операцию , эквивалентную отрицанию операции конъюнкции , выражаемую на обычном языке как «не оба». Она также называется неконъюнкцией или альтернативным отрицанием [1] (поскольку она фактически говорит, что по крайней мере один из ее операндов является ложным), или NAND («не и»). [ 1 ] В цифровой электронике она соответствует вентилю NAND . Она названа в честь Генри Мориса Шеффера и записывается как или как или как или как в польской нотации Лукасевича (но не как ||, часто используемой для обозначения дизъюнкции ).
Его дуалом является оператор NOR (также известный как стрела Пирса , кинжал Куайна или оператор Вебба ). Как и его дуал, NAND может использоваться сам по себе, без какого-либо другого логического оператора, для создания логической формальной системы (делая NAND функционально полным ). Это свойство делает вентиль NAND критически важным для современной цифровой электроники , включая его использование в проектировании компьютерных процессоров .
Неконъюнкция — это логическая операция над двумя логическими значениями . Она производит значение «истина», если — и только если — хотя бы одно из предложений ложно.
Таблица истинности выглядит следующим образом.
Черта Шеффера в and является отрицанием их союза
По законам Де Моргана это также эквивалентно дизъюнкции отрицаний и
Пирс был первым, кто показал функциональную полноту неконъюнкции (представив это как ), но не опубликовал свой результат. [2] [3] Редактор Пирса добавил ) для недизъюнкции [ необходима ссылка ] . [3]
В 1911 году Штамм первым опубликовал доказательство полноты неконъюнкции, впервые представив это с помощью ( крючка Штамма ) [4] и недизъюнкции в печати и показав их функциональную полноту. [5]
В 1913 году Шеффер описал недизъюнкцию с помощью и показал ее функциональную полноту. Шеффер также использовал для недизъюнкции. [ необходима цитата ] Многие люди, начиная с Никода в 1917 году, а затем Уайтхеда, Рассела и многих других, ошибочно полагали, что Шеффер описал неконъюнкцию с помощью , назвав это штрихом Шеффера.
В 1928 году Гильберт и Аккерман описали неконъюнкцию с помощью оператора . [6] [7]
В 1929 году Лукасевич использовал in для обозначения несвязности в своей польской нотации . [8]
Альтернативная нотация для неконъюнкции — . Неясно, кто первым ввел эту нотацию, хотя соответствующая для недизъюнкции использовалась Куайном в 1940 году. [9]
Штрих назван в честь Генри Мориса Шеффера , который в 1913 году опубликовал статью в Transactions of the American Mathematical Society [10], предоставив аксиоматизацию булевых алгебр с использованием штриха, и доказал ее эквивалентность стандартной формулировке ее Хантингтона , использующего известные операторы пропозициональной логики ( AND , OR , NOT ). Из-за самодвойственности булевых алгебр аксиомы Шеффера одинаково справедливы для операций NAND или NOR вместо штриха. Шеффер интерпретировал штрих как знак недизъюнкции ( NOR ) в своей статье, упомянув неконъюнкцию только в сноске и без специального знака для нее. Жан Никод первым использовал штрих как знак неконъюнкции (NAND) в статье 1917 года, и с тех пор это стало современной практикой. [11] [12] Рассел и Уайтхед использовали штрих Шеффера во втором издании Principia Mathematica 1927 года и предложили его в качестве замены операциям «ИЛИ» и «НЕ» первого издания.
Чарльз Сандерс Пирс (1880) открыл функциональную полноту NAND или NOR более чем 30 годами ранее, используя термин ampheck (для «разрезания в обе стороны»), но он так и не опубликовал свое открытие. За два года до Шеффера Эдвард Штамм также описал операторы NAND и NOR и показал, что другие булевы операции могут быть выражены с его помощью. [5]
НЕ-И является коммутативным, но не ассоциативным, что означает, что но . [13]
Штрих Шеффера, взятый сам по себе, представляет собой функционально полный набор связок. [14] [15] Это можно увидеть из того факта, что НЕ-И не обладает ни одним из следующих пяти свойств, каждое из которых должно отсутствовать, и отсутствие всех из которых достаточно для, по крайней мере, одного члена набора функционально полных операторов: сохранение истинности, сохранение ложности, линейность , монотонность , самодвойственность . (Оператор сохраняет истинность, если его значение является истиной всякий раз, когда все его аргументы являются истиной, или сохраняет ложность, если его значение является ложью всякий раз, когда все его аргументы являются ложью.) [16]
Это также можно доказать, сначала показав с помощью таблицы истинности , что является истинностно-функционально эквивалентным . [17] Тогда, поскольку является истинностно-функционально эквивалентным , [17] и эквивалентно , [17] штриха Шеффера достаточно, чтобы определить множество связок , [17] которое, как показано, является истинностно-функционально полным по теореме о дизъюнктивной нормальной форме . [17]
Выраженные в терминах НЕ-И , обычные операторы пропозициональной логики таковы: