Logical connective

In logic, a logical connective, also called a truth-functional connective, ' logical operator or propositional operator, is a logical constant which represents a syntactic operation on a sentence, or the symbol for such an operation that corresponds to an operation on the logical values of those sentences. A logical connective serves to produce a compound sentence from one or two other sentences. The truth value of the resultant compound sentence is determined by the truth-values(s) of the one or two other sentences. Consequently a logical connective can be seen as a function which  when applied to sentences as arguments whose values are True or False returns in turn the value True or False; consequently logical connectives are called truth-functional connectives.

For example the statements, "it is raining," and, "I am indoors", can be reformed using various different connectives to form sentences that relate the two in ways which augment their meaning:


 * It is raining and I am indoors. (Conjunction (and))
 * If it is raining then I am indoors. (Material implication (if...then))
 * It is raining if I am indoors. (Biconditional (xnor) )
 * It is raining if and only if I am indoors. (Biconditional (xnor) )
 * It is not the case that it is raining. (Negation (not))

If we write 'P' for 'It is raining' and 'Q' for 'I am indoors' and we use the usual symbols for logical connectives, then the above examples could be represent in symbols like this:
 * P🇦🇩Q  (It is raining and I am indoors.)
 * P'Q  (If it is raining then''' I am indoors.)
 * Q'P  (It is raining if''' I am indoors.)
 * P'Q  (It is raining if and only if''' I am indoors.)
 * P    (It is not the case that it is raining.)

Venn diagrams
The binary logical operators may be expressed as Venn diagrams. The white area of each figure corresponds to "true" and the black to "false".

The above arrangement of Venn Diagrams is from The Geometry of Logic.

Note the similarity between the symbols for "and" ($$\wedge$$) and set-theoretic intersection ($$\cap$$); likewise for "or" ($$\vee$$) and set-theoretic union ($$\cup$$). This is not a coincidence: the definition of the intersection uses "and" and the definition of union uses "or".

Functional completeness
Not all of these operators are necessary for a functionally complete logical calculus. Certain compound statements are logically equivalent. For example, &not;P &or; Q is logically equivalent to P &rarr; Q;. So the conditional operator "&rarr;" is not necessary if you have "&not;" (not) and "&or;" (or).

The smallest set of operators which still expresses every statement which is expressible in the propositional calculus is called a minimal functionally complete set. A minimally complete set of operators is achieved by NAND alone { ↓ } and NOR alone { ↑ }.

All and only the following are functionally complete sets of operators:

{ ↓ }, { ↑ }, { $$\rightarrow$$, $$\neg$$ }, { $$\rightarrow$$, $$\not\equiv$$ }, { $$\neg$$, ⊂ }, { $$\rightarrow$$, ⊄ }, { $$\vee$$, $$\neg$$ }, { $$\rightarrow$$, ⊅ }, { ⊄, $$\neg$$ }, { ⊂, $$\not\equiv$$ }, { ⊅, $$\neg$$ }, { ⊂, ⊄ }, { $$\wedge$$, $$\neg$$ }, { ⊂, ⊅ }, { $$\bot$$, $$\rightarrow$$ }, { ⊄, $$\equiv$$ }, { ⊅, $$\equiv$$ }

Properties
The logical connectives each possess different set of properties which may be expressed in the theorems containing the connective. Some of those properties that a logical connective may have are:


 * Associativity: Within an expression containing two or more of the same associative operators in a row, the order of the operations does not matter as long as the sequence of the operands is not changed.
 * Commutivity: Each pair of variables connected by the operator may be exchanged for each other without affecting the truth-value of the expression.
 * Distributivity:
 * Idempotency:
 * Absorption:

A functionally complete set of operators contains at least one member lacking each of these five qualities:


 * monotonic : If f(a1, ..., an) ≤ f(b1, ... , bn) for all a1, ... , an $$\in$$ {0,1} such that a1 ≤ b1, a2 ≤ b2, ... , an ≤ bn { $$\vee$$, $$\wedge$$, $$\top$$, $$\bot$$ }


 * linear : Each variable always makes a difference in the truth-value of the operation or it never makes a difference { $$\neg$$, $$\equiv$$, $$\not\equiv$$, $$\top$$, $$\bot$$ }


 * self dual : To read the truth-value assignments for the operation from top to bottom on its truth table is the same as taking the compliment of reading it from bottom to top. { $$\neg$$ }


 * truth-preserving: The interpretation under which all variables are assigned a truth value of 'true' produces a truth value of 'true' as a result of these operations. { $$\vee$$, $$\wedge$$, $$\top$$, $$\rightarrow$$, $$\equiv$$, ⊂ }


 * falsehood-preserving: The interpretation under which all variables are assigned a truth value of 'false' produces a truth value of 'false' as a result of these operations. { $$\vee$$, $$\wedge$$, $$\not\equiv$$, $$\bot$$, ⊄, ⊅ }

Arity
In two-valued logic there are 4 unary operators, 16 binary operators, and 256 ternary operators. In three valued logic there are 9 unary operators, 19683 binary operators, and 7625597484987 ternary operators.

"Not" is a unary operator, it takes a single term (&not;P). The rest are binary operators, taking two terms to make a compound statement (P $$\wedge$$ Q, P $$\vee$$ Q, P &rarr; Q, P &harr; Q).

The set of logical operators $$\Omega\!$$ may be partitioned into disjoint subsets as follows:


 * $$\Omega = \Omega_0 \cup \Omega_1 \cup \ldots \cup \Omega_j \cup \ldots \cup \Omega_m \,.$$

In this partition, $$\Omega_j\!$$ is the set of operator symbols of arity $$j\!$$.

In the more familiar propositional calculi, $$\Omega\!$$ is typically partitioned as follows:


 * nullary operators: $$\Omega_0 = \{\bot, \top \} \,$$


 * unary operators: $$\Omega_1 = \{ \lnot \} \,$$


 * binary operators: $$\Omega_2 \subseteq \{ \land, \lor, \rightarrow, \leftrightarrow \} \,$$

Order of precedence
As a way of reducing the number of necessary parentheses, one may introduce precedence rules: &not; has higher precedence than &and;, &and; higher than &or;, and &or; higher than &rarr;. So for example, P &or; Q &and; &not;R &rarr; S is short for (P &or; (Q &and; (&not;R))) &rarr; S.

Here is a table that shows the usual precedence of logical operators.

The order of precedence determines which connective is the "main connective" when interpreting a molecular formula.

Applications in computer science
Logical operators are implemented as logic gates in digital circuits. Practically all digital circuits (the major exception is DRAM) are built up from NAND, NOR, NOT, and transmission gates. NAND and NOR gates with 3 or more inputs rather than the usual 2 inputs are fairly common, although they are logically equivalent to a cascade of 2-input gates. All other operators are implemented by breaking them down into a logically equivalent combination of 2 or more of the above logic gates.

The "logical equivalence" of "NAND alone", "NOR alone", and "NOT and AND" is similar to Turing equivalence.

Is some new technology (such as reversible computing, clockless logic, or quantum dots computing) "functionally complete", in that it can be used to build computers that can do all the sorts of computation that CMOS-based computers can do? If it can implement the NAND operator, only then is it functionally complete.

That fact that all logical connectives can be expressed with NOR alone is demonstrated by the Apollo guidance computer.