Many computational systems, including several of the digital evolution systems, make use of Boolean logic. Boolean logic, collectively, refers to binary responses to input data. A Boolean function is one that will evaluate to something such as yes/no, or true/false, rather than “sometimes” or “maybe”. The logic functions are most often categorized by the number of inputs required to perform the function.

Tasks with 0 required input are fundamentally trivial. If you think about these in terms of an input/output table, no inputs are actually used in determining the output. Instead, the output remains the same regardless of what is used as an input. A function that always returns true, or a function that always returns false, is an example of a function that solves a 0 input task.

Tasks with 1 Input

ECHO

To complete the ECHO task, a function must return true if its input is true, and return false if its input is false. In this way, the ECHO function ends up providing as output exactly what it was given as input.

NOT

To complete the NOT task, a function must return true if its input is false, and return false if its input is true. The NOT function, therefore, ends up exactly negating the input.

Tasks With 2 Inputs

AND

To complete the AND task, a function must return true if, and only if, both of the inputs to it are true. For example, the sentence “Alice is tall and Bob is funny” is only true if both a) Alice is tall, and b) Bob is funny. If either one of these two smaller parts is not true, the AND of them is also not true. In a computational sense, A AND B will return true if both A and B are, considered independently, true.

OR

To complete the OR task, a function must return true only if at least one of its two inputs is true. For example, the sentence “Alice is a good singer or Bob runs marathons” will be true either if a) Alice is a good signer, or b) Bob runs marathons. Put another way, it will only be false if both of the smaller pieces are false. In a computational sense, A OR B will return true if a) A is true and B is false; b) B is true and A is false; or c) A is true and B is true.

NOR

To complete the NOR task, a function must return true only when both of its two inputs are false. One way to think about this is that this is equivalent to NOT (A OR B) — the NOT-OR combination becomes NOR.

NAND

To complete the NAND task, a function must return true when at least one of its two inputs is false. One way to think about this is that this is equivalent to NOT (A AND B) — the NOT-AND combination becomes NAND. NAND will be true if a) A is false and B is true; b) B is false and A is true; or c) A is false and B is false. NAND will only be false if both A and B are true.

ORN

The ORN task is the first of our discussed tasks where the order or the tasks might matter. A ORN B will be true if A is true, or NOT B is true — the OR-NOT combination becomes ORN. As such, it does matter which order you consider the two inputs to it; A ORN B is not the same response as B ORN A.

For example, let’s imagine the case where A is true and B is false. A ORN B is true — A is true, NOT B is true, and therefore A OR (NOT B) is also true. B ORN A is false — B is false, NOT A is false, and therefore B OR (NOT A) is also false.

ANDN

The ANDN task, much like the ORN task, also depends on the order the tasks are considered. A ANDN B will be true if A is true and (NOT B) is true; that is, if A is true AND B is false. As such, A ANDN B is not the same as B ANDN A.

XOR

The XOR task is true if either A or B is true, but not if both A and B are true. This is the exclusive or, which is why it gets abbreviated as XOR

EQU

The EQU task is true if either a) both A and B are true, or b) both A and B are false. As such, it evaluates as true if responses to both A and B — true or false — are equal to each other.

Systems that Use Boolean Logic

The following systems use Boolean logic: