Boolean Logic

Boolean Logic Negation of Conjunction & Disjunction Circuits

Boolean Logic

In Boolean Logic, we can only use two valuses; TRUE and FALSE. This mathematical system is the foundation of digital electronics and computer design. Often we represent TRUE by 1 and FALSE by 0, but this is just representation, technically, \(TRUE \neq 1\).

Boolean values are manipulated with the Boolean operations as follows:

Fundamental Boolean Operations:
  • Negation, NOT: \(\neg\)
  • The negation of a Boolean value is its opposite value.
    (e.g. \(\neg 1 = 0, \quad \neg 0 = 1\))
  • Conjunction, AND: \(\wedge\)
  • The conjunction of two Boolean values is 1 if both of those values (operands) are 1.
    (e.g. \(1 \wedge 0 = 0, \quad 1 \wedge 1 = 1, \quad 0 \wedge 0 = 0\))
  • Disjunction, OR: \(\vee\)
  • The disjunction of two Boolean values is 1 if either of those values is 1.
    (e.g. \(1 \vee 0 = 1, \quad 1 \vee 1 = 1, \quad 0 \vee 0 = 0\))
More Boolean operations:

Negation of Conjunction & Disjunction

Even though NAND and NOR are just negations of AND and OR, they are significant because they are functionally complete. We can construct any Boolean operation using only NAND or only NOR. Many CPU designs and memory circuits are built using NAND-based logic. Here, we learn the NAND operation.
NAND is Functionally Complete
  • NOT
  • \[ \neg P = P \uparrow P \]
  • AND
  • \[ P \wedge Q = (P \uparrow Q) \uparrow (P \uparrow Q) \]
  • OR
  • \[ P \vee Q = (P \uparrow P) \uparrow (Q \uparrow Q) \]
Note: Non-fundamental Boolean operations can be built using AND, OR, and NOT, so they can be represented by NAND. For example,

Circuits

When we study Boolean logic as a purely mathematical system, the focus is on abstract algebraic properties. However, when these Boolean functions are implemented in hardware, they are called logic gates. Computers are built using electronic components wired together in a design known as a digital circuit. Logic gates are physically implemented using transistors, and each Boolean operation corresponds to a type of gate that controls the flow of electrical signals.

However, circuits are not only used for physical hardware but also for theoretical models in computer science. When Boolean functions are used to construct a computational model rather than a physical device, we refer to them as Boolean circuits. These circuits serve as a fundamental concept in computational complexity theory, where they help analyze the efficiency and limitations of different computational processes. Here, we only introduce the definition of Boolean circuits. We will revisit this topic after learning complexity theory in the future.

Boolean Circuit: A Boolean circuit is a collection of gates and inputs connected by wires. Cycles are not permitted. Gates take three forms: AND gates, OR gates, and NOT gates.
Note: A Boolean circuit is said to be a directed acyclic graph (DAG). Each node represents a logic gate or an input variable. Input nodes (source nodes) represent Boolean variables. Internal nodes represent logic gates. A special output node (sink node) represents the final output of the circuit. Edges represent the flow of information, showing how outputs of one gate serve as inputs to another. These edges are directed because signals flow in one direction (from inputs toward outputs).