In mathematics, the associative property is a property of some binary operations, which means that rearranging the parentheses in an expression will not change the result. In propositional logic, associativity is a valid rule of replacement for expressions in logical proofs.
Within an expression containing two or more occurrences in a row of the same associative operator, the order in which the operations are performed does not matter as long as the sequence of the operands is not changed. That is, (after rewriting the expression with parentheses and in infix notation if necessary) rearranging the parentheses in such an expression will not change its value. Consider the following equations:
:$(2\; +\; 3)\; +\; 4\; =\; 2\; +\; (3\; +\; 4)\; =\; 9\; \backslash ,$
:$2\; \backslash times\; (3\; \backslash times\; 4)\; =\; (2\; \backslash times\; 3)\; \backslash times\; 4\; =\; 24\; .$
Even though the parentheses were rearranged on each line, the values of the expressions were not altered. Since this holds true when performing addition and multiplication on any real numbers, it can be said that "addition and multiplication of real numbers are associative operations".
Associativity is not the same as commutativity, which addresses whether the order of two operands affects the result. For example, the order does not matter in the multiplication of real numbers, that is, , so we say that the multiplication of real numbers is a commutative operation. However, operations such as function composition and matrix multiplication are associative, but (generally) not commutative.
Associative operations are abundant in mathematics; in fact, many algebraic structures (such as semigroups and categories) explicitly require their binary operations to be associative.
However, many important and interesting operations are non-associative; some examples include subtraction, exponentiation, and the vector cross product. In contrast to the theoretical properties of real numbers, the addition of floating point numbers in computer science is not associative, and the choice of how to associate an expression can have a significant effect on rounding error.

** Definition **

Formally, a binary operation ∗ on a set ''S'' is called associative if it satisfies the associative law:
:(''x'' ∗ ''y'') ∗ ''z'' = ''x'' ∗ (''y'' ∗ ''z'') for all ''x'', ''y'', ''z'' in ''S''.
Here, ∗ is used to replace the symbol of the operation, which may be any symbol, and even the absence of symbol (juxtaposition) as for multiplication.
:(''xy'')''z'' = ''x''(''yz'') = ''xyz'' for all ''x'', ''y'', ''z'' in ''S''.
The associative law can also be expressed in functional notation thus: .

Generalized associative law

thumb|250px|In the absence of the associative property, five factors ''a, b, c, d, e'' result in a Tamari lattice of order four, possibly different products. If a binary operation is associative, repeated application of the operation produces the same result regardless of how valid pairs of parentheses are inserted in the expression. This is called the generalized associative law. For instance, a product of four elements may be written, without changing the order of the factors, in five possible ways: : $((ab)c)d$ : $(ab)(cd)$ : $(a(bc))d$ : $a((bc)d)$ : $a(b(cd))$ If the product operation is associative, the generalized associative law says that all these formulas will yield the same result. So unless the formula with omitted parentheses already has a different meaning (see below), the parentheses can be considered unnecessary and "the" product can be written unambiguously as :$abcd.$ As the number of elements increases, the number of possible ways to insert parentheses grows quickly, but they remain unnecessary for disambiguation. An example where this does not work is the logical biconditional $\backslash leftrightarrow$. It is associative, thus A$\backslash leftrightarrow$(B$\backslash leftrightarrow$C) is equivalent to (A$\backslash leftrightarrow$B)$\backslash leftrightarrow$C, but A$\backslash leftrightarrow$B$\backslash leftrightarrow$C most commonly means (A$\backslash leftrightarrow$B and B$\backslash leftrightarrow$C), which is not equivalent.

Examples

thumb|The addition of real numbers is associative. Some examples of associative operations include the following. * The concatenation of the three strings

** Propositional logic **

** Rule of replacement **

