Штрих Шефера

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Штрих Шеффера (операція NAND) — двомісна логічна операція, яка є запереченням кон'юнкції; тому значення «хибно» одержується тоді й тільки тоді, коли обидва операнди мають значення «істина».

Названа на честь американського логіка Генрі Шеффера. Зазвичай позначається символом ~| чи ~\uparrow.

 A \;|\; B \equiv \lnot(A \land B)

У булевій алгебрі та цифровій електроніці має назву «операція NAND» від англійського «not and».

Історія[ред.ред. код]

Штрих було названо на честь Генрі Шеффера, який 1913 року запровадив аксіоматизацію булевої алгебри, застосовуючи лише одну операцію. Він довів еквівалентність своєї теорії стандартним формулюванням Хантігтона, застосовуючи відомі оператори логіки висловлювань («та», «або», «не»). Через самодвоїстість булевої алгебри, аксіоми Шеффера справедливі як для операції NAND («not and»), так і для операції NOR («not or»). Шеффер у своїх роботах визначав штрих як позначку для операції, що протилежна диз'юнкції (NOR), згадуючи про операцію «не кон'юнкції» (NAND) лише у виносках та без якоїсь особливої позначки для неї. Першим вжив позначку штриха для позначення «не кон'юнкції» Жан Нікод (1917 року)[Джерело?], і відтоді таке позначення вважається усталеним. Операція «не диз'юнкції», вживана самим Шеффером, також є однією з визначених операцій у булевій алгебрі, але має назву стрілка Пірса або (в деякій літературі[Джерело?]) стрілка Пірса-Вебба.

Таблиця істинності в булевій алгебрі[ред.ред. код]

Діаграма Венна для операції A | B

Таблиця істинності виглядає таким чином:

~A ~B ~A|B
0 0 1
0 1 1
1 0 1
1 1 0

Властивості[ред.ред. код]

a \; | \;  b \equiv b \; | \; a
  • тотожності:
 \top \equiv (a \;|\; a)  \;|\; a
a \equiv (a \;|\; a)  \;|\; (a \;|\; b)

Функціональна повнота[ред.ред. код]

Штрих Шеффера є функціонально повною операцією, тобто, усі інші булеві функції може бути побудовано, вживаючи лише одну цю операцію:

~ \neg a \equiv a \;|\; a
 a \land b \equiv (a \;|\; b) \;|\; (a \;|\; b)
 a \lor b \equiv (a \;|\; a) \;|\; (b \;|\; b)
~ a \downarrow b \equiv \lnot ((a \;|\; a) \;|\; (b \;|\; b))
~ a \rightarrow b \equiv a \;|\; (b \;|\; b) \equiv a \;|\; (a \;|\; b)

Див. також[ред.ред. код]