Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Enumeration
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Ordered listing of items in collection}} {{About||enumeration types in programming languages|Enumerated type|enumeration algorithms|Enumeration algorithm|the process of determining the number of elements in a set|Counting}} An '''enumeration''' is a complete, ordered [[list]]ing of all the items in a collection. The term is commonly used in [[mathematics]] and [[computer science]] to refer to a listing of all of the [[element (mathematics)|element]]s of a [[Set (mathematics)|set]]. The precise requirements for an enumeration (for example, whether the set must be [[finite set|finite]], or whether the list is allowed to contain repetitions) depend on the discipline of study and the context of a given problem. Some sets can be enumerated by means of a '''natural ordering''' (such as 1, 2, 3, 4, ... for the set of [[positive integer]]s), but in other cases it may be necessary to impose a (perhaps arbitrary) ordering. In some contexts, such as [[enumerative combinatorics]], the term ''enumeration'' is used more in the sense of ''[[counting]]'' – with emphasis on determination of the number of elements that a set contains, rather than the production of an explicit listing of those elements. == Combinatorics == {{main article|Enumerative combinatorics}} In combinatorics, enumeration means [[counting]], i.e., determining the exact number of elements of finite sets, usually grouped into infinite families, such as the family of sets each consisting of all [[permutation]]s of some finite set. There are flourishing subareas in many branches of mathematics concerned with enumerating in this sense. For instance, in ''[[integer partition|partition]] enumeration'' and ''[[graph enumeration]]'' the objective is to count partitions or graphs that meet certain conditions. == Set theory == In [[set theory]], the notion of enumeration has a broader sense, and does not require the set being enumerated to be finite. ===Listing=== When an enumeration is used in an [[sequence|ordered list]] context, we impose some sort of ordering structure requirement on the [[Index set (recursion theory)|index set]]. While we can make the requirements on the ordering quite lax in order to allow for great generality, the most natural and common prerequisite is that the index set be [[well-ordered]]. According to this characterization, an ordered enumeration is defined to be a surjection (an onto relationship) with a well-ordered domain. This definition is natural in the sense that a given well-ordering on the index set provides a unique way to list the next element given a partial enumeration. ===Countable vs. uncountable=== Unless otherwise specified, an enumeration is done by means of [[natural number]]s. That is, an ''enumeration'' of a [[set (mathematics)|set]] {{mvar|S}} is a [[bijective function]] from the [[natural number]]s <math>\mathbb{N}</math> or an [[initial segment]] {{math|{{mset|1, ..., ''n''}}}} of the natural numbers to {{mvar|S}}. A set is [[countable set|countable]] if it can be enumerated, that is, if there exists an enumeration of it. Otherwise, it is [[uncountable]]. For example, the set of the real numbers is uncountable. A set is [[finite set|finite]] if it can be enumerated by means of a proper initial segment {{math|{{mset|1, ..., ''n''}}}} of the natural numbers, in which case, its [[cardinality]] is {{mvar|n}}. The [[empty set]] is finite, as it can be enumerated by means of the empty initial segment of the natural numbers. The term '''{{vanchor|enumerable}} set''' is sometimes used for countable sets. However it is also often used for [[computably enumerable set]]s, which are the countable sets for which an enumeration function can be computed with an algorithm. For avoiding to distinguish between finite and countably infinite set, it is often useful to use another definition that is equivalent: A set {{mvar|S}} is countable if and only if there exists an [[injective function]] from it into the natural numbers. ==== Examples ==== <ul> <li> The [[natural number]]s are enumerable by the function ''f''(''x'') = ''x''. In this case <math>f\colon\mathbb{N} \to \mathbb{N}</math> is simply the [[identity function]].</li> <li> <math>\mathbb{Z}</math>, the set of [[integers]] is enumerable by <math display="block">f(x):=\frac {1-(-1)^x\,(2\,x+1)} 4 </math> <math>f\colon\mathbb{N}_0 \to \mathbb{Z}</math> is a bijection since every natural number corresponds to exactly one integer. The following table gives the first few values of this enumeration: {| cellpadding="8" ! ''x'' | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |- ! ''f''(''x'') | 0 | 1 | -1 | 2 | -2 | 3 | -3 | 4 | -4 |} </li> <li> All (non empty) finite sets are enumerable. Let ''S'' be a finite set with ''n > 0'' elements and let ''K'' = {1,2,...,''n''}. Select any element ''s'' in ''S'' and assign ''f''(''n'') = ''s''. Now set ''S<nowiki>'</nowiki>'' = ''S'' − {''s''} (where − denotes [[set difference]]). Select any element ''s' '' ∈ ''S' '' and assign ''f''(''n'' − 1) = ''s' ''. Continue this process until all elements of the set have been assigned a natural number. Then <math>f: K \to S</math> is an enumeration of ''S''.</li> <li> The [[real number]]s have no countable enumeration as proved by [[Cantor's diagonal argument]] and [[Cantor's first uncountability proof]].</li> </ul> ==== Properties ==== * There exists an enumeration for a set (in this sense) if and only if the set is [[countable]]. * If a set is enumerable it will have an [[uncountable]] infinity of different enumerations, except in the degenerate cases of the empty set or (depending on the precise definition) sets with one element. However, if one requires enumerations to be injective ''and'' allows only a limited form of partiality such that if ''f''(''n'') is defined then ''f''(''m'') must be defined for all ''m'' < ''n'', then a finite set of ''N'' elements has exactly ''N''! enumerations. * An enumeration ''e'' of a set ''S'' with domain <math>\mathbb{N}</math> induces a [[well-order]] ≤ on that set defined by ''s'' ≤ ''t'' if and only if <math>\min e^{-1}(s) \leq \min e^{-1}(t)</math>. Although the order may have little to do with the underlying set, it is useful when some order of the set is necessary. === Ordinals === In [[set theory]], there is a more general notion of an enumeration than the characterization requiring the domain of the listing function to be an [[initial segment]] of the Natural numbers where the domain of the enumerating function can assume any [[Ordinal number|ordinal]]. Under this definition, an enumeration of a set ''S'' is any [[surjection]] from an ordinal α onto ''S''. The more restrictive version of enumeration mentioned before is the special case where α is a finite ordinal or the first limit ordinal ω. This more generalized version extends the aforementioned definition to encompass [[Transfinite induction|transfinite]] listings. Under this definition, the [[first uncountable ordinal|first uncountable ordinal <math>\omega_1</math>]] can be enumerated by the identity function on <math>\omega_1</math> so that these two notions do '''not''' coincide. More generally, it is a theorem of ZF that any [[well-ordered]] set can be enumerated under this characterization so that it coincides up to relabeling with the generalized listing enumeration. If one also assumes the [[Axiom of Choice]], then all sets can be enumerated so that it coincides up to relabeling with the most general form of enumerations. Since [[set theorist]]s work with infinite sets of arbitrarily large [[cardinality|cardinalities]], the default definition among this group of mathematicians of an enumeration of a set tends to be any arbitrary α-sequence exactly listing all of its elements. Indeed, in Jech's book, which is a common reference for set theorists, an enumeration is defined to be exactly this. Therefore, in order to avoid ambiguity, one may use the term finitely enumerable or [[denumerable]] to denote one of the corresponding types of distinguished countable enumerations. === Comparison of cardinalities === Formally, the most inclusive definition of an enumeration of a set ''S'' is any [[surjection]] from an arbitrary [[index set]] ''I'' onto ''S''. In this broad context, every set ''S'' can be trivially enumerated by the [[identity function]] from ''S'' onto itself. If one does ''not'' assume the [[axiom of choice]] or one of its variants, ''S'' need not have any [[well-ordering]]. Even if one does assume the axiom of choice, ''S'' need not have any natural well-ordering. This general definition therefore lends itself to a counting notion where we are interested in "how many" rather than "in what order." In practice, this broad meaning of enumeration is often used to compare the relative sizes or [[cardinality|cardinalities]] of different sets. If one works in [[Zermelo–Fraenkel set theory]] without the axiom of choice, one may want to impose the additional restriction that an enumeration must also be [[injective]] (without repetition) since in this theory, the existence of a surjection from ''I'' onto ''S'' need not imply the existence of an [[Injection (mathematics)|injection]] from ''S'' into ''I''. == Computability and complexity theory == In [[computability theory]] one often considers countable enumerations with the added requirement that the mapping from <math>\mathbb{N}</math> (set of all natural numbers) to the enumerated set must be [[computable function|computable]]. The set being enumerated is then called [[recursively enumerable]] (or computably enumerable in more contemporary language), referring to the use of [[recursion theory]] in formalizations of what it means for the map to be computable. In this sense, a subset of the natural numbers is [[computably enumerable]] if it is the range of a computable function. In this context, enumerable may be used to mean computably enumerable. However, these definitions characterize distinct classes since there are uncountably many subsets of the natural numbers that can be enumerated by an arbitrary function with domain ω and only countably many computable functions. A specific example of a set with an enumeration but not a computable enumeration is the complement of the [[halting problem|halting set]]. Furthermore, this characterization illustrates a place where the ordering of the listing is important. There exists a computable enumeration of the halting set, but '''not''' one that lists the elements in an increasing ordering. If there were one, then the halting set would be [[Decidable language|decidable]], which is provably false. In general, being recursively enumerable is a weaker condition than being a [[decidable set]]. The notion of enumeration has also been studied from the point of view of [[computational complexity theory]] for various tasks in the context of [[enumeration algorithm]]s. ==See also== * [[Ordinal number]] * [[Enumerative definition]] * [[Sequence]] ==References== * {{cite book|author=Jech, Thomas|title=Set theory, third millennium edition (revised and expanded)|publisher=Springer|year=2002|isbn=3-540-44085-2|author-link=Thomas Jech}} ==External links== * {{Wiktionary-inline}} {{Mathematical logic}} {{Authority control}} [[Category:Enumerative combinatorics]] [[Category:Mathematical logic]] [[Category:Ordering]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:About
(
edit
)
Template:Authority control
(
edit
)
Template:Cite book
(
edit
)
Template:Main article
(
edit
)
Template:Math
(
edit
)
Template:Mathematical logic
(
edit
)
Template:Mvar
(
edit
)
Template:Short description
(
edit
)
Template:Vanchor
(
edit
)
Template:Wiktionary-inline
(
edit
)