In standard truth-functional propositional logic, ''association'', or ''associativity'' are two valid rules of replacement. The rules allow one to move parentheses in logical expressions in logical proofs. The rules (using logical connectives notation) are:
:$(P\; \backslash lor\; (Q\; \backslash lor\; R))\; \backslash Leftrightarrow\; ((P\; \backslash lor\; Q)\; \backslash lor\; R)$
and
:$(P\; \backslash land\; (Q\; \backslash land\; R))\; \backslash Leftrightarrow\; ((P\; \backslash land\; Q)\; \backslash land\; R),$
where "$\backslash Leftrightarrow$" is a metalogical symbol representing "can be replaced in a proof with."

** Truth functional connectives **

''Associativity'' is a property of some logical connectives of truth-functional propositional logic. The following logical equivalences demonstrate that associativity is a property of particular connectives. The following are truth-functional tautologies.
Associativity of disjunction:
:$((P\; \backslash lor\; Q)\; \backslash lor\; R)\; \backslash leftrightarrow\; (P\; \backslash lor\; (Q\; \backslash lor\; R))$
:$(P\; \backslash lor\; (Q\; \backslash lor\; R))\; \backslash leftrightarrow\; ((P\; \backslash lor\; Q)\; \backslash lor\; R)$
Associativity of conjunction:
:$((P\; \backslash land\; Q)\; \backslash land\; R)\; \backslash leftrightarrow\; (P\; \backslash land\; (Q\; \backslash land\; R))$
:$(P\; \backslash land\; (Q\; \backslash land\; R))\; \backslash leftrightarrow\; ((P\; \backslash land\; Q)\; \backslash land\; R)$
Associativity of equivalence:
:$((P\; \backslash leftrightarrow\; Q)\; \backslash leftrightarrow\; R)\; \backslash leftrightarrow\; (P\; \backslash leftrightarrow\; (Q\; \backslash leftrightarrow\; R))$
:$(P\; \backslash leftrightarrow\; (Q\; \backslash leftrightarrow\; R))\; \backslash leftrightarrow\; ((P\; \backslash leftrightarrow\; Q)\; \backslash leftrightarrow\; R)$
Joint denial is an example of a truth functional connective that is ''not'' associative.

** Non-associative operation**

A binary operation $*$ on a set ''S'' that does not satisfy the associative law is called non-associative. Symbolically,
:$(x*y)*z\backslash ne\; x*(y*z)\backslash qquad\backslash mboxx,y,z\backslash in\; S.$
For such an operation the order of evaluation ''does'' matter. For example:
* Subtraction
:$(5-3)-2\; \backslash ,\; \backslash ne\; \backslash ,\; 5-(3-2)$
* Division
:$(4/2)/2\; \backslash ,\; \backslash ne\; \backslash ,\; 4/(2/2)$
* Exponentiation
:$2^\; \backslash ,\; \backslash ne\; \backslash ,\; (2^1)^2$
Also note that infinite sums are not generally associative, for example:
:$(1+-1)+(1+-1)+(1+-1)+(1+-1)+(1+-1)+(1+-1)+\backslash dots\; \backslash ,\; =\; \backslash ,\; 0$
whereas
:$1+(-1+1)+(-1+1)+(-1+1)+(-1+1)+(-1+1)+(-1+1)+\backslash dots\; \backslash ,\; =\; \backslash ,\; 1$
The study of non-associative structures arises from reasons somewhat different from the mainstream of classical algebra. One area within non-associative algebra that has grown very large is that of Lie algebras. There the associative law is replaced by the Jacobi identity. Lie algebras abstract the essential nature of infinitesimal transformations, and have become ubiquitous in mathematics.
There are other specific types of non-associative structures that have been studied in depth; these tend to come from some specific applications or areas such as combinatorial mathematics. Other examples are quasigroup, quasifield, non-associative ring, non-associative algebra and commutative non-associative magmas.

Nonassociativity of floating point calculation

In mathematics, addition and multiplication of real numbers is associative. By contrast, in computer science, the addition and multiplication of floating point numbers is ''not'' associative, as rounding errors are introduced when dissimilar-sized values are joined together. To illustrate this, consider a floating point representation with a 4-bit mantissa:

(1.000_{2}×2^{0} +
1.000_{2}×2^{0}) +
1.000_{2}×2^{4} =
1.000_{2}×2^{} +
1.000_{2}×2^{4} =
1.00_{2}×2^{4}

