Set-builder notation

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The set of all even integers, expressed in set-builder notation.

In set theory and its applications to logic, mathematics, and computer science, set-builder notation is a mathematical notation for describing a set by enumerating its elements or stating the properties that its members must satisfy.[1]

Defined sets by properties is also known as set comprehension, set abstraction or as defining a set's intension.

Set-builder notation is sometimes simply referred to it as set notation, although this phrase may be better reserved for the broader class of means of denoting sets.

Sets defined by enumeration[edit]

A set is an unordered collection of elements. (An element may also be referred to as a member). An element may be any mathematical entity.

We can describe a set directly by enumerating all of its elements between curly brackets, as in the following two examples:

  • is a set holding the four numbers 3, 7, 15, and 31.
  • is the set containing 'a','b', and 'c'.
  • the set of truth values used in mathematics and logic.

When it is desired to denote a set that contains elements from a regular sequence an ellipses notation may be employed, as shown in the next two examples:

  • is the set of integers between 1 and 100 inclusive.
  • is the set of natural numbers.[2]

There is no order among the elements of a set, but with the ellipses notation we show an ordered sequence before the ellipsis as a convenient notational vehicle for explaining to a reader which elements are in a set. The first few elements of the sequence are shown then the ellipses indicate that the simplest interpretation should be applied for continuing the sequence. Should no terminating value appear to the right of the ellipses then the sequence is considered to be unbounded.

In each preceding example, each set is described by enumerating its elements. Not all sets can be described in this way, or if they can, their enumeration may be too long or too complicated to be useful. Therefore many sets are defined by a property that characterize their elements. This characterization may be done informally using general prose, as in the following example.

  • addresses on Pine Street is the set of all addresses on Pine Street.

However, the prose approach may lack accuracy or be ambiguous. Thus, set builder notation is often used with a prediate characterizing the elements of the set being defined, as described in the following section.

Sets defined by a predicate[edit]

Set builder notation can be used to describe sets which are defined by a predicate, rather than explicitly enumerated. In this form, set builder notation has three parts: a variable, a colon or vertical bar separator, and a logical predicate. Thus there is a variable on the left of the separator, and a rule on the right of it. These three parts are contained in curly brackets:

or

The vertical bar, or colon, is a separator which is read as "such that". Φ(x) is said to be the "rule". All values of x for which the predicate holds (is true) belong to the set being defined. All values of x where the predicate does not hold do not belong to the set. Thus is the set of all values of x that satisfy the formula Φ.

Specifying the domain[edit]

This kind of set builder notation does not necessarily define a set. Russell's paradox shows that the expression "" although seemingly well formed as a set builder expression, does not define a set. To avoid this issue, one generally considers only values of x that belong to some given set E, known as the "domain" (see "Set existence axiom" below). The set being defined can be explicitly denoted in set builder notation either by writing the domain on the left of the vertical bar:

or adjoining it to the predicate:

or .

The ∈ symbol here denotes set membership, while the symbol denotes the logical "and" operator, known as logical conjunction.

In cases where the set E is clear from context, it may not be explicitly specified. It is common in the literature for an author to state the domain ahead of time, and then not specify it in the set builder notation. For example, an author may say something such as, "Unless otherwise stated, variables are to be taken to be natural numbers."

Examples[edit]

The following examples illustrate particular sets defined by set builder notation via predicates. In each case, the domain is specified on the left side of the vertical bar, while the rule is specified on the right side.

  • is the set ,
  • is the set of all positive real numbers.
  • For each integer m, we can define . As an example, and .
  • is the set of pairs of real numbers such that y is greater than 0 and less than f(x), for a given function f. Here the cartesian product denotes the set of ordered pairs of real numbers.
  • is the set of all even natural numbers. The sign stands for "and", which is known as logical conjunction. The ∃ sign stands for "there exists", which is known as existential quantification. So for example, is read as 'there exists an x such that P(x)".
  • is a notational variant for the same set of even natural numbers. It is not necessary to specify that n is an integer, as this is implied by the formula on the right.
  • is the set of rational numbers; that is, real numbers that can be written as the ratio of two integers.

Big text== More complex expressions on the left side of the notation ==

An extension of set-builder notation replaces the single variable x with a term that may include one or more variables, combined with functions acting on them. So instead of , we may have where T is a more complex term.

For example:

  • , where is the set of all natural numbers, is the set of all even natural numbers.
  • , where is the set of all integers, is the set of all rational numbers (Q).
  • is the set of odd integers.
  • creates a set of pairs, where each pair puts an integer into correspondence with an odd integer.

When inverse functions can be explicitly stated, the expression on the left can be eliminated through simple substitution. Consider the example set . Make the substitution , which is to say , then replace t in the set builder notation to find

Equivalent builder predicates means equal sets[edit]

Two sets are equal if and only if their set builder rules, including the domain specifiers, are logically equivalent. That is

if and only if

.

In simpler words, this means that two sets are equal if and only if they have the same elements. Therefore, for proving the equality of two sets defined by set builder rules, it suffices to prove the logical equivalence of their predicates.

For example,

because the two rule predicates are logically equivalent:

That is to say, that for any real number x, we have x2 = 1 if and only if |x| = 1.

Set existence axiom[edit]

In many formal set theories, such as Zermelo-Fraenkel set theory, set builder notation is not part of the formal syntax of the theory. Instead, there is an set existence axiom scheme which states that, if E is a set and Φ(x) is a formula in the language of set theory, then there is a set Y whose members are exactly the elements of E that satisfy Φ:

The set Y obtained from this axiom is exactly the set described in set builder notation as .

Z notation[edit]

Main article: Z notation

In Z notation, the set of all x (in a universe of discourse A) satisfying the condition P(x) would be written . In Z, an element x's set membership is written as instead of ; the vertical bar is used to indicate a predicate. Versions of set builder notation are also available in Z which allow for terms more complicated than a single variable, using a bullet to indicate the form of members of the set. So denotes the set of all values F(x), where x is in A and P(x) holds.

Parallels in programming languages[edit]

Main article: List comprehension

A similar notation available in a number of programming languages (notably Python and Haskell) is the list comprehension, which combines map and filter operations over one or more lists.

In Python, the set-builder's braces are replaced with square brackets, parentheses, or curly braces, giving list, generator, and set objects, respectively. Python uses an English-based syntax. Haskell replaces the set-builder's braces with square brackets and uses symbols, including the standard set-builder vertical bar. Consider these examples given in set-builder notation, Python, and Haskell:

Example 1 Example 2
Set-builder
Python
{l for l in L}
{(k, x) for k in K for x in X if P(x)}
Haskell
[l | l <- ls]
[(k, x) | k <- ks, x <- xs, p x]

The set builder notation and list comprehension notation are both instances of a more general notation known as monad comprehensions, which permits map/filter-like operations over any monad with a zero element.

Notes[edit]

  1. ^ Rosen, Kenneth (2007). Discrete Mathematics and its Applications (6th ed.). New York, NY: McGraw-Hill. pp. 111–112. ISBN 978-0-07-288008-3. 
  2. ^ Mac Lane & Birkhoff (1999) use an ellipsis to informally define the natural numbers: 'Intuitively, the set ℕ = {0, 1, 2, ... } of all natural numbers may be described as follows: ℕ contains an "initial" number 0; ...'. They follow that with their version of the Peano Postulates. (p. 15)

References[edit]