# Associativity

﻿
Associativity

In mathematics, associativity is a property that a binary operation can have. It means that, within an expression containing two or more of the same associative operators in a row, the order that the operations occur does not matter as long as the sequence of the operands is not changed. That is, rearranging the parentheses in such an expression will not change its value. Consider for instance the equation

:$\left(5+2\right)+1=5+\left(2+1\right)=8 ,$

Even though the parentheses were rearranged, the value of the expression was not altered. Since this holds true when performing addition on any real numbers, we say that "addition of real numbers is an associative operation."

Associativity is not to be confused with commutativity. Commutativity justifies changing the order or sequence of the operands within an expression while associativity does not. For example,

:$\left(5+2\right)+1=5+\left(2+1\right) ,$

is an example of associativity because the parentheses were changed (and consequently the order of operations during evaluation) while the operands 5, 2, and 1 appeared in the exact same order from left to right in the expression.

:$\left(5+2\right)+1=\left(2+5\right)+1 ,$

is not an example of associativity because the operand sequence changed when the 2 and 5 switched places.

Associative operations are abundant in mathematics, and in fact most algebraic structures explicitly require their binary operations to be associative. However, many important and interesting operations are non-associative; one common example would be the vector cross product.

Definition

Formally, a binary operation $*!!!$ on a set "S" is called associative if it satisfies the associative law:

: $\left(x*y\right)*z=x*\left(y*z\right)qquadmbox\left\{for all \right\}x,y,zin S.$

The evaluation order does not affect the value of such expressions, and it can be shown that the same holds for expressions containing "any" number of $*!!!$ operations. Thus, when $*!!!$ is associative, the evaluation order can therefore be left unspecified without causing ambiguity, by omitting the parentheses and writing simply:

: $x*y*z.,$

However, it is important to remember that changing the order of operations does not involve or permit changing the actual operations themselves by moving the operands around within the expression.

Examples

Some examples of associative operations include the following.

* In arithmetic, addition and multiplication of real numbers are associative; i.e.,:: 

* Addition and multiplication of complex numbers and quaternions is 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.:: 

*Because linear transformations are functions that can be represented by matrices with matrix multiplication being the representation of functional composition, one can immediately conclude that matrix multiplication is associative.

* Taking the intersection or the union of sets::: 

left.egin{matrix}(Acap B)cap C=Acap(Bcap C)=Acap Bcap Cquad\(Acup B)cup C=Acup(Bcup C)=Acup Bcup Cquadend{matrix} ight}mbox{for all sets }A,B,C.

* If "M" is some set and "S" denotes the set of all functions from "M" to "M", then the operation of functional composition on "S" is associative:

:: $\left(fcirc g\right)circ h=fcirc\left(gcirc h\right)=fcirc gcirc hqquadmbox\left\{for all \right\}f,g,hin 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

:: $\left(fcirc g\right)circ h=fcirc\left(gcirc h\right)=fcirc gcirc 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. This mapping is not commutative.

Non-associativity

A binary operation $*$ on a set "S" that does not satisfy the associative law is called non-associative. Symbolically,

: $\left(x*y\right)*z e x*\left(y*z\right)qquadmbox\left\{for some \right\}x,y,zin S.$

For such an operation the order of evaluation "does" matter. Subtraction, division and exponentiation are well-known examples of non-associative operations:

: 

egin{matrix}(5-3)-2 e 5-(3-2)quad\(4/2)/2 e 4/(2/2)qquadqquad\2^{(1^2)} e (2^1)^2.quadqquadqquadend{matrix}In general, parentheses must be used to indicate the order of evaluation if a non-associative operation appears more than once in an expression. However, mathematicians agree on a particular order of evaluation for several common non-associative operations. This is simply a syntactical convention to avoid parentheses.

A left-associative operation is a non-associative operation that is conventionally evaluated from left to right, i.e.,

: 

: 

More examples

Left-associative operations include the following.

* Subtraction and division of real numbers::: $x-y-z=\left(x-y\right)-zqquadmbox\left\{for all \right\}x,y,zinmathbb\left\{R\right\};$:: $x/y/z=\left(x/y\right)/zqquadqquadquadmbox\left\{for all \right\}x,y,zinmathbb\left\{R\right\}mbox\left\{ with \right\}y e0,z e0.$

Right-associative operations include the following.

* Exponentiation of real numbers::: $x^\left\{y^z\right\}=x^\left\{\left(y^z\right)\right\}.,$

: The reason exponentiation is right-associative is that a repeated left-associative exponentiation operation would be less useful. Multiple appearances could (and would) be rewritten with multiplication:

:: $\left(x^y\right)^z=x^\left\{\left(yz\right)\right\}.,$

Non-associative operations for which no conventional evaluation order is defined include the following.

* Taking the pairwise average of real numbers::: $\left\{\left(x+y\right)/2+zover2\right\} e\left\{x+\left(y+z\right)/2over2\right\} e\left\{x+y+zover3\right\}qquadmbox\left\{for some \right\}x,y,zinmathbb\left\{R\right\}.$
* Taking the relative complement of sets:::

::

The green part in the left Venn diagram represents ("A""B")"C". The green part in the right Venn diagram represents "A"("B""C").

* Using right-associative notation for material conditional can be motivated e.g. by Curry-Howard correspondence: see e.g. comparison of the first two axioms of the Hilbert-style deduction system with basic combinators of combinatory logic.

* A semigroup is a set with a closed associative binary operation.
* Commutativity and distributivity are two other frequently discussed properties of binary operations.
* Power associativity and alternativity are weak forms of associativity.

Wikimedia Foundation. 2010.

### Look at other dictionaries:

• associativity — asociatyvumas statusas T sritis informatika apibrėžtis Operacijos savybė: rezultatas nekinta pakeitus iš eilės surašytų operacijų atlikimo tvarką. Asociatyvumas būdingas sudėčiai (a + (b + c) = (a + b) + c) ir daugybai (a × (b × c) = (a × b) × c) …   Enciklopedinis kompiuterijos žodynas

• associativity — noun see associative * * * associativity / ə tivˈ/ noun • • • Main Entry: ↑associate …   Useful english dictionary

• associativity — noun see associative …   New Collegiate Dictionary

• associativity — See associatively. * * * …   Universalium

• associativity — noun the condition of being associative …   Wiktionary

• associativity — n. association, coalition; associative behavior …   English contemporary dictionary

• associativity — as·so·ci·a·tiv·i·ty …   English syllables

• Operator associativity — For the mathematical concept of associativity, see Associativity. In programming languages and mathematical notation, the associativity (or fixity) of an operator is a property that determines how operators of the same precedence are grouped in… …   Wikipedia

• Power associativity — In abstract algebra, power associativity is a weak form of associativity.An algebra (or more generally a magma) is said to be power associative if the subalgebra generated by any element is associative.Concretely, this means that if an element x… …   Wikipedia

• Associative property — This article is about associativity in mathematics. For associativity in the central processor unit memory cache, see CPU cache. For associativity in programming languages, see operator associativity. In mathematics, associativity is a property… …   Wikipedia