Associative property























In mathematics, the associative property[1] is a property of some binary operations. 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, rearranging the parentheses in such an expression will not change its value. Consider the following equations:


(2+3)+4=2+(3+4)=9{displaystyle (2+3)+4=2+(3+4)=9,}(2+3)+4=2+(3+4)=9,

(3×4)=(2×3)×4=24.{displaystyle 2times (3times 4)=(2times 3)times 4=24.}2times (3times 4)=(2times 3)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 or not the order of two operands changes the result. For example, the order does not matter in the multiplication of real numbers, that is, a × b = b × a, so we say that the multiplication of real numbers is a commutative operation.


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.




Contents






  • 1 Definition


  • 2 Generalized associative law


  • 3 Examples


  • 4 Propositional logic


    • 4.1 Rule of replacement


    • 4.2 Truth functional connectives




  • 5 Non-associative operation


    • 5.1 Nonassociativity of floating point calculation


    • 5.2 Notation for non-associative operations




  • 6 See also


  • 7 References





Definition




A binary operation ∗ on the set S is associative when this diagram commutes. That is, when the two paths from S×S×S to S compose to the same function from S×S×S to S.


Formally, a binary operation ∗ on a set S is called associative if it satisfies the associative law:


(xy) ∗ z = x ∗ (yz) 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: f(f(x, y), z) = f(x, f(y, z)).



Generalized associative law




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 how valid pairs of parenthesis are inserted in the expression.[2] This is called the generalized associative law. For instance, a product of four elements may be written in five possible ways:



  1. ((ab)c)d

  2. (ab)(cd)

  3. (a(bc))d

  4. a((bc)d)

  5. a(b(cd))


If the product operation is associative, the generalized associative law says that all these formulas will yield the same result, making the parenthesis unnecessary. Thus "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.



Examples




In associative operations is (x∘y)∘z=x∘(y∘z){displaystyle (xcirc y)circ z=xcirc (ycirc z)}{displaystyle (xcirc y)circ z=xcirc (ycirc z)}.




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.,



(x+y)+z=x+(y+z)=x+y+z(xy)z=x(yz)=xyz  }for all x,y,z∈R.{displaystyle left.{begin{matrix}(x+y)+z=x+(y+z)=x+y+zquad \(x,y)z=x(y,z)=x,y,zqquad qquad qquad quad ,end{matrix}}right}{mbox{for all }}x,y,zin mathbb {R} .}left.{begin{matrix}(x+y)+z=x+(y+z)=x+y+zquad \(x,y)z=x(y,z)=x,y,zqquad qquad qquad quad   ,end{matrix}}right}{mbox{for all }}x,y,zin mathbb {R} .

Because of associativity, the grouping parentheses can be omitted without ambiguity.



  • The trivial operation xy = x (that is, the result is the first argument, no matter what the second argument is) is associative but not commutative. Likewise, the trivial operation xy = y (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.


gcd⁡(gcd⁡(x,y),z)=gcd⁡(x,gcd⁡(y,z))=gcd⁡(x,y,z) lcm⁡(lcm⁡(x,y),z)=lcm⁡(x,lcm⁡(y,z))=lcm⁡(x,y,z)} for all x,y,z∈Z.{displaystyle left.{begin{matrix}operatorname {gcd} (operatorname {gcd} (x,y),z)=operatorname {gcd} (x,operatorname {gcd} (y,z))=operatorname {gcd} (x,y,z) quad \operatorname {lcm} (operatorname {lcm} (x,y),z)=operatorname {lcm} (x,operatorname {lcm} (y,z))=operatorname {lcm} (x,y,z)quad end{matrix}}right}{mbox{ for all }}x,y,zin mathbb {Z} .}left.{begin{matrix}operatorname {gcd} (operatorname {gcd} (x,y),z)=operatorname {gcd} (x,operatorname {gcd} (y,z))=operatorname {gcd} (x,y,z) quad \operatorname {lcm} (operatorname {lcm} (x,y),z)=operatorname {lcm} (x,operatorname {lcm} (y,z))=operatorname {lcm} (x,y,z)quad end{matrix}}right}{mbox{ for all }}x,y,zin mathbb {Z} .

  • Taking the intersection or the union of sets:

