Logical conjunction
Template:Short description Template:Distinguish Template:Infobox logical connective Template:Logical connectives sidebar
In logic, mathematics and linguistics, and (<math>\wedge</math>) is the truth-functional operator of conjunction or logical conjunction. The logical connective of this operator is typically represented as <math>\wedge</math><ref name=":2">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> or <math>\&</math> or <math>K</math> (prefix) or <math>\times</math> or <math>\cdot</math><ref name=":1">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> in which <math>\wedge</math> is the most modern and widely used.
The and of a set of operands is true if and only if all of its operands are true, i.e., <math>A \land B</math> is true if and only if <math>A</math> is true and <math>B</math> is true.
An operand of a conjunction is a conjunct.<ref name=":21">Template:Cite book</ref>
Beyond logic, the term "conjunction" also refers to similar concepts in other fields:
- In natural language, the denotation of expressions such as English "and";
- In programming languages, the short-circuit and control structure;
- In set theory, intersection.
- In lattice theory, logical conjunction (greatest lower bound).
NotationEdit
And is usually denoted by an infix operator: in mathematics and logic, it is denoted by a "wedge" <math>\wedge</math> (Unicode Template:Unichar),<ref name=":2" /> <math>\&</math> or <math>\times</math>; in electronics, <math>\cdot</math>; and in programming languages &
, &&
, or and
. In Jan Łukasiewicz's prefix notation for logic, the operator is <math>K</math>, for Polish koniunkcja.<ref>Józef Maria Bocheński (1959), A Précis of Mathematical Logic, translated by Otto Bird from the French and German editions, Dordrecht, South Holland: D. Reidel, passim.</ref>
In mathematics, the conjunction of an arbitrary number of elements <math>a_1, \ldots, a_n</math> can be denoted as an iterated binary operation using a "big wedge" ⋀ (Unicode Template:Unichar):<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
<math> \bigwedge_{i=1}^{n} a_i = a_1 \wedge a_2 \wedge \ldots a_{n-1} \wedge a_{n} </math>
DefinitionEdit
In classical logic, logical conjunction is an operation on two logical values, typically the values of two propositions, that produces a value of true if and only if (also known as iff) both of its operands are true.<ref name=":1" /><ref name=":2" />
The conjunctive identity is true, which is to say that AND-ing an expression with true will never change the value of the expression. In keeping with the concept of vacuous truth, when conjunction is defined as an operator or function of arbitrary arity, the empty conjunction (AND-ing over an empty set of operands) is often defined as having the result true.
Truth tableEdit
The truth table of <math>A \land B</math>:<ref name=":2" /><ref name=":1" />
Defined by other operatorsEdit
In systems where logical conjunction is not a primitive, it may be defined as<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
- <math>A \land B = \neg(A \to \neg B) </math>
It can be checked by the following truth table (compare the last two columns):
- <math>A \land B = \neg(\neg A \lor \neg B).</math>
It can be checked by the following truth table (compare the last two columns):
Introduction and elimination rulesEdit
As a rule of inference, conjunction introduction is a classically valid, simple argument form. The argument form has two premises, <math>A</math> and <math>B</math>. Intuitively, it permits the inference of their conjunction.
- <math>A</math>,
- <math>B</math>.
- Therefore, A and B.
or in logical operator notation, where \vdash expresses provability:
- <math> \vdash A, </math>
- <math> \vdash B </math>
- <math> \vdash A \land B </math>
Here is an example of an argument that fits the form conjunction introduction:
- Bob likes apples.
- Bob likes oranges.
- Therefore, Bob likes apples and Bob likes oranges.
Conjunction elimination is another classically valid, simple argument form. Intuitively, it permits the inference from any conjunction of either element of that conjunction.
- <math>A</math> and <math>B</math>.
- Therefore, <math>A</math>.
...or alternatively,
- <math>A</math> and <math>B</math>.
- Therefore, <math>B</math>.
In logical operator notation:
- <math> \vdash A \land B </math>
- <math> \vdash A </math>
...or alternatively,
- <math> \vdash A \land B </math>
- <math> \vdash B </math>
NegationEdit
DefinitionEdit
A conjunction <math>A\land B</math> is proven false by establishing either <math>\neg A</math> or <math>\neg B</math>. In terms of the object language, this reads
- <math>\neg A\to\neg(A\land B)</math>
This formula can be seen as a special case of
- <math>(A\to C) \to ( (A\land B)\to C )</math>
when <math>C</math> is a false proposition.
Other proof strategiesEdit
If <math>A</math> implies <math>\neg B</math>, then both <math>\neg A</math> as well as <math>A</math> prove the conjunction false:
- <math>(A\to\neg{}B)\to\neg(A\land B)</math>
In other words, a conjunction can actually be proven false just by knowing about the relation of its conjuncts, and not necessary about their truth values.
This formula can be seen as a special case of
- <math>(A\to(B\to C))\to ( (A\land B)\to C ) </math>
when <math>C</math> is a false proposition.
Either of the above are constructively valid proofs by contradiction.
PropertiesEdit
commutativity: yes
<math>A \land B</math> | <math>\Leftrightarrow</math> | <math>B \land A</math> |
File:Venn0001.svg | <math>\Leftrightarrow</math> | File:Venn0001.svg |
associativity: yes<ref name=":13">Template:Cite book</ref>
<math>~A</math> | <math>~~~\land~~~</math> | <math>(B \land C)</math> | <math>\Leftrightarrow</math> | <math>(A \land B)</math> | <math>~~~\land~~~</math> | <math>~C</math> | ||
File:Venn 0101 0101.svg | <math>~~~\land~~~</math> | File:Venn 0000 0011.svg | <math>\Leftrightarrow</math> | File:Venn 0000 0001.svg | <math>\Leftrightarrow</math> | File:Venn 0001 0001.svg | <math>~~~\land~~~</math> | File:Venn 0000 1111.svg |
distributivity: with various operations, especially with or
<math>~A</math> | <math>\land</math> | <math>(B \lor C)</math> | <math>\Leftrightarrow</math> | <math>(A \land B)</math> | <math>\lor</math> | <math>(A \land C)</math> | ||
File:Venn 0101 0101.svg | <math>\land</math> | File:Venn 0011 1111.svg | <math>\Leftrightarrow</math> | File:Venn 0001 0101.svg | <math>\Leftrightarrow</math> | File:Venn 0001 0001.svg | <math>\lor</math> | File:Venn 0000 0101.svg |
others | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
with exclusive or:
with material nonimplication:
with itself:
|
idempotency: yes
<math>~A~</math> | <math>~\land~</math> | <math>~A~</math> | <math>\Leftrightarrow</math> | <math>A~</math> |
File:Venn01.svg | <math>~\land~</math> | File:Venn01.svg | <math>\Leftrightarrow</math> | File:Venn01.svg |
monotonicity: yes
<math>A \rightarrow B</math> | <math>\Rightarrow</math> | <math>(A \land C)</math> | <math>\rightarrow</math> | <math>(B \land C)</math> | ||
File:Venn 1011 1011.svg | <math>\Rightarrow</math> | File:Venn 1111 1011.svg | <math>\Leftrightarrow</math> | File:Venn 0000 0101.svg | <math>\rightarrow</math> | File:Venn 0000 0011.svg |
truth-preserving: yes
When all inputs are true, the output is true.
<math>A \land B</math> | <math>\Rightarrow</math> | <math>A \land B</math> |
File:Venn0001.svg | <math>\Rightarrow</math> | File:Venn0001.svg |
Template:Small |
falsehood-preserving: yes
When all inputs are false, the output is false.
<math>A \land B</math> | <math>\Rightarrow</math> | <math>A \lor B</math> |
File:Venn0001.svg | <math>\Rightarrow</math> | File:Venn0111.svg |
Template:Small |
Walsh spectrum: (1,-1,-1,1)
Nonlinearity: 1 (the function is bent)
If using binary values for true (1) and false (0), then logical conjunction works exactly like normal arithmetic multiplication.
Applications in computer engineeringTemplate:AnchorEdit
In high-level computer programming and digital electronics, logical conjunction is commonly represented by an infix operator, usually as a keyword such as "AND
", an algebraic multiplication, or the ampersand symbol &
(sometimes doubled as in &&
). Many languages also provide short-circuit control structures corresponding to logical conjunction.
Logical conjunction is often used for bitwise operations, where 0
corresponds to false and 1
to true:
0 AND 0
=0
,0 AND 1
=0
,1 AND 0
=0
,1 AND 1
=1
.
The operation can also be applied to two binary words viewed as bitstrings of equal length, by taking the bitwise AND of each pair of bits at corresponding positions. For example:
11000110 AND 10100011
=10000010
.
This can be used to select part of a bitstring using a bit mask. For example, 10011101 AND 00001000
= 00001000
extracts the fourth bit of an 8-bit bitstring.
In computer networking, bit masks are used to derive the network address of a subnet within an existing network from a given IP address, by ANDing the IP address and the subnet mask.
Logical conjunction "AND
" is also used in SQL operations to form database queries.
The Curry–Howard correspondence relates logical conjunction to product types.
Set-theoretic correspondenceEdit
The membership of an element of an intersection set in set theory is defined in terms of a logical conjunction: <math>x\in A\cap B</math> if and only if <math>(x\in A)\wedge (x\in B)</math>. Through this correspondence, set-theoretic intersection shares several properties with logical conjunction, such as associativity, commutativity and idempotence.
Natural languageEdit
As with other notions formalized in mathematical logic, the logical conjunction and is related to, but not the same as, the grammatical conjunction and in natural languages.
English "and" has properties not captured by logical conjunction. For example, "and" sometimes implies order having the sense of "then". For example, "They got married and had a child" in common discourse means that the marriage came before the child.
The word "and" can also imply a partition of a thing into parts, as "The American flag is red, white, and blue." Here, it is not meant that the flag is at once red, white, and blue, but rather that each color is a part of the flag.
See alsoEdit
- And-inverter graph
- AND gate
- Bitwise AND
- Boolean algebra
- Boolean conjunctive query
- Boolean domain
- Boolean function
- Boolean-valued function
- Conjunction/disjunction duality
- Conjunction elimination
- Conjunction (grammar)
- De Morgan's laws
- First-order logic
- Fréchet inequalities
- Homogeneity (linguistics)
- List of Boolean algebra topics
- Logical disjunction
- Logical graph
- Negation
- Operation
- Peano–Russell notation
- Propositional calculus
ReferencesEdit
External linksEdit
- Template:Springer
- Wolfram MathWorld: Conjunction
- {{#invoke:citation/CS1|citation
|CitationClass=web }}
Template:Logical connectives Template:Common logical symbols Template:Mathematical logic