In mathematics, an **iterated binary operation** is an extension of a binary operation on a set *S* to a function on finite sequences of elements of *S* through repeated application.^{[1]} Common examples include the extension of the addition operation to the summation operation, and the extension of the multiplication operation to the product operation. Other operations, e.g., the set-theoretic operations union and intersection, are also often iterated, but the iterations are not given separate names. In print, summation and product are represented by special symbols; but other iterated operators often are denoted by larger variants of the symbol for the ordinary binary operator. Thus, the iterations of the four operations mentioned above are denoted

- and , respectively.

More generally, iteration of a binary function is generally denoted by a slash: iteration of over the sequence is denoted by , following the notation for reduce in Bird–Meertens formalism.

In general, there is more than one way to extend a binary operation to operate on finite sequences, depending on whether the operator is associative, and whether the operator has identity elements.

Denote by **a**_{j,k}, with *j* ≥ 0 and *k* ≥ *j*, the finite sequence of length *k* − *j* of elements of *S*, with members (*a*_{i}), for *j* ≤ *i* < *k*. Note that if *k* = *j*, the sequence is empty.

For *f* : *S* × *S*, define a new function *F*_{l} on finite nonempty sequences of elements of *S*, where

Similarly, define

If *f* has a unique left identity *e*, the definition of *F*_{l} can be modified to operate on empty sequences by defining the value of *F*_{l} on an empty sequence to be *e* (the previous base case on sequences of length 1 becomes redundant). Similarly, *F*_{r} can be modified to operate on empty sequences if *f* has a unique right identity.

If *f* is associative, then *F*_{l} equals *F*_{r}, and we can simply write *F*. Moreover, if an identity element *e* exists, then it is unique (see Monoid).

If *f* is commutative and associative, then *F* can operate on any non-empty finite multiset by applying it to an arbitrary enumeration of the multiset. If *f* moreover has an identity element *e*, then this is defined to be the value of *F* on an empty multiset. If *f* is idempotent, then the above definitions can be extended to finite sets.

If *S* also is equipped with a metric or more generally with topology that is Hausdorff, so that the concept of a limit of a sequence is defined in *S*, then an *infinite iteration* on a countable sequence in *S* is defined exactly when the corresponding sequence of finite iterations converges. Thus, e.g., if *a*_{0}, *a*_{1}, *a*_{2}, *a*_{3}, … is an infinite sequence of real numbers, then the infinite product is defined, and equal to if and only if that limit exists.

The general, non-associative binary operation is given by a magma. The act of iterating on a non-associative binary operation may be represented as a binary tree.

Iterated binary operations are used to represent an operation that will be repeated over a set subject to some constraints. Typically the lower bound of a restriction is written under the symbol, and the upper bound over the symbol, though they may also be written as superscripts and subscripts in compact notation. Interpolation is performed over positive integers from the lower to upper bound, to produce the set which will be substituted into the index (below denoted as *i* ) for the repeated operations.

Common notations include the big **S**igma (repeated **s**um) and big **P**i (repeated **p**roduct) notations.

It is possible to specify set membership or other logical constraints in place of explicit indices, in order to implicitly specify which elements of a set shall be used:

Multiple conditions may be written either joined with a logical and or separately:

Less commonly, any binary operator such as exclusive or () or set union () may also be used.^{[2]} For example, if *S* is a set of logical propositions:

which is true iff all of the elements of *S* are true.