Idempotence

From Citizendium
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This article is developing and not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

In mathematics and computer science idempotence is the property of an operation that repeated application has no further effect.

In mathematics

A binary operation is idempotent if

for all x:

equivalently, every element is an idempotent element for .

Examples of idempotent binary operations include join and meet in a lattice; union and intersection on sets; disjunction and conjunction in propositional logic.

A unary operation (a function from a set to itself) π is idempotent if it is an idempotent element for function composition, .

In computing

In applications such as databases and transaction processing, idempotent operations are those for which the intended effect is that repeated application should have no effect, such as inserting a record into a file, an element into a set, or sending a message. Implementations must therefore be constructed in such a way that the intended effect is actually carried into practice. For example, messages might have unique sequence numbers with duplicates being discarded on receipt; a set might be implemented as a bit vector, and member insertion implemented by an idempotent mathematical operation such as inclusive or with a bit mask.

When a particular unit of work (i.e., transaction), has the idempotent property, relaxation of the ACID properties usually required for reliable transaction processing, can be relaxed.