1.000_{2}×2^{0} +
(1.000_{2}×2^{0} +
1.000_{2}×2^{4}) =
1.000_{2}×2^{} +
1.000_{2}×2^{4} =
1.00_{2}×2^{4}
Even though most computers compute with a 24 or 53 bits of mantissa, this is an important source of rounding error, and approaches such as the Kahan summation algorithm are ways to minimise the errors. It can be especially problematic in parallel computing.

)

** Notation for non-associative operations **

In general, parentheses must be used to indicate the order of operations|order of evaluation if a non-associative operation appears more than once in an expression (unless the notation specifies the order in another way, like $\backslash dfrac$). However, mathematicians agree on a particular order of evaluation for several common non-associative operations. This is simply a notational convention to avoid parentheses.
A left-associative operation is a non-associative operation that is conventionally evaluated from left to right, i.e.,
:$\backslash left.\; \backslash begin\; x*y*z=(x*y)*z\backslash qquad\backslash qquad\backslash quad\backslash ,\; \backslash \backslash \; w*x*y*z=((w*x)*y)*z\backslash quad\; \backslash \backslash \; \backslash mbox\backslash qquad\backslash qquad\backslash qquad\backslash qquad\backslash qquad\backslash qquad\backslash \; \backslash \; \backslash ,\; \backslash end\; \backslash right\backslash \}\; \backslash mboxw,x,y,z\backslash in\; S$
while a right-associative operation is conventionally evaluated from right to left:
:$\backslash left.\; \backslash begin\; x*y*z=x*(y*z)\backslash qquad\backslash qquad\backslash quad\backslash ,\; \backslash \backslash \; w*x*y*z=w*(x*(y*z))\backslash quad\; \backslash \backslash \; \backslash mbox\backslash qquad\backslash qquad\backslash qquad\backslash qquad\backslash qquad\backslash qquad\backslash \; \backslash \; \backslash ,\; \backslash end\; \backslash right\backslash \}\; \backslash mboxw,x,y,z\backslash in\; S$
Both left-associative and right-associative operations occur. Left-associative operations include the following:
* Subtraction and division of real numbers:Virginia Department of Education

Using Order of Operations and Exploring Properties

section 9Bronstein: :de:Taschenbuch der Mathematik, pages 115-120, chapter: 2.4.1.1, ::$x-y-z=(x-y)-z$ ::$x/y/z=(x/y)/z$ * Function application: ::$(f\; \backslash ,\; x\; \backslash ,\; y)\; =\; ((f\; \backslash ,\; x)\; \backslash ,\; y)$ :This notation can be motivated by the currying isomorphism. Right-associative operations include the following: * Exponentiation of real numbers in superscript notation: ::$x^=x^$ :Exponentiation is commonly used with brackets or right-associatively because a repeated left-associative exponentiation operation is of little use. Repeated powers would mostly be rewritten with multiplication: ::$(x^y)^z=x^$ :Formatted correctly, the superscript inherently behaves as a set of parentheses; e.g. in the expression $2^$ the addition is performed before the exponentiation despite there being no explicit parentheses $2^$ wrapped around it. Thus given an expression such as $x^$, the full exponent $y^z$ of the base $x$ is evaluated first. However, in some contexts, especially in handwriting, the difference between $^z=(x^y)^z$, $x^=x^$ and $x^=x^$ can be hard to see. In such a case, right-associativity is usually implied. * Function definition ::$\backslash mathbb\; \backslash rarr\; \backslash mathbb\; \backslash rarr\; \backslash mathbb\; =\; \backslash mathbb\; \backslash rarr\; (\backslash mathbb\; \backslash rarr\; \backslash mathbb)$ ::$x\; \backslash mapsto\; y\; \backslash mapsto\; x\; -\; y\; =\; x\; \backslash mapsto\; (y\; \backslash mapsto\; x\; -\; y)$ :Using right-associative notation for these operations can be motivated by the Curry–Howard correspondence and by the currying isomorphism. Non-associative operations for which no conventional evaluation order is defined include the following. * Exponentiation of real numbers in infix notation:Exponentiation Associativity and Standard Math Notation