(A∩B)∩C=A∩(B∩C)=A∩B∩C(A∪B)∪C=A∪(B∪C)=A∪B∪C}for all sets A,B,C.{displaystyle left.{begin{matrix}(Acap B)cap C=Acap (Bcap C)=Acap Bcap Cquad \(Acup B)cup C=Acup (Bcup C)=Acup Bcup Cquad end{matrix}}right}{mbox{for all sets }}A,B,C.}left.{begin{matrix}(Acap B)cap C=Acap (Bcap C)=Acap Bcap Cquad \(Acup B)cup C=Acup (Bcup C)=Acup Bcup Cquad end{matrix}}right}{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 function composition on S is associative:

(f∘g)∘h=f∘(g∘h)=f∘g∘hfor all f,g,h∈S.{displaystyle (fcirc g)circ h=fcirc (gcirc h)=fcirc gcirc hqquad {mbox{for all }}f,g,hin S.}(fcirc g)circ h=fcirc (gcirc h)=fcirc gcirc hqquad {mbox{for all }}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

(f∘g)∘h=f∘(g∘h)=f∘g∘h{displaystyle (fcirc g)circ h=fcirc (gcirc h)=fcirc gcirc h}(fcirc g)circ h=fcirc (gcirc h)=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:


























× A B C
A
A A A
B
A B C
C
A A A

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. [3]


Propositional logic



Rule of replacement


In standard truth-functional propositional logic, association,[4][5] or associativity[6] 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∨(Q∨R))⇔((P∨Q)∨R){displaystyle (Plor (Qlor R))Leftrightarrow ((Plor Q)lor R)}{displaystyle (Plor (Qlor R))Leftrightarrow ((Plor Q)lor R)}

and


(P∧(Q∧R))⇔((P∧Q)∧R),{displaystyle (Pland (Qland R))Leftrightarrow ((Pland Q)land R),}{displaystyle (Pland (Qland R))Leftrightarrow ((Pland Q)land R),}

where "{displaystyle Leftrightarrow }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∨Q)∨R)↔(P∨(Q∨R)){displaystyle ((Plor Q)lor R)leftrightarrow (Plor (Qlor R))}{displaystyle ((Plor Q)lor R)leftrightarrow (Plor (Qlor R))}

(P∨(Q∨R))↔((P∨Q)∨R){displaystyle (Plor (Qlor R))leftrightarrow ((Plor Q)lor R)}{displaystyle (Plor (Qlor R))leftrightarrow ((Plor Q)lor R)}


Associativity of conjunction:



((P∧Q)∧R)↔(P∧(Q∧R)){displaystyle ((Pland Q)land R)leftrightarrow (Pland (Qland R))}{displaystyle ((Pland Q)land R)leftrightarrow (Pland (Qland R))}

(P∧(Q∧R))↔((P∧Q)∧R){displaystyle (Pland (Qland R))leftrightarrow ((Pland Q)land R)}{displaystyle (Pland (Qland R))leftrightarrow ((Pland Q)land R)}


Associativity of equivalence:



((P↔Q)↔R)↔(P↔(Q↔R)){displaystyle ((Pleftrightarrow Q)leftrightarrow R)leftrightarrow (Pleftrightarrow (Qleftrightarrow R))}((Pleftrightarrow Q)leftrightarrow R)leftrightarrow (Pleftrightarrow (Qleftrightarrow R))

(P↔(Q↔R))↔((P↔Q)↔R){displaystyle (Pleftrightarrow (Qleftrightarrow R))leftrightarrow ((Pleftrightarrow Q)leftrightarrow R)}(Pleftrightarrow (Qleftrightarrow R))leftrightarrow ((Pleftrightarrow Q)leftrightarrow R)


Joint denial is an example of a truth functional connective that is not associative.



Non-associative operation


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


(x∗y)∗z≠x∗(y∗z)for some x,y,z∈S.{displaystyle (x*y)*zneq x*(y*z)qquad {mbox{for some }}x,y,zin S.}(x*y)*zneq x*(y*z)qquad {mbox{for some }}x,y,zin S.

For such an operation the order of evaluation does matter. For example:


  • Subtraction

(5−3)−2≠5−(3−2){displaystyle (5-3)-2,neq ,5-(3-2)}(5-3)-2,neq ,5-(3-2)

  • Division

(4/2)/2≠4/(2/2){displaystyle (4/2)/2,neq ,4/(2/2)}(4/2)/2,neq ,4/(2/2)

  • Exponentiation

2(12)≠(21)2{displaystyle 2^{(1^{2})},neq ,(2^{1})^{2}}2^{(1^{2})},neq ,(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)+…=0{displaystyle (1+-1)+(1+-1)+(1+-1)+(1+-1)+(1+-1)+(1+-1)+dots ,=,0}{displaystyle (1+-1)+(1+-1)+(1+-1)+(1+-1)+(1+-1)+(1+-1)+dots ,=,0}

whereas


