logo

NAND Gate

NAND Gate

양자정보이론
[ 펼치기 · 접기 ]

Definition1

The following Boolean function is called a NAND\text{NAND} Gate or Negated Logical Product and is denoted as follows.

:{0,1}2{0,1} \uparrow : \left\{ 0, 1 \right\}^{2} \to \left\{ 0, 1 \right\}

00=1,01=1,10=1,11=0 0\uparrow 0 = 1,\quad 0\uparrow 1 = 1,\quad 1\uparrow 0 = 1,\quad 1\uparrow 1 = 0

Description

It is a composition of the NOT\text{NOT} Gate and AND\text{AND} Gate, and is named NAND\text{NAND} by adopting N(OT)\text{N(OT)} and AND\text{AND}.

=¬ \begin{equation} \uparrow = \lnot \circ \land \end{equation}

ab=¬(ab) a \uparrow b = \lnot (a \land b)

It operates opposite to the AND\text{AND} Gate, outputting false only when all inputs are true. Additionally, {}\left\{ \uparrow \right\} is functionally complete, which is considered obvious due to (1)(1).

부울 함수기호진리표
NAND\text{NAND}
aabbaba \uparrow b
000011
001111
110011
111100

Theorem

If the replication function is allowed, {}\left\{ \uparrow \right\} is functionally complete. In other words, \uparrow is a universal gate.

Proof

Theorem

The set of NOT\text{NOT} and AND\text{AND} Gates, {¬,}\left\{ \lnot, \land \right\}, is functionally complete.

According to the above theorem, it is sufficient to show that the NOT\text{NOT} Gate and the AND\text{AND} Gate can be created solely using the replication function cl\text{cl} and \uparrow.

  • NOT\text{NOT} Gate

    ¬=cl¬a=aa \lnot = \uparrow \circ \operatorname{cl} \\ \lnot a = a \uparrow a

    holds.

    cl(0)=00=1=¬0cl(1)=11=0=¬1 \begin{align*} \uparrow \circ \operatorname{cl}(0) = 0 \uparrow 0 = 1 = \lnot 0 \\ \uparrow \circ \operatorname{cl}(1) = 1 \uparrow 1 = 0 = \lnot 1 \\ \end{align*}

  • AND\text{AND} Gate

    =clab=(ab)(ab) \land = \uparrow \circ \operatorname{cl} \circ \uparrow \\ a \land b = (a \uparrow b) \uparrow (a \uparrow b)

    holds.

    (00)(00)=(11)=0=00(01)(01)=(00)=0=01(10)(10)=(00)=0=10(11)(11)=(11)=1=11 \begin{align*} (0 \uparrow 0) \uparrow (0 \uparrow 0) = (1 \uparrow 1) = 0 = 0 \land 0 \\ (0 \uparrow 1) \uparrow (0 \uparrow 1) = (0 \uparrow 0) = 0 = 0 \land 1 \\ (1 \uparrow 0) \uparrow (1 \uparrow 0) = (0 \uparrow 0) = 0 = 1 \land 0 \\ (1 \uparrow 1) \uparrow (1 \uparrow 1) = (1 \uparrow 1) = 1 = 1 \land 1 \\ \end{align*}


  1. Kim Young-Hoon & Heo Jae-Seong, Quantum Information Theory (2020), pp. 86-87 ↩︎