Codeplea. 23 August 2016. Retrieved 20 September 2016. ::$(x^\backslash wedge\; y)^\backslash wedge\; z\backslash ne\; x^\backslash wedge(y^\backslash wedge\; z)$ * Knuth's up-arrow operators: ::$a\; \backslash uparrow\; \backslash uparrow\; (b\; \backslash uparrow\; \backslash uparrow\; c)\; \backslash ne\; (a\; \backslash uparrow\; \backslash uparrow\; b)\; \backslash uparrow\; \backslash uparrow\; c$ ::$a\; \backslash uparrow\; \backslash uparrow\; \backslash uparrow\; (b\; \backslash uparrow\; \backslash uparrow\; \backslash uparrow\; c)\; \backslash ne\; (a\; \backslash uparrow\; \backslash uparrow\; \backslash uparrow\; b)\; \backslash uparrow\; \backslash uparrow\; \backslash uparrow\; c$ * Taking the cross product of three vectors: ::$\backslash vec\; a\; \backslash times\; (\backslash vec\; b\; \backslash times\; \backslash vec\; c)\; \backslash neq\; (\backslash vec\; a\; \backslash times\; \backslash vec\; b\; )\; \backslash times\; \backslash vec\; c\; \backslash qquad\; \backslash mbox\; \backslash vec\; a,\backslash vec\; b,\backslash vec\; c\; \backslash in\; \backslash mathbb^3$ * Taking the pairwise average of real numbers: ::$\backslash ne\; \backslash qquad\; \backslash mboxx,y,z\backslash in\backslash mathbb\; \backslash mboxx\backslash ne\; z.$ * Taking the relative complement of sets $(A\backslash backslash\; B)\backslash backslash\; C$ is not the same as $A\backslash backslash\; (B\backslash backslash\; C)$. (Compare material nonimplication in logic.)

See also

* Light's associativity test * Telescoping series, the use of addition associativity for cancelling terms in an infinite series * A semigroup is a set with an associative binary operation. * Commutativity and distributivity are two other frequently discussed properties of binary operations. * Power associativity, alternativity, flexibility and N-ary associativity are weak forms of associativity. * Moufang identities also provide a weak form of associativity.

References