1+(−1+1)+(−1+1)+(−1+1)+(−1+1)+(−1+1)+(−1+1)+…=1{displaystyle 1+(-1+1)+(-1+1)+(-1+1)+(-1+1)+(-1+1)+(-1+1)+dots ,=,1}{displaystyle 1+(-1+1)+(-1+1)+(-1+1)+(-1+1)+(-1+1)+(-1+1)+dots ,=,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.[7]


To illustrate this, consider a floating point representation with a 4-bit mantissa:

(1.0002×20 +
1.0002×20) +
1.0002×24 =
1.0002×21 +
1.0002×24 =
1.0012×24
1.0002×20 +
(1.0002×20 +
1.0002×24) =
1.0002×20 +
1.0002×24 =
1.0002×24


Even though most computers compute with a 24 or 53 bits of mantissa,[8] 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.[9][10]



Notation for non-associative operations



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 notational convention to avoid parentheses.


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


x∗y∗z=(x∗y)∗zw∗x∗y∗z=((w∗x)∗y)∗zetc.  }for all w,x,y,z∈S{displaystyle left.{begin{matrix}x*y*z=(x*y)*zqquad qquad quad ,\w*x*y*z=((w*x)*y)*zquad \{mbox{etc.}}qquad qquad qquad qquad qquad qquad ,end{matrix}}right}{mbox{for all }}w,x,y,zin S}left.{begin{matrix}x*y*z=(x*y)*zqquad qquad quad ,\w*x*y*z=((w*x)*y)*zquad \{mbox{etc.}}qquad qquad qquad qquad qquad qquad   ,end{matrix}}right}{mbox{for all }}w,x,y,zin S

while a right-associative operation is conventionally evaluated from right to left:


x∗y∗z=x∗(y∗z)w∗x∗y∗z=w∗(x∗(y∗z))etc.  }for all w,x,y,z∈S{displaystyle left.{begin{matrix}x*y*z=x*(y*z)qquad qquad quad ,\w*x*y*z=w*(x*(y*z))quad \{mbox{etc.}}qquad qquad qquad qquad qquad qquad ,end{matrix}}right}{mbox{for all }}w,x,y,zin S}left.{begin{matrix}x*y*z=x*(y*z)qquad qquad quad ,\w*x*y*z=w*(x*(y*z))quad \{mbox{etc.}}qquad qquad qquad qquad qquad qquad   ,end{matrix}}right}{mbox{for all }}w,x,y,zin S

Both left-associative and right-associative operations occur. Left-associative operations include the following:


  • Subtraction and division of real numbers:[11][12][13][14][15]


x−y−z=(x−y)−z{displaystyle x-y-z=(x-y)-z}{displaystyle x-y-z=(x-y)-z}

x/y/z=(x/y)/z{displaystyle x/y/z=(x/y)/z}{displaystyle x/y/z=(x/y)/z}


  • Function application:


(fxy)=((fx)y){displaystyle (f,x,y)=((f,x),y)}(f,x,y)=((f,x),y)

This notation can be motivated by the currying isomorphism.


Right-associative operations include the following:



  • Exponentiation of real numbers:

xyz=x(yz){displaystyle x^{y^{z}}=x^{(y^{z})}}{displaystyle x^{y^{z}}=x^{(y^{z})}}

One 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:

(xy)z=x(yz){displaystyle (x^{y})^{z}=x^{(yz)}}{displaystyle (x^{y})^{z}=x^{(yz)}}

An additional argument for exponentiation being right-associative is that the superscript inherently behaves as a set of parentheses; e.g. in the expression 2x+3{displaystyle 2^{x+3}}{displaystyle 2^{x+3}} the addition is performed before the exponentiation despite there being no explicit parentheses 2(x+3){displaystyle 2^{(x+3)}}{displaystyle 2^{(x+3)}} wrapped around it. Thus given an expression such as xyz{displaystyle x^{y^{z}}}x^{y^z}, it makes sense to require evaluating the full exponent yz{displaystyle y^{z}}{displaystyle y^{z}} of the base x{displaystyle x}x first.


  • Tetration via the up-arrow operator:

a↑b=ba{displaystyle auparrow uparrow b=,^{b}a}auparrow uparrow b=,^{b}a

  • Function definition


Z→Z→Z=Z→(Z→Z){displaystyle mathbb {Z} rightarrow mathbb {Z} rightarrow mathbb {Z} =mathbb {Z} rightarrow (mathbb {Z} rightarrow mathbb {Z} )}mathbb {Z} rightarrow mathbb {Z} rightarrow mathbb {Z} =mathbb {Z} rightarrow (mathbb {Z} rightarrow mathbb {Z} )

x↦y↦x−y=x↦(y↦x−y){displaystyle xmapsto ymapsto x-y=xmapsto (ymapsto x-y)}xmapsto ymapsto x-y=xmapsto (ymapsto 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.


  • Taking the cross product of three vectors:

a→×(b→×c→)≠(a→×b→c→ for some a→,b→,c→R3{displaystyle {vec {a}}times ({vec {b}}times {vec {c}})neq ({vec {a}}times {vec {b}})times {vec {c}}qquad {mbox{ for some }}{vec {a}},{vec {b}},{vec {c}}in mathbb {R} ^{3}}{vec {a}}times ({vec {b}}times {vec {c}})neq ({vec {a}}times {vec {b}})times {vec {c}}qquad {mbox{ for some }}{vec {a}},{vec {b}},{vec {c}}in mathbb {R} ^{3}

  • Taking the pairwise average of real numbers:

(x+y)/2+z2≠x+(y+z)/22for all x,y,z∈R with x≠z.{displaystyle {(x+y)/2+z over 2}neq {x+(y+z)/2 over 2}qquad {mbox{for all }}x,y,zin mathbb {R} {mbox{ with }}xneq z.}{(x+y)/2+z over 2}neq {x+(y+z)/2 over 2}qquad {mbox{for all }}x,y,zin mathbb {R} {mbox{ with }}xneq z.

  • Taking the relative complement of sets (A∖B)∖C{displaystyle (Abackslash B)backslash C}(Abackslash B)backslash C is not the same as A∖(B∖C){displaystyle Abackslash (Bbackslash C)}Abackslash (Bbackslash C). (Compare material nonimplication in logic.)


See also







  • Light's associativity test

  • 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, alternativity, flexibility and N-ary associativity are weak forms of associativity.


  • Moufang identities also provide a weak form of associativity.



References





  1. ^
    Hungerford, Thomas W. (1974). Algebra (1st ed.). Springer. p. 24. ISBN 0387905189. Definition 1.1 (i) a(bc) = (ab)c for all a, b, c in G..mw-parser-output cite.citation{font-style:inherit}.mw-parser-output q{quotes:"""""""'""'"}.mw-parser-output code.cs1-code{color:inherit;background:inherit;border:inherit;padding:inherit}.mw-parser-output .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/6/65/Lock-green.svg/9px-Lock-green.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .cs1-lock-limited a,.mw-parser-output .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Lock-gray-alt-2.svg/9px-Lock-gray-alt-2.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Lock-red-alt-2.svg/9px-Lock-red-alt-2.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration{color:#555}.mw-parser-output .cs1-subscription span,.mw-parser-output .cs1-registration span{border-bottom:1px dotted;cursor:help}.mw-parser-output .cs1-hidden-error{display:none;font-size:100%}.mw-parser-output .cs1-visible-error{font-size:100%}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration,.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left,.mw-parser-output .cs1-kern-wl-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right,.mw-parser-output .cs1-kern-wl-right{padding-right:0.2em}



  2. ^ Durbin, John R. (1992). Modern Algebra: an Introduction (3rd ed.). New York: Wiley. p. 78. ISBN 0-471-51001-7. If a1,a2,…,an(n≥2){displaystyle a_{1},a_{2},dots ,a_{n},,(ngeq 2)}a_{1},a_{2},dots ,a_{n},,(ngeq 2) are elements of a set with an associative operation, then the product a1a2…an{displaystyle a_{1}a_{2}dots a_{n}}a_{1}a_{2}dots a_{n} is unambiguous; this is, the same element will be obtained regardless of how parentheses are inserted in the product


  3. ^ "Matrix product associativity". Khan Academy. Retrieved 5 June 2016.


  4. ^ Moore and Parker[full citation needed]


  5. ^ Copi and Cohen[full citation needed]


  6. ^ Hurley[full citation needed]


  7. ^ Knuth, Donald, The Art of Computer Programming, Volume 3, section 4.2.2


  8. ^ IEEE Computer Society (August 29, 2008). "IEEE Standard for Floating-Point Arithmetic". IEEE. doi:10.1109/IEEESTD.2008.4610935. ISBN 978-0-7381-5753-5. IEEE Std 754-2008.


  9. ^ Villa, Oreste; Chavarría-mir, Daniel; Gurumoorthi, Vidhya; Márquez, Andrés; Krishnamoorthy, Sriram, Effects of Floating-Point non-Associativity on Numerical Computations on Massively Multithreaded Systems (PDF), retrieved 2014-04-08


  10. ^ Goldberg, David (March 1991). "What Every Computer Scientist Should Know About Floating-Point Arithmetic" (PDF). ACM Computing Surveys. 23 (1): 5–48. doi:10.1145/103162.103163. Retrieved 2016-01-20. ([1], [2])


  11. ^ George Mark Bergman: Order of arithmetic operations


  12. ^ Education Place: The Order of Operations


  13. ^ Khan Academy: The Order of Operations, timestamp 5m40s


  14. ^ Virginia Department of Education: Using Order of Operations and Exploring Properties, section 9


  15. ^ Bronstein: de:Taschenbuch der Mathematik, pages 115-120, chapter: 2.4.1.1,
    ISBN 978-3-8085-5673-3










這個網誌中的熱門文章

Xamarin.form Move up view when keyboard appear

Post-Redirect-Get with Spring WebFlux and Thymeleaf

Anylogic : not able to use stopDelay()