# Binary operation

A **binary operation** on a set *S* is a mapping *f* from the Cartesian product *S × S* to *S*. A mapping from *K x S* to *S*, where *K *need not be *S*, is **external binary operation**.

Many binary operations are *f(a,b) = f(b,a)* holds for all *a, b* in *S*) or associative (i.e. *f(f(a,b), c) = f(a, f(b,c))* holds for all *a,b,c* in *S*). Many also have identity elements and inverse elements. Typical

Examples of binary operations that are not commutative are

Binary operations are often written using infix notation such as *a * b*, *a + b*, or *a · b* rather than by functional notation of the form *f(a,b)*. Sometimes they are even written just by concatenation: *ab*.