{{reflist Category:Properties of binary operations Category:Elementary algebra Category:Functional analysis Category:Rules of inference

Generalized associative law

thumb|250px|In the absence of the associative property, five factors ''a, b, c, d, e'' result in a Tamari lattice of order four, possibly different products. If a binary operation is associative, repeated application of the operation produces the same result regardless of how valid pairs of parentheses are inserted in the expression. This is called the generalized associative law. For instance, a product of four elements may be written, without changing the order of the factors, in five possible ways: : $((ab)c)d$ : $(ab)(cd)$ : $(a(bc))d$ : $a((bc)d)$ : $a(b(cd))$ If the product operation is associative, the generalized associative law says that all these formulas will yield the same result. So unless the formula with omitted parentheses already has a different meaning (see below), the parentheses can be considered unnecessary and "the" product can be written unambiguously as :$abcd.$ As the number of elements increases, the number of possible ways to insert parentheses grows quickly, but they remain unnecessary for disambiguation. An example where this does not work is the logical biconditional $\backslash leftrightarrow$. It is associative, thus A$\backslash leftrightarrow$(B$\backslash leftrightarrow$C) is equivalent to (A$\backslash leftrightarrow$B)$\backslash leftrightarrow$C, but A$\backslash leftrightarrow$B$\backslash leftrightarrow$C most commonly means (A$\backslash leftrightarrow$B and B$\backslash leftrightarrow$C), which is not equivalent.

Examples

thumb|The addition of real numbers is associative. Some examples of associative operations include the following. * The concatenation of the three strings

`"hello"`

, `" "`

, `"world"`

can be computed by concatenating the first two strings (giving `"hello "`

) and appending the third string (`"world"`

), or by joining the second and third string (giving `" world"`

) and concatenating the first string (`"hello"`

) with the result. The two methods produce the same result; string concatenation is associative (but not commutative).
* In arithmetic, addition and multiplication of real numbers are associative; i.e.,
:: $\backslash left.\; \backslash begin\; (x+y)+z=x+(y+z)=x+y+z\backslash quad\; \backslash \backslash \; (x\backslash ,y)z=x(y\backslash ,z)=x\backslash ,y\backslash ,z\backslash qquad\backslash qquad\backslash qquad\backslash quad\backslash \; \backslash \; \backslash ,\; \backslash end\; \backslash right\backslash \}\; \backslash mboxx,y,z\backslash in\backslash mathbb.$
:Because of associativity, the grouping parentheses can be omitted without ambiguity.
* The trivial operation (that is, the result is the first argument, no matter what the second argument is) is associative but not commutative. Likewise, the trivial operation (that is, the result is the second argument, no matter what the first argument is) is associative but not commutative.
* Addition and multiplication of complex numbers and quaternions are associative. Addition of octonions is also associative, but multiplication of octonions is non-associative.
* The greatest common divisor and least common multiple functions act associatively.
:: $\backslash left.\; \backslash begin\; \backslash operatorname(\backslash operatorname(x,y),z)=\; \backslash operatorname(x,\backslash operatorname(y,z))=\; \backslash operatorname(x,y,z)\backslash \; \backslash quad\; \backslash \backslash \; \backslash operatorname(\backslash operatorname(x,y),z)=\; \backslash operatorname(x,\backslash operatorname(y,z))=\; \backslash operatorname(x,y,z)\backslash quad\; \backslash end\; \backslash right\backslash \}\backslash mboxx,y,z\backslash in\backslash mathbb.$
* Taking the intersection or the union of sets:
:: $\backslash left.\; \backslash begin\; (A\backslash cap\; B)\backslash cap\; C=A\backslash cap(B\backslash cap\; C)=A\backslash cap\; B\backslash cap\; C\backslash quad\; \backslash \backslash \; (A\backslash cup\; B)\backslash cup\; C=A\backslash cup(B\backslash cup\; C)=A\backslash cup\; B\backslash cup\; C\backslash quad\; \backslash end\; \backslash right\backslash \}\backslash mboxA,B,C.$
* If ''M'' is some set and ''S'' denotes the set of all functions from ''M'' to ''M'', then the operation of function composition on ''S'' is associative:
:: $(f\backslash circ\; g)\backslash circ\; h=f\backslash circ(g\backslash circ\; h)=f\backslash circ\; g\backslash circ\; h\backslash qquad\backslash mboxf,g,h\backslash in\; S.$
* Slightly more generally, given four sets ''M'', ''N'', ''P'' and ''Q'', with ''h'': ''M'' to ''N'', ''g'': ''N'' to ''P'', and ''f'': ''P'' to ''Q'', then
:: $(f\backslash circ\; g)\backslash circ\; h=f\backslash circ(g\backslash circ\; h)=f\backslash circ\; g\backslash circ\; h$
: as before. In short, composition of maps is always associative.
* Consider a set with three elements, A, B, and C. The following operation:
:
:is associative. Thus, for example, A(BC)=(AB)C = A. This operation is not commutative.
* Because matrices represent linear functions, and matrix multiplication represents function composition, one can immediately conclude that matrix multiplication is associative.
Nonassociativity of floating point calculation

In mathematics, addition and multiplication of real numbers is associative. By contrast, in computer science, the addition and multiplication of floating point numbers is ''not'' associative, as rounding errors are introduced when dissimilar-sized values are joined together. To illustrate this, consider a floating point representation with a 4-bit mantissa:

(1.000

1.000

)

Using Order of Operations and Exploring Properties

