Power set
Template:Short description Script error: No such module "For". Template:Dark mode invert
In mathematics, the power set (or powerset) of a set Template:Mvar is the set of all subsets of Template:Mvar, including the empty set and Template:Mvar itself.Template:Sfn 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.Template:Sfn The powerset of Template:Mvar is variously denoted as Template:Itco(S)Script error: No such module "Check for unknown parameters"., Template:Itco(S)Script error: No such module "Check for unknown parameters"., P(S)Script error: No such module "Check for unknown parameters"., , or 2SScript error: No such module "Check for unknown parameters"..Template:Efn Any subset of Template:Itco(S)Script error: No such module "Check for unknown parameters". is called a family of sets over Template:Mvar.
Example
If Template:Mvar is the set Template:MsetScript error: No such module "Check for unknown parameters"., then all the subsets of Template:Mvar are
- Template:MsetScript error: No such module "Check for unknown parameters". (the empty set, also denoted or )
- Template:MsetScript error: No such module "Check for unknown parameters".
- Template:MsetScript error: No such module "Check for unknown parameters".
- Template:MsetScript error: No such module "Check for unknown parameters".
- Template:MsetScript error: No such module "Check for unknown parameters".
- Template:MsetScript error: No such module "Check for unknown parameters".
- Template:MsetScript error: No such module "Check for unknown parameters".
- Template:MsetScript error: No such module "Check for unknown parameters".
and hence the power set of Template:Mvar is Template:MsetScript error: No such module "Check for unknown parameters"..Template:Sfn
Properties
If SScript error: No such module "Check for unknown parameters". is a finite set with the cardinality Template:Abs = nScript error: No such module "Check for unknown parameters". (i.e., the number of all elements in the set SScript error: No such module "Check for unknown parameters". is nScript error: No such module "Check for unknown parameters".), then the number of all the subsets of SScript error: No such module "Check for unknown parameters". is Template:Abs = 2nScript error: No such module "Check for unknown parameters".. This fact as well as the reason of the notation 2SScript error: No such module "Check for unknown parameters". denoting the power set Template:Itco(S)Script error: No such module "Check for unknown parameters". are demonstrated in the below.
- An indicator function or a characteristic function of a subset AScript error: No such module "Check for unknown parameters". of a set SScript error: No such module "Check for unknown parameters". with the cardinality Template:Abs = nScript error: No such module "Check for unknown parameters". is a function from SScript error: No such module "Check for unknown parameters". to the two-element set Template:MsetScript error: No such module "Check for unknown parameters"., denoted as IA : S → Template:MsetScript error: No such module "Check for unknown parameters"., and it indicates whether an element of SScript error: No such module "Check for unknown parameters". belongs to AScript error: No such module "Check for unknown parameters". or not; If xScript error: No such module "Check for unknown parameters". in SScript error: No such module "Check for unknown parameters". belongs to AScript error: No such module "Check for unknown parameters"., then IA(x) = 1Script error: No such module "Check for unknown parameters"., and 0Script error: No such module "Check for unknown parameters". otherwise. Each subset AScript error: No such module "Check for unknown parameters". of SScript error: No such module "Check for unknown parameters". is identified by or equivalent to the indicator function IAScript error: No such module "Check for unknown parameters"., and Template:MsetSScript error: No such module "Check for unknown parameters". as the set of all the functions from SScript error: No such module "Check for unknown parameters". to Template:MsetScript error: No such module "Check for unknown parameters". consists of all the indicator functions of all the subsets of SScript error: No such module "Check for unknown parameters".. In other words, Template:MsetSScript error: No such module "Check for unknown parameters". is equivalent or bijective to the power set Template:Itco(S)Script error: No such module "Check for unknown parameters".. Since each element in SScript error: No such module "Check for unknown parameters". corresponds to either 0Script error: No such module "Check for unknown parameters". or 1Script error: No such module "Check for unknown parameters". under any function in Template:MsetSScript error: No such module "Check for unknown parameters"., the number of all the functions in Template:MsetSScript error: No such module "Check for unknown parameters". is 2nScript error: No such module "Check for unknown parameters".. Since the number 2Script error: No such module "Check for unknown parameters". can be defined as Template:MsetScript error: No such module "Check for unknown parameters". (see, for example, von Neumann ordinals), the Template:ItcoScript error: No such module "Check for unknown parameters". is also denoted as 2SScript error: No such module "Check for unknown parameters".. Obviously Template:Abs = 2Template:AbsScript error: No such module "Check for unknown parameters". holds. Generally speaking, XYScript error: No such module "Check for unknown parameters". is the set of all functions from YScript error: No such module "Check for unknown parameters". to XScript error: No such module "Check for unknown parameters". and Template:Abs = Template:AbsTemplate:AbsScript error: No such module "Check for unknown parameters"..
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 (or 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. 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 SScript error: No such module "Check for unknown parameters"., together with the operations of union, intersection and complement, is a σ-algebra over SScript error: No such module "Check for unknown parameters". and 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 SScript error: No such module "Check for unknown parameters". forms an abelian group when it is 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 (with the entire set SScript error: No such module "Check for unknown parameters". as the identity element). 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, XYScript error: No such module "Check for unknown parameters". is the notation representing the set of all functions from Template:Mvar to Template:Mvar. As "2Script error: No such module "Check for unknown parameters"." can be defined as Template:MsetScript error: No such module "Check for unknown parameters". (see, for example, von Neumann ordinals), 2SScript error: No such module "Check for unknown parameters". (i.e., Template:MsetSScript error: No such module "Check for unknown parameters".) is the set of all functions from SScript error: No such module "Check for unknown parameters". to Template:MsetScript error: No such module "Check for unknown parameters".. As shown above, 2SScript error: No such module "Check for unknown parameters". and the power set of SScript error: No such module "Check for unknown parameters"., Template:Itco(S)Script error: No such module "Check for unknown parameters"., are considered identical set-theoretically.
This equivalence can be applied to the example above, in which S = Template:MsetScript error: No such module "Check for unknown parameters"., to get the isomorphism with the binary representations of numbers from 0 to 2n − 1Script error: No such module "Check for unknown parameters"., with Template:Mvar being the number of elements in the set SScript error: No such module "Check for unknown parameters". or Template:Abs = nScript error: No such module "Check for unknown parameters".. First, the enumerated set Template:MsetScript error: No such module "Check for unknown parameters". is defined in which the number in each ordered pair represents the position of the paired element of SScript error: No such module "Check for unknown parameters". in a sequence of binary digits such as Template:Mset = 011(2)Script error: No such module "Check for unknown parameters".; xScript error: No such module "Check for unknown parameters". of SScript error: No such module "Check for unknown parameters". is located at the first from the right of this sequence and yScript error: No such module "Check for unknown parameters". is at the second from the right, and 1 in the sequence means the element of SScript error: No such module "Check for unknown parameters". corresponding to the position of it in the sequence exists in the subset of SScript error: No such module "Check for unknown parameters". for the sequence while 0 means it does not.
For the whole power set of SScript error: No such module "Check for unknown parameters"., we get:
| Subset | Sequence of binary digits |
Binary interpretation |
Decimal equivalent |
|---|---|---|---|
| Template:MsetScript error: No such module "Check for unknown parameters". | 0, 0, 0Script error: No such module "Check for unknown parameters". | 000(2)Script error: No such module "Check for unknown parameters". | 0(10)Script error: No such module "Check for unknown parameters". |
| Template:MsetScript error: No such module "Check for unknown parameters". | 0, 0, 1Script error: No such module "Check for unknown parameters". | 001(2)Script error: No such module "Check for unknown parameters". | 1(10)Script error: No such module "Check for unknown parameters". |
| Template:MsetScript error: No such module "Check for unknown parameters". | 0, 1, 0Script error: No such module "Check for unknown parameters". | 010(2)Script error: No such module "Check for unknown parameters". | 2(10)Script error: No such module "Check for unknown parameters". |
| Template:MsetScript error: No such module "Check for unknown parameters". | 0, 1, 1Script error: No such module "Check for unknown parameters". | 011(2)Script error: No such module "Check for unknown parameters". | 3(10)Script error: No such module "Check for unknown parameters". |
| Template:MsetScript error: No such module "Check for unknown parameters". | 1, 0, 0Script error: No such module "Check for unknown parameters". | 100(2)Script error: No such module "Check for unknown parameters". | 4(10)Script error: No such module "Check for unknown parameters". |
| Template:MsetScript error: No such module "Check for unknown parameters". | 1, 0, 1Script error: No such module "Check for unknown parameters". | 101(2)Script error: No such module "Check for unknown parameters". | 5(10)Script error: No such module "Check for unknown parameters". |
| Template:MsetScript error: No such module "Check for unknown parameters". | 1, 1, 0Script error: No such module "Check for unknown parameters". | 110(2)Script error: No such module "Check for unknown parameters". | 6(10)Script error: No such module "Check for unknown parameters". |
| Template:MsetScript error: No such module "Check for unknown parameters". | 1, 1, 1Script error: No such module "Check for unknown parameters". | 111(2)Script error: No such module "Check for unknown parameters". | 7(10)Script error: No such module "Check for unknown parameters". |
Such an injective mapping from Template:Itco(S)Script error: No such module "Check for unknown parameters". to integers is arbitrary, so this representation of all the subsets of SScript error: No such module "Check for unknown parameters". is not unique, but the sort order of the enumerated set does not change its cardinality. (E.g., Template:MsetScript error: No such module "Check for unknown parameters". can be used to construct another injective mapping from Template:Itco(S)Script error: No such module "Check for unknown parameters". to the integers without changing the number of one-to-one correspondences.)
However, such finite binary representation is only possible if SScript error: No such module "Check for unknown parameters". can be enumerated. (In this example, xScript error: No such module "Check for unknown parameters"., yScript error: No such module "Check for unknown parameters"., and zScript error: No such module "Check for unknown parameters". are enumerated with 1Script error: No such module "Check for unknown parameters"., 2Script error: No such module "Check for unknown parameters"., and 3Script error: No such module "Check for unknown parameters". respectively as the position of binary digit sequences.) The enumeration is possible even if SScript error: No such module "Check for unknown parameters". has an infinite cardinality (i.e., the number of elements in SScript error: No such module "Check for unknown parameters". is infinite), such as the set of integers or rationals, but not possible for example if SScript error: No such module "Check for unknown parameters". is the set of real numbers, in which case we cannot enumerate all irrational numbers.
Relation to binomial theorem
The binomial theorem is closely related to the power set. A kScript error: No such module "Check for unknown parameters".–elements combination from some set is another name for a kScript error: No such module "Check for unknown parameters".–elements subset, so the number of combinations, denoted as C(n, k)Script error: No such module "Check for unknown parameters". (also called binomial coefficient) is a number of subsets with Template:Mvar elements in a set with Template:Mvar elements; in other words it's the number of sets with kScript error: No such module "Check for unknown parameters". elements which are elements of the power set of a set with nScript error: No such module "Check for unknown parameters". elements.
For example, the power set of a set with three elements, has:
- C(3, 0) = 1Script error: No such module "Check for unknown parameters". subset with 0Script error: No such module "Check for unknown parameters". elements (the empty subset),
- C(3, 1) = 3Script error: No such module "Check for unknown parameters". subsets with 1Script error: No such module "Check for unknown parameters". element (the singleton subsets),
- C(3, 2) = 3Script error: No such module "Check for unknown parameters". subsets with 2Script error: No such module "Check for unknown parameters". elements (the complements of the singleton subsets),
- C(3, 3) = 1Script error: No such module "Check for unknown parameters". subset with 3Script error: No such module "Check for unknown parameters". elements (the original set itself).
Using this relationship, we can compute Template:AbsScript error: No such module "Check for unknown parameters". using the formula:
Therefore, one can deduce the following identity, assuming Template:Abs = nScript error: No such module "Check for unknown parameters".:
Recursive definition
If SScript error: No such module "Check for unknown parameters". is a finite set, then a recursive definition of Template:Itco(S)Script error: No such module "Check for unknown parameters". proceeds as follows:
- If S = Template:MsetScript error: No such module "Check for unknown parameters"., then Template:Itco(S) = Template:MsetScript error: No such module "Check for unknown parameters"..
- Otherwise, let e ∈ SScript error: No such module "Check for unknown parameters". and T = S ∖ Template:MsetScript error: No such module "Check for unknown parameters".; then Template:Itco(S) = Template:Itco(T) ∪ Template:MsetScript error: No such module "Check for unknown parameters"..
In words:
- The power set of the empty set is a singleton whose only element is the empty set.
- For a non-empty set SScript error: No such module "Check for unknown parameters"., let be any element of the set and TScript error: No such module "Check for unknown parameters". its relative complement; then the power set of SScript error: No such module "Check for unknown parameters". is a union of a power set of TScript error: No such module "Check for unknown parameters". and a power set of TScript error: No such module "Check for unknown parameters". whose each element is expanded with the eScript error: No such module "Check for unknown parameters". element.
Subsets of limited cardinality
The set of subsets of SScript error: No such module "Check for unknown parameters". of cardinality less than or equal to κScript error: No such module "Check for unknown parameters". is sometimes denoted by Template:Mathcalκ(S)Script error: No such module "Check for unknown parameters". or [S]κScript error: No such module "Check for unknown parameters"., and the set of subsets with cardinality strictly less than κScript error: No such module "Check for unknown parameters". is sometimes denoted Template:Mathcal<κ(S)Script error: No such module "Check for unknown parameters". or [S]<κScript error: No such module "Check for unknown parameters".. Similarly, the set of non-empty subsets of SScript error: No such module "Check for unknown parameters". might be denoted by Template:Mathcal≥1(S)Script error: No such module "Check for unknown parameters". or Template:Itco+(S)Script error: No such module "Check for unknown parameters"..
Power object
Script error: No such module "Unsubst".Template:Template other A set can be regarded as an algebra having no nontrivial operations or defining equations. From this perspective, the concept of the power set of XScript error: No such module "Check for unknown parameters". as the set of all subsets of XScript error: No such module "Check for unknown parameters". generalizes naturally to the set to all subalgebras of an algebraic structure or algebra.[1][2]
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.[3] 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 Template:Mset = 2Script error: No such module "Check for unknown parameters"., there is no guarantee that a class of algebras contains an algebra that can play the role of 2Script error: No such module "Check for unknown parameters". 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 GScript error: No such module "Check for unknown parameters". and HScript error: No such module "Check for unknown parameters"., a homomorphism h : G → HScript error: No such module "Check for unknown parameters". consists of two functions, one mapping vertices to vertices and the other mapping edges to edges. The set HGScript error: No such module "Check for unknown parameters". of homomorphisms from GScript error: No such module "Check for unknown parameters". to HScript error: No such module "Check for unknown parameters". 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 GScript error: No such module "Check for unknown parameters". are in bijection with the graph homomorphisms from GScript error: No such module "Check for unknown parameters". to the multigraph ΩScript error: No such module "Check for unknown parameters". 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 GScript error: No such module "Check for unknown parameters". as the multigraph ΩGScript error: No such module "Check for unknown parameters"., called the power object of GScript error: No such module "Check for unknown parameters"..
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 VScript error: No such module "Check for unknown parameters". of vertices and EScript error: No such module "Check for unknown parameters". of edges, and has two unary operations s, t : E → VScript error: No such module "Check for unknown parameters". 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 ΩScript error: No such module "Check for unknown parameters". that plays the role for subalgebras that 2Script error: No such module "Check for unknown parameters". 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 ΩScript error: No such module "Check for unknown parameters"., called a subobject classifier. Although the term "power object" is sometimes used synonymously with exponential object Template:ItcoXScript error: No such module "Check for unknown parameters"., in topos theory YScript error: No such module "Check for unknown parameters". is required to be ΩScript error: No such module "Check for unknown parameters"..
Functors and quantifiers
There is both a covariant and contravariant power set functor, Template:Itco: Set → SetScript error: No such module "Check for unknown parameters". and Template:Itco: Set op → SetScript error: No such module "Check for unknown parameters".. The covariant functor is defined more simply as the functor which sends a set SScript error: No such module "Check for unknown parameters". to Template:Mathcal(S)Script error: No such module "Check for unknown parameters". and a morphism f: S → TScript error: No such module "Check for unknown parameters". (here, a function between sets) to the image morphism. That is, for . Elsewhere in this article, the power set was defined as the set of functions of SScript error: No such module "Check for unknown parameters". into the set with 2 elements. Formally, this defines a natural isomorphism . The contravariant power set functor is different from the covariant version in that it sends fScript error: No such module "Check for unknown parameters". to the preimage morphism, so that if . This is because a general functor takes a morphism to precomposition by h, so a function , which takes morphisms from b to c and takes them to morphisms from a to c, through b via h.[4]
In category theory and the theory of elementary topoi, the universal quantifier can be understood as the right adjoint of a functor between power sets, the inverse image functor of a function between sets; likewise, the existential quantifier is the left adjoint.Template:Sfn
See also
Notes
References
<templatestyles src="Reflist/styles.css" />
Script error: No such module "Check for unknown parameters".
Bibliography
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".