In logic, a logical connective (also called a logical operator, sentential connective, or sentential operator) is a logical constant. Connectives can be used to connect logical formulas. For instance in the syntax of propositional logic, the binary connective can be used to join the two atomic formulas and , rendering the complex formula .
Common connectives include negation, disjunction, conjunction, implication, and equivalence. In standard systems of classical logic, these connectives are interpreted as truth functions, though they receive a variety of alternative interpretations in nonclassical logics. Their classical interpretations are similar to the meanings of natural language expressions such as English "not", "or", "and", and "if", but not identical. Discrepancies between natural language connectives and those of classical logic have motivated nonclassical approaches to natural language meaning as well as approaches which pair a classical compositional semantics with a robust pragmatics.
A logical connective is similar to, but not equivalent to, a syntax commonly used in programming languages called a conditional operator.^{[1]}^{[better source needed]}
In formal languages, truth functions are represented by unambiguous symbols. This allows logical statements to not be understood in an ambiguous way. These symbols are called logical connectives, logical operators, propositional operators, or, in classical logic, truth-functional connectives. For the rules which allow new well-formed formulas to be constructed by joining other well-formed formulas using truth-functional connectives, see well-formed formula.
Logical connectives can be used to link zero or more statements, so one can speak about n-ary logical connectives. The boolean constants True and False can be thought of as zero-ary operators. Negation is a 1-ary connective, and so on.
Symbol, name | Truth table |
Venn diagram | ||||||
---|---|---|---|---|---|---|---|---|
Zeroary connectives (constants) | ||||||||
⊤ | Truth/tautology | 1 | ||||||
⊥ | Falsity/contradiction | 0 | ||||||
Unary connectives | ||||||||
= | 0 | 1 | ||||||
Proposition | 0 | 1 | ||||||
¬ | Negation | 1 | 0 | |||||
Binary connectives | ||||||||
= | 0 | 1 | ||||||
= | 0 | 1 | 0 | 1 | ||||
Proposition | 0 | 0 | 1 | 1 | ||||
Proposition | 0 | 1 | 0 | 1 | ||||
∧ | Conjunction | 0 | 0 | 0 | 1 | |||
↑ | Alternative denial | 1 | 1 | 1 | 0 | |||
∨ | Disjunction | 0 | 1 | 1 | 1 | |||
↓ | Joint denial | 1 | 0 | 0 | 0 | |||
→ | Material conditional | 1 | 1 | 0 | 1 | |||
Exclusive or | 0 | 1 | 1 | 0 | ||||
↔ | Biconditional | 1 | 0 | 0 | 1 | |||
← | Converse implication | 1 | 0 | 1 | 1 | |||
More information |
Commonly used logical connectives include the following ones.^{[2]}
For example, the meaning of the statements it is raining (denoted by ) and I am indoors (denoted by ) is transformed, when the two are combined with logical connectives:
It is also common to consider the always true formula and the always false formula to be connective (in which case they are nullary).
This table summarizes the terminology:
Connective | In English | Noun for parts | Verb phrase |
---|---|---|---|
Conjunction | Both A and B | conjunct | A and B are conjoined |
Disjunction | Either A or B, or both | disjunct | A and B are disjoined |
Negation | It is not the case that A | negatum/negand | A is negated |
Conditional | If A, then B | antecedent, consequent | B is implied by A |
Biconditional | A if, and only if, B | equivalents | A and B are equivalent |
Some authors used letters for connectives: for conjunction (German's "und" for "and") and for disjunction (German's "oder" for "or") in early works by Hilbert (1904);^{[17]} for negation, for conjunction, for alternative denial, for disjunction, for implication, for biconditional in Łukasiewicz in 1929.
Such a logical connective as converse implication " " is actually the same as material conditional with swapped arguments; thus, the symbol for converse implication is redundant. In some logical calculi (notably, in classical logic), certain essentially different compound statements are logically equivalent. A less trivial example of a redundancy is the classical equivalence between and . Therefore, a classical-based logical system does not need the conditional operator " " if " " (not) and " " (or) are already in use, or may use the " " only as a syntactic sugar for a compound having one negation and one disjunction.
There are sixteen Boolean functions associating the input truth values and with four-digit binary outputs.^{[18]} These correspond to possible choices of binary logical connectives for classical logic. Different implementations of classical logic can choose different functionally complete subsets of connectives.
One approach is to choose a minimal set, and define other connectives by some logical form, as in the example with the material conditional above. The following are the minimal functionally complete sets of operators in classical logic whose arities do not exceed 2:
Another approach is to use with equal rights connectives of a certain convenient and functionally complete, but not minimal set. This approach requires more propositional axioms, and each equivalence between logical forms must be either an axiom or provable as a theorem.
The situation, however, is more complicated in intuitionistic logic. Of its five connectives, {∧, ∨, →, ¬, ⊥}, only negation "¬" can be reduced to other connectives (see False (logic) § False, negation and contradiction for more). Neither conjunction, disjunction, nor material conditional has an equivalent form constructed from the other four logical connectives.
The standard logical connectives of classical logic have rough equivalents in the grammars of natural languages. In English, as in many languages, such expressions are typically grammatical conjunctions. However, they can also take the form of complementizers, verb suffixes, and particles. The denotations of natural language connectives is a major topic of research in formal semantics, a field that studies the logical structure of natural languages.
The meanings of natural language connectives are not precisely identical to their nearest equivalents in classical logic. In particular, disjunction can receive an exclusive interpretation in many languages. Some researchers have taken this fact as evidence that natural language semantics is nonclassical. However, others maintain classical semantics by positing pragmatic accounts of exclusivity which create the illusion of nonclassicality. In such accounts, exclusivity is typically treated as a scalar implicature. Related puzzles involving disjunction include free choice inferences, Hurford's Constraint, and the contribution of disjunction in alternative questions.
Other apparent discrepancies between natural language and classical logic include the paradoxes of material implication, donkey anaphora and the problem of counterfactual conditionals. These phenomena have been taken as motivation for identifying the denotations of natural language conditionals with logical operators including the strict conditional, the variably strict conditional, as well as various dynamic operators.
The following table shows the standard classically definable approximations for the English connectives.
English word | Connective | Symbol | Logical gate |
---|---|---|---|
not | negation | NOT | |
and | conjunction | AND | |
or | disjunction | OR | |
if...then | material implication | IMPLY | |
...if | converse implication | ||
either...or | exclusive disjunction | XOR | |
if and only if | biconditional | XNOR | |
not both | alternative denial | NAND | |
neither...nor | joint denial | NOR | |
but not | material nonimplication | NIMPLY |
Some logical connectives possess properties that may be expressed in the theorems containing the connective. Some of those properties that a logical connective may have are:
For classical and intuitionistic logic, the "=" symbol means that corresponding implications "...→..." and "...←..." for logical compounds can be both proved as theorems, and the "≤" symbol means that "...→..." for logical compounds is a consequence of corresponding "...→..." connectives for propositional variables. Some many-valued logics may have incompatible definitions of equivalence and order (entailment).
Both conjunction and disjunction are associative, commutative and idempotent in classical logic, most varieties of many-valued logic and intuitionistic logic. The same is true about distributivity of conjunction over disjunction and disjunction over conjunction, as well as for the absorption law.
In classical logic and some varieties of many-valued logic, conjunction and disjunction are dual, and negation is self-dual, the latter is also self-dual in intuitionistic logic.
As a way of reducing the number of necessary parentheses, one may introduce precedence rules: ¬ has higher precedence than ∧, ∧ higher than ∨, and ∨ higher than →. So for example, is short for .
Here is a table that shows a commonly used precedence of logical operators.^{[19]}^{[20]}
Operator | Precedence |
---|---|
1 | |
2 | |
3 | |
4 | |
5 |
However, not all compilers use the same order; for instance, an ordering in which disjunction is lower precedence than implication or bi-implication has also been used.^{[21]} Sometimes precedence between conjunction and disjunction is unspecified requiring to provide it explicitly in given formula with parentheses. The order of precedence determines which connective is the "main connective" when interpreting a non-atomic formula.
The 16 logical connectives can be partially ordered to produce the following Hasse diagram. The partial order is defined by declaring that if and only if whenever holds then so does
Logical connectives are used in computer science and in set theory.
A truth-functional approach to logical operators is 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; see more details in Truth function in computer science. Logical operators over bit vectors (corresponding to finite Boolean algebras) are bitwise operations.
But not every usage of a logical connective in computer programming has a Boolean semantic. For example, lazy evaluation is sometimes implemented for P ∧ Q and P ∨ Q, so these connectives are not commutative if either or both of the expressions P, Q have side effects. Also, a conditional, which in some sense corresponds to the material conditional connective, is essentially non-Boolean because for if (P) then Q;
, the consequent Q is not executed if the antecedent P is false (although a compound as a whole is successful ≈ "true" in such case). This is closer to intuitionist and constructivist views on the material conditional— rather than to classical logic's views.
Logical connectives are used to define the fundamental operations of set theory,^{[22]} as follows:
Set operation | Connective | Definition |
---|---|---|
Intersection | Conjunction | ^{[23]}^{[24]}^{[25]} |
Union | Disjunction | ^{[26]}^{[23]}^{[24]} |
Complement | Negation | ^{[27]}^{[24]}^{[28]} |
Subset | Implication | ^{[29]}^{[24]}^{[30]} |
Equality | Biconditional | ^{[29]}^{[24]}^{[31]} |
This definition of set equality is equivalent to the axiom of extensionality.