section 9Bronstein: :de:Taschenbuch der Mathematik, pages 115-120, chapter: 2.4.1.1, ::$x-y-z=(x-y)-z$ ::$x/y/z=(x/y)/z$ * Function application: ::$(f\; \backslash ,\; x\; \backslash ,\; y)\; =\; ((f\; \backslash ,\; x)\; \backslash ,\; y)$ :This notation can be motivated by the currying isomorphism. Right-associative operations include the following: * Exponentiation of real numbers in superscript notation: ::$x^=x^$ :Exponentiation is commonly used with brackets or right-associatively because a repeated left-associative exponentiation operation is of little use. Repeated powers would mostly be rewritten with multiplication: ::$(x^y)^z=x^$ :Formatted correctly, the superscript inherently behaves as a set of parentheses; e.g. in the expression $2^$ the addition is performed before the exponentiation despite there being no explicit parentheses $2^$ wrapped around it. Thus given an expression such as $x^$, the full exponent $y^z$ of the base $x$ is evaluated first. However, in some contexts, especially in handwriting, the difference between $^z=(x^y)^z$, $x^=x^$ and $x^=x^$ can be hard to see. In such a case, right-associativity is usually implied. * Function definition ::$\backslash mathbb\; \backslash rarr\; \backslash mathbb\; \backslash rarr\; \backslash mathbb\; =\; \backslash mathbb\; \backslash rarr\; (\backslash mathbb\; \backslash rarr\; \backslash mathbb)$ ::$x\; \backslash mapsto\; y\; \backslash mapsto\; x\; -\; y\; =\; x\; \backslash mapsto\; (y\; \backslash mapsto\; x\; -\; y)$ :Using right-associative notation for these operations can be motivated by the Curry–Howard correspondence and by the currying isomorphism. Non-associative operations for which no conventional evaluation order is defined include the following. * Exponentiation of real numbers in infix notation:Exponentiation Associativity and Standard Math Notation

Codeplea. 23 August 2016. Retrieved 20 September 2016. ::$(x^\backslash wedge\; y)^\backslash wedge\; z\backslash ne\; x^\backslash wedge(y^\backslash wedge\; z)$ * Knuth's up-arrow operators: ::$a\; \backslash uparrow\; \backslash uparrow\; (b\; \backslash uparrow\; \backslash uparrow\; c)\; \backslash ne\; (a\; \backslash uparrow\; \backslash uparrow\; b)\; \backslash uparrow\; \backslash uparrow\; c$ ::$a\; \backslash uparrow\; \backslash uparrow\; \backslash uparrow\; (b\; \backslash uparrow\; \backslash uparrow\; \backslash uparrow\; c)\; \backslash ne\; (a\; \backslash uparrow\; \backslash uparrow\; \backslash uparrow\; b)\; \backslash uparrow\; \backslash uparrow\; \backslash uparrow\; c$ * Taking the cross product of three vectors: ::$\backslash vec\; a\; \backslash times\; (\backslash vec\; b\; \backslash times\; \backslash vec\; c)\; \backslash neq\; (\backslash vec\; a\; \backslash times\; \backslash vec\; b\; )\; \backslash times\; \backslash vec\; c\; \backslash qquad\; \backslash mbox\; \backslash vec\; a,\backslash vec\; b,\backslash vec\; c\; \backslash in\; \backslash mathbb^3$ * Taking the pairwise average of real numbers: ::$\backslash ne\; \backslash qquad\; \backslash mboxx,y,z\backslash in\backslash mathbb\; \backslash mboxx\backslash ne\; z.$ * Taking the relative complement of sets $(A\backslash backslash\; B)\backslash backslash\; C$ is not the same as $A\backslash backslash\; (B\backslash backslash\; C)$. (Compare material nonimplication in logic.)

See also

* Light's associativity test * Telescoping series, the use of addition associativity for cancelling terms in an infinite series * A semigroup is a set with an associative binary operation. * Commutativity and distributivity are two other frequently discussed properties of binary operations. * Power associativity, alternativity, flexibility and N-ary associativity are weak forms of associativity. * Moufang identities also provide a weak form of associativity.

References

{{reflist Category:Properties of binary operations Category:Elementary algebra Category:Functional analysis Category:Rules of inference