where P is a statement that can be true or false. This notation was introduced by Kenneth E. Iverson in his programming language APL, while the specific restriction to square brackets was advocated by Donald Knuth to avoid ambiguity in parenthesized logical expressions.
The Iverson bracket converts a Boolean value to an integer value through the natural map , which allows counting to be represented as summation. For instance, the Euler phi function that counts the number of positive integers up to n which are coprime to n can be expressed by
More generally the notation allows moving boundary conditions of summations (or integrals) as a separate factor into the summand, freeing up space around the summation operator, but more importantly allowing it to be manipulated algebraically. For example
In the first sum, the index is limited to be in the range 1 to 10. The second sum is allowed to range over all integers, but where i is strictly less than 1 or strictly greater than 10, the summand is 0, contributing nothing to the sum. Such use of the Iverson bracket can permit easier manipulation of these expressions.
Another use of the Iverson bracket is to simplify equations with special cases. For example, the formula
which is valid for n > 1 but which is off by 1 for n = 1. To get an identity valid for all positive integers n (i.e., all values for which is defined), a correction term involving the Iverson bracket may be added:
The Kronecker delta notation is a specific case of Iverson notation when the condition is equality. That is,
The indicator function, another specific case, has set membership as its condition:
The floor and ceiling functions can be expressed:
And the trichotomy of the reals can be expressed: