# Power set

In mathematics, the **power set** (or **powerset**) of any set *S*, written <math>\mathcal{P}(S)</math>, *P*(*S*), ℘(*S*) or 2^{S}, is the set of all subsets of *S*, including the empty set and S itself. In axiomatic set theory (as developed, for example, in the ZFC axioms), the existence of the power set of any set is postulated by the axiom of power set.

Any subset of <math>\mathcal{P}(S)</math> is called a *family of sets* over *S*.

## Contents |

## Example

If *S* is the set {*x*, *y*, *z*}, then the subsets of *S* are:

- {} (also denoted <math>\emptyset</math>, the empty set)
- {
*x*} - {
*y*} - {
*z*} - {
*x*,*y*} - {
*x*,*z*} - {
*y*,*z*} - {
*x*,*y*,*z*}

and hence the power set of <math>S = \left\{x, y, z\right\}</math> is<ref>Puntambekar (2007), Template:Google books quote</ref>

- <math>\mathcal{P}(S) = \left\{\{\}, \{x\}, \{y\}, \{z\}, \{x, y\}, \{x, z\}, \{y, z\}, \{x, y, z\}\right\}\,\!.</math>

## Properties

If *S* is a finite set with |*S*| = *n* elements, then the number of subsets of *S* is <math>|\mathcal{P}(S)| = 2^n</math>. This fact, which is the motivation for the notation 2^{S}, may be demonstrated by a simple inductive argument that illuminates the power set's combinatorial structure:

- If
*n*is zero, then*S*is the empty set, which has exactly <math>2^0 = 1</math> subset (namely itself). Otherwise,*n*is some positive number, in which case one can select any element*x*of*S*and gather up the subsets of*S*itself into pairs <math>(A^-, A^+)</math> that are identical excepting that <math>A^-</math> does not include*x*and <math>A^+</math> does. Thus, removing*x*from*S*would result in a new set whose own powerset—containing every <math>A^-</math> and nothing else—is exactly half the size of <math>\mathcal{P}(S)</math>. One can view*S*as having been built up from the empty set through successively restoring each of its*n*elements, and during such a construction the power set undergoes*n*doublings in size. Hence <math>|\mathcal{P}(S)| = 2^n</math>.<ref name="computer_footnote">One can—and for small values of*n*, computer programmers sometimes do—represent the elements of <math>\mathcal{P}(S)</math> as*n*-bit strings in which the*m*th bit encodes the presence or absence of the*m*th element of*S*in some ordering chosen by the programmer. There are 2^{n}such strings.</ref>

Cantor's diagonal argument shows that the power set of a set (whether infinite or not) always has strictly higher cardinality than the set itself (informally the power set must be larger than the original set). In particular, Cantor's theorem shows that the power set of a countably infinite set is uncountably infinite. For example, the power set of the set of natural numbers can be put in a one-to-one correspondence with the set of real numbers (see cardinality of the continuum).

The power set of a set *S*, together with the operations of union, intersection and complement can be viewed as the prototypical example of a Boolean algebra. In fact, one can show that any *finite* Boolean algebra is isomorphic to the Boolean algebra of the power set of a finite set. For *infinite* Boolean algebras this is no longer true, but every infinite Boolean algebra can be represented as a *subalgebra* of a power set Boolean algebra (see Stone's representation theorem).

The power set of a set *S* forms an Abelian group when considered with the operation of symmetric difference (with the empty set as the identity element and each set being its own inverse) and a commutative monoid when considered with the operation of intersection. It can hence be shown (by proving the distributive laws) that the power set considered together with both of these operations forms a Boolean ring.

## Representing subsets as functions

In set theory, *X*^{Y} is the set of all functions from *Y* to *X*. As "2" can be defined as {0,1} (see natural number), 2^{S} (i.e., {0,1}^{S}) is the set of all functions from *S* to {0,1}. By identifying a function in 2^{S} with the corresponding preimage of 1, we see that there is a bijection between 2^{S} and <math>\mathcal{P}(S)</math>, where each function is the characteristic function of the subset in <math>\mathcal{P}(S)</math> with which it is identified. Hence 2^{S} and <math>\mathcal{P}(S)</math> could be considered identical set-theoretically. (Thus there are two distinct notational motivations for denoting the power set by 2^{S}: the fact that this function-representation of subsets makes it a special case of the *X*^{Y} notation and the property, mentioned above, that |2^{S}| = 2^{|S|}.)

This notion can be applied to the example above in which <math>S = \{x, y, z\}</math> to see the isomorphism with the binary numbers
from 0 to 2^{n}−1 with n being the number of elements in the set.
In *S*, a *1* in the position corresponding to the location in the set indicates the presence of the
element. So {*x*, *y*} = 110.

For the whole power set of *S* we get:

- { } = 000 (Binary) = 0 (Decimal)
- {
*x*} = 100 = 4 - {
*y*} = 010 = 2 - {
*z*} = 001 = 1 - {
*x*,*y*} = 110 = 6 - {
*x*,*z*} = 101 = 5 - {
*y*,*z*} = 011 = 3 - {
*x*,*y*,*z*} = 111 = 7

## Relation to binomial theorem

The power set is closely related to the binomial theorem. The number of sets with <math>k</math> elements in the power set of a set with <math>n</math> elements will be a combination <math>C(n,k),</math> also called a binomial coefficient.

For example the power set of a set with three elements, has:

- <math>C(3, 0) = 1</math> set with 0 elements
- <math>C(3, 1) = 3</math> sets with 1 element
- <math>C(3, 2) = 3</math> sets with 2 elements
- <math>C(3, 3) = 1</math> set with 3 elements.

## Algorithms

If <math>S \!</math> is a finite set, there is a recursive algorithm to calculate <math> \mathcal{P}(S) </math>.

Define the operation <math> \mathcal{F}(e,T) = \{ X \cup \{ e \} | X \in T \} </math>

In English, return the set with the element <math>e \!</math> added to each set <math>X \!</math> in <math>T \!</math>.

- If <math>S = \{\} \!</math>,then <math> \mathcal{P}(S) = \{ \{ \} \} </math> is returned.
- Otherwise:

- Let <math>e \!</math> be any single element of <math>S \!</math>.
- Let <math> T = S \setminus \{ e \} \!</math>, where '<math>S \setminus \{ e \} \!</math>' denotes the relative complement of <math>\{ e \} \!</math> in <math>S \!</math>.
- And the result: <math> \mathcal{P}(S) = \mathcal{P}(T) \cup \mathcal{F}(e,\mathcal{P}(T)) </math> is returned.

In other words, the power set of the empty set is the set containing the empty set and the power set of any other set is all the subsets of the set containing some specific element and all the subsets of the set not containing that specific element.

There are other more efficient ways to calculate the power set. For example, use a list of the *n* elements of *S* to fix a mapping from the bit positions of *n*-bit numbers to those elements; then with a simple loop run through all the 2^{n} numbers representable with *n* bits, and for each contribute the subset of *S* corresponding to the bits that are set (to 1) in the number. When *n* exceeds the word-length of the computer (typically 64 in modern CPUs) the representation is naturally extended by using an array of words instead of a single word.

## Subsets of limited cardinality

The set of subsets of *S* of cardinality less than κ is denoted by <math>\mathcal{P}_{\kappa}(S)</math> or <math>\mathcal{P}_{<\kappa}(S) \,.</math> Similarly, the set of non-empty subsets of *S* might be denoted by <math>\mathcal{P}_{\geq 1}(S) \,.</math>

## Topologization of power set

Template:Expand section
Since any family of functions *X*^{Y} from *Y* to *X* might be topologized establishing the so-called function space, the same can be done with the power set 2^{S} identified as {0,1}^{S}. This particular type of function space is often called a **hyperspace** and the topology on the power set is referred to as **hypertopology**.

## Power object

A set can be regarded as an algebra having no nontrivial operations or defining equations. From this perspective the idea of the power set of *X* as the set of subsets of *X* generalizes naturally to the subalgebras of an algebraic structure or algebra.

Now the power set of a set, when ordered by inclusion, is always a complete atomic Boolean algebra, and every complete atomic Boolean algebra arises as the lattice of all subsets of some set. The generalization to arbitrary algebras is that the set of subalgebras of an algebra, again ordered by inclusion, is always an algebraic lattice, and every algebraic lattice arises as the lattice of subalgebras of some algebra. So in that regard subalgebras behave analogously to subsets.

However there are two important properties of subsets that do not carry over to subalgebras in general. First, although the subsets of a set form a set (as well as a lattice), in some classes it may not be possible to organize the subalgebras of an algebra as itself an algebra in that class, although they can always be organized as a lattice. Secondly, whereas the subsets of a set are in bijection with the functions from that set to the set {0,1} = 2, there is no guarantee that a class of algebras contains an algebra that can play the role of 2 in this way.

Certain classes of algebras enjoy both of these properties. The first property is more common, the case of having both is relatively rare. One class that does have both is that of multigraphs. Given two multigraphs *G* and *H*, a homomorphism *h*: *G* → *H* consists of two functions, one mapping vertices to vertices and the other mapping edges to edges. The set *H*^{G} of homomorphisms from *G* to *H* can then be organized as the graph whose vertices and edges are respectively the vertex and edge functions appearing in that set. Furthermore the subgraphs of a multigraph *G* are in bijection with the graph homomorphisms from *G* to the multigraph Ω definable as the complete directed graph on two vertices (hence four edges, namely two self-loops and two more edges forming a cycle) augmented with a fifth edge, namely a second self-loop at one of the vertices. We can therefore organize the subgraphs of *G* as the multigraph Ω^{G}, called the **power object** of *G*.

What is special about a multigraph as an algebra is that its operations are unary. A multigraph has two sorts of elements forming a set *V* of vertices and *E* of edges, and has two unary operations *s*,*t*: *E* → *V* giving the source (start) and target (end) vertices of each edge. An algebra all of whose operations are unary is called a presheaf. Every class of presheaves contains a presheaf Ω that plays the role for subalgebras that 2 plays for subsets. Such a class is a special case of the more general notion of elementary topos as a category that is closed (and moreover cartesian closed) and has an object Ω, called a subobject classifier. Although the term "power object" is sometimes used synonymously with exponential object *Y*^{X}, in topos theory *Y* is required to be Ω.

## Notes

<references/>

## References

## External links

Template:Logic Template:Set theoryca:Conjunt de les parts cs:Potenční množina da:Potensmængde de:Potenzmenge el:Δυναμοσύνολο es:Conjunto potencia eo:Aro de ĉiuj subaroj eu:Potentzia-multzo fa:مجموعه توانی fr:Ensemble des parties d'un ensemble ko:멱집합 is:Veldismengi it:Insieme delle parti he:קבוצת החזקה hu:Hatványhalmaz mk:Партитивно множество nl:Machtsverzameling ja:冪集合 no:Potensmengde pms:Ansem potensa pl:Zbiór potęgowy pt:Conjunto de partes ru:Булеан sq:Bashkësia partitive sk:Potenčná množina sr:Партитивни скуп fi:Potenssijoukko sv:Potensmängd ta:அடுக்கு கணம் uk:Булеан vi:Tập lũy thừa fiu-vro:Alambhulkõ hulk zh-classical:冪集 zh:冪集