# Zeroth order logic

Zeroth order logic is an informal term that is sometimes used to indicate the common principles underlying the algebra of sets, boolean algebra, boolean functions, logical connectives, monadic predicate calculus, propositional calculus, and sentential logic.  The term serves to mark a level of abstraction in which the more inessential differences among these subjects can be subsumed under the appropriate isomorphisms.

## Propositional forms on two variables

By way of initial orientation, Table 1 lists equivalent expressions for the sixteen functions of concrete type $$X \times Y \to \mathbb{B}$$ and abstract type $$\mathbb{B} \times \mathbb{B} \to \mathbb{B}$$ in a number of different languages for zeroth order logic.

Table 1. Propositional Forms on Two Variables
L1 L2 L3 L4 L5 L6
x : 1 1 0 0
y : 1 0 1 0
f0 f0000 0 0 0 0 ( ) false 0
f1 f0001 0 0 0 1 (x)(y) neither x nor y ¬x ∧ ¬y
f2 f0010 0 0 1 0 (x) y y and not x ¬x ∧ y
f3 f0011 0 0 1 1 (x) not x ¬x
f4 f0100 0 1 0 0 x (y) x and not y x ∧ ¬y
f5 f0101 0 1 0 1 (y) not y ¬y
f6 f0110 0 1 1 0 (x, y) x not equal to y x ≠ y
f7 f0111 0 1 1 1 (x y) not both x and y ¬x ∨ ¬y
f8 f1000 1 0 0 0 x y x and y x ∧ y
f9 f1001 1 0 0 1 ((x, y)) x equal to y x = y
f10 f1010 1 0 1 0 y y y
f11 f1011 1 0 1 1 (x (y)) not x without y x → y
f12 f1100 1 1 0 0 x x x
f13 f1101 1 1 0 1 ((x) y) not y without x x ← y
f14 f1110 1 1 1 0 ((x)(y)) x or y x ∨ y
f15 f1111 1 1 1 1 (( )) true 1

These six languages for the sixteen boolean functions are conveniently described in the following order:

• Language L3 describes each boolean function f : B2B by means of the sequence of four boolean values (f(1,1), f(1,0), f(0,1), f(0,0)). Such a sequence, perhaps in another order, and perhaps with the logical values F and T instead of the boolean values 0 and 1, respectively, would normally be displayed as a column in a truth table.
• Language L2 lists the sixteen functions in the form fi, where the index i is a bit string formed from the sequence of boolean values in L3.
• Language L1 notates the boolean functions fi with an index i that is the decimal equivalent of the binary numeral index in L2.
• Language L4 expresses the sixteen functions in terms of logical conjunction, indicated by concatenating function names or proposition expressions in the manner of products, plus the family of minimal negation operators, the first few of which are given in the following variant notations:

$\begin{matrix} (\ ) & = & 0 & = & \mbox{false} \\ (x) & = & \tilde{x} & = & x' \\ (x, y) & = & \tilde{x}y \lor x\tilde{y} & = & x'y \lor xy' \\ (x, y, z) & = & \tilde{x}yz \lor x\tilde{y}z \lor xy\tilde{z} & = & x'yz \lor xy'z \lor xyz' \end{matrix}$

It may also be noted that $$(x, y)\!$$ is the same function as $$x + y\!$$ and $$x \ne y$$, and that the inclusive disjunctions indicated for $$(x, y)\!$$ and for $$(x, y, z)\!$$ may be replaced with exclusive disjunctions without affecting the meaning, because the terms disjoined are already disjoint. However, the function $$(x, y, z)\!$$ is not the same thing as the function $$x + y + z\!$$.

• Language L5 lists ordinary language expressions for the sixteen functions. Many other paraphrases are possible, but these afford a sample of the simplest equivalents.
• Language L6 expresses the sixteen functions in one of several notations that are commonly used in formal logic.

## Syllabus

### Logical operators

Template:Col-breakTemplate:Col-breakTemplate:Col-end

### Related topics

Template:Col-breakTemplate:Col-breakTemplate:Col-breakTemplate:Col-end

### Relational concepts

Template:Col-breakTemplate:Col-breakTemplate:Col-breakTemplate:Col-end

### Information, Inquiry

Template:Col-breakTemplate:Col-breakTemplate:Col-breakTemplate:Col-breakTemplate:Col-end

### Related articles

Template:Col-breakTemplate:Col-breakTemplate:Col-breakTemplate:Col-end

## Document history

Portions of the above article were adapted from the following sources under the GNU Free Documentation License, under other applicable licenses, or by permission of the copyright holders.