Bi-Lipschitz distortion Created 2026-09-28 Updated 2026-10-14
For an injective function between metric spaces with at least two source points, consider all distance ratios
If constants satisfy
then is a bi-Lipschitz map: both and its inverse on are Lipschitz maps. The bound compares the most expanded pair with the most contracted pair. To define the bi-Lipschitz distortion of this particular metric embedding, use the sharp bounds and :
Here the Lipschitz constant of is . If no positive finite bounds exist, the bi-Lipschitz distortion is infinite. For a finite source, every injective function has finite bi-Lipschitz distortion, but its size can depend on the source. Matoušek gives the equivalent definition using one scale factor and a multiplicative error bound. [ref]
Changing units is harmless: replacing by , with , multiplies both and by and leaves unchanged. In a normed vector space this can be achieved by multiplying every output vector by . Thus bi-Lipschitz distortion one means that all distances change by the same factor; an isometric embedding additionally requires that factor to be one. A stretch factor with a specified normalization is a related quantity; when comparing sources, check which overall scale has been fixed.
Take the four corners , , , of a square, with Euclidean distance in both source and target. For the linear map , the six unordered pairs exhaust the possibilities: the two vertical sides have ratio , the two horizontal sides have ratio , and the two diagonals have ratio . Consequently , , and . In contrast, , three times the identity function, gives ratio for every pair and has bi-Lipschitz distortion .
Figure 1.
Uniform scaling keeps distortion one; unequal coordinate scaling gives distortion two
. Details.
The ratio chart makes the reason visible: a common multiplier moves every ratio together, while unequal coordinate scaling spreads the ratios apart. More generally, in a normed vector space, the ratio bounds give
This normalization gives Lipschitz constant one and inverse Lipschitz constant . It is only a change of scale, so it cannot improve the bi-Lipschitz distortion.
The best possible bi-Lipschitz distortion of a source into a specified target is a separate quantity:
The infimum runs over all injective functions, and need not be attained. The notation means the analogous infimum over metric embeddings into an Lp space. A calculation for one chosen gives an upper bound for ; proving optimality also requires a lower bound for every possible .
Cardinality Created 2026-10-03 Updated 2026-10-14
The cardinality of a set expresses its size up to bijection. Two sets have the same cardinality exactly when a bijection pairs their members. For a finite set, cardinality is the ordinary number of set elements. In the presence of the axiom of choice, every set can be assigned the least ordinal in its bijection class as its cardinal number.
An injective function shows that is no larger than : different members of receive different partners in . If there are injections in both directions, the Cantor-Schröder-Bernstein theorem supplies a bijection. Infinite cardinality records this pairing structure rather than a geometric dimension or density. That is why a line of natural numbers and a grid of natural-number pairs can have the same size, while an interval of real numbers has larger cardinality.
Category of injective functions Created 2026-09-28 Updated 2026-10-14
The category of injective functions is the full subcategory of whose objects are injective functions. It is cartesian closed: products are computed pointwise, and exponentiating an injection by any arrow again gives an injection.
Continuous injection Created 2026-10-25 Updated 2026-10-31
A continuous map that is also an injective function. A continuous injection need not be a topological embedding: its inverse on its image need not be continuous. If its source is a compact space and its target is a Hausdorff space, however, the compact-to-Hausdorff continuous bijection theorem makes that inverse continuous.
Countable set Created 2026-09-24 Updated 2026-10-14
A countable set is a set that admits an injective function into the natural numbers. It is therefore either a finite set or a countably infinite set.
For a countably infinite set, countability means that its members can be arranged as a sequence in which every member occurs exactly once. The order need not resemble the order already present in the set. For example, the integers can be listed as . Simply increasing through positive values would never reach a negative one.
The Cartesian product needs a similar change of strategy. Listing a whole horizontal row first would never finish that row, so later rows would be missed. Instead list pairs by increasing coordinate sum , and within each finite diagonal by increasing :
Every pair has a finite coordinate sum and therefore appears after finitely many earlier pairs. This is the construction made explicit by the Cantor pairing function. It explains why having two infinite coordinates does not, by itself, mean a larger cardinality.
Figure 1.
Enumerating natural-number pairs along finite diagonals reaches every point of the infinite grid
. Details.
Cyclic permutation Created 2026-10-14 Updated 2026-10-20
A cyclic permutation, also called a permutation cycle, sends distinct elements and fixes every element outside this list. Its notation is . For example, is the permutation with image list : all four labels lie on one directed loop. In contrast,
has two separate loops, exchanging with and with . It is a permutation composed of two transpositions, rather than a single cyclic permutation.
Figure 1.
Two permutations on four labels: one cyclic permutation and two disjoint permutation cycles , with arrows showing every image
. Details.
Starting at a different point of the same loop changes the written list but preserves the cyclic permutation: . Reversing the direction generally changes the permutation; it gives the inverse function, here . A transposition is a cyclic permutation of length two; a one-element permutation cycle records a fixed point. In a cycle decomposition of a permutation, one-element permutation cycles are usually omitted, with the underlying set understood.
The beauty of this representation is that repeated rearrangements become motion around independent loops. Applying four times returns every label to its start, while applying twice already does so. Disjoint permutation cycles commute under function composition, since each moves only labels the others fix. On labels, there are cyclic permutations whose single loop contains every label: fix as the first written entry and order the other labels freely, giving a factorial. This is also the count of cyclic orderings; choosing a starting position would otherwise count each loop times. Rotations are identified here, while reversing direction is allowed to give a different cyclic ordering.
Proof outline for decomposition. Starting at any label in a finite set, repeatedly apply the permutation. The pigeonhole principle forces a repeated label. If the first repetition were at a label other than the starting one, its two predecessors would be different labels with the same image, contradicting the injective function property. This produces a permutation cycle returning to the start. Start again at a label not yet visited; the new permutation cycle cannot meet an earlier one, since the bijection gives every label a unique predecessor. Continue until every label belongs to a loop. The resulting cycle decomposition of a permutation is unique up to the order of the disjoint permutation cycles and the starting point written in each one. [ref]
Data compression 2026-10-13
Data compression represents data using fewer bits than a specified original representation. The saving can reduce storage in a file system and reduce the number of bits sent through a communication channel. At a fixed transmission rate, fewer bits arrive sooner; this makes better use of a fixed transmission budget. Both the encoded data and the instructions needed to interpret them contribute to the size of a stored file.
There are two different promises. Lossless source coding preserves the original exactly: for an encoder and decoder , for every permitted input . Thus must be an injective function. Lossy compression allows to differ from , with the difference judged by an explicit criterion. A program or numerical record may require exact recovery; a preview image may tolerate altered pixels in return for fewer bits.
The appeal of lossless source coding is that repetition can be described rather than copied. Run-length encoding says "repeat this value twelve times"; a prefix code can give more frequent symbols shorter descriptions. These are distinct ways to exploit structure, and neither promises savings for every input. Image compression supplies especially visible examples of both lossless source coding and lossy compression.
Claude E. Shannon's 1948 paper made the role of probability distributions precise. For a memoryless classical information source with Shannon entropy bits per symbol, Shannon's source coding theorem bounds achievable average lengths; sufficiently long blocks allow exact codes to approach bits per symbol. This is a statement about a specified source and average lengths, not a promise to shorten every message.[ref]
Dedekind-finite set Created 2026-10-05 Updated 2026-10-14
A set is Dedekind-finite when no injective function exists. In classical Zermelo–Fraenkel set theory this is equivalent to not being in bijection with a proper subset: an injective non-surjective self-map generates distinct iterates from an element outside its image, and a countably infinite subset permits a shift fixing its complement. A finite set is Dedekind-finite. Without the axiom of choice, some infinite sets can also be Dedekind-finite.
Enumerate all intervals with rational endpoints, using the countability of the rational numbers and listing pairs of enumeration indices by increasing sum. If every point of is an isolated point, some such interval contains and no other point of . Assign to the least index of such an interval. Distinct points cannot have the same index, so this gives an injective function into and proves that is a countable set. The argument uses isolation in the subspace topology, not closedness: the discrete subset illustrates that an accumulation point outside is allowed.
Empirical temperature 2026-10-14
An empirical temperature labels classes of thermal equilibrium using a reproducible thermometer response. Equal labels express the zeroth law of thermodynamics comparison. A suitable continuous response and calibration let ordinary laboratory states be represented on a numerical scale; the abstract equivalence relation alone does not guarantee a useful real-valued coordinate. An injective function of the label preserves equality, so the zeroth law of thermodynamics alone fixes neither unit nor spacing. Thermometer calibration supplies a chosen response relation; thermodynamic temperature supplies the additional absolute-scale structure.
Faithful Lie algebra representation Created 2026-09-24 Updated 2026-09-24
Finite repetition-free sequence Created 2026-10-05 Updated 2026-10-06
A finite repetition-free sequence in a set is an injective function from an initial segment of the natural numbers into , including the empty sequence for . For a finite set of size , the number of these sequences is
The order of each list is part of the data, so it can be enumerated without choosing an order on its underlying support.
Function Created 2026-09-24 Updated 2026-10-31
A function assigns exactly one output in the specified codomain to each input in its domain of a function . Its rule may be a formula, a finite table, or another unambiguous assignment. The outputs actually reached form its image of a function . A codomain states where outputs are allowed; the image of a function records where they actually land. Oscar Levin's introduction makes this distinction explicit. [ref].
For example, , , has the entire real line as its domain of a function and codomain, but its image of a function is . Both and give the output : several inputs sharing an output is permitted. Assigning two distinct outputs to one input is not permitted. A partial function can be undefined at some elements of a larger specified source set; an ordinary function on must be defined at every element of .
Three properties describe how a function uses its target. An injective function never sends distinct inputs to the same output. A surjective function reaches every member of its specified codomain. A bijection does both, pairing each source element with exactly one target element. These are different requirements, as finite arrow diagrams show.
Figure 1.
Injective, surjective and bijective functions have different output patterns
. Every source element has exactly one outgoing arrow. Left: an injective function from three elements to four leaves one target unused. Middle: a surjective function from four elements to three reaches every target but merges two inputs. Right: a bijection pairs three source elements with three targets, allowing every arrow to be reversed uniquely. Details.
The chosen codomain matters even when the formula does not change. The function from to is not surjective, whereas the same rule from to is surjective. Both fail injectivity. Further restricting the domain of a function to makes it a bijection onto , with square root as its inverse function.
Functions make transformations composable: if and , their function composition is . Identifying each intermediate codomain prevents attempting to feed an output into a rule that is not defined there. When a transformation is a bijection, an inverse function recovers the original input without ambiguity. This is useful whenever information must be transported or a calculation reversed.
Function collision Created 2026-10-06 Updated 2026-10-14
A function collision is a pair of distinct inputs with . An injective function has no collisions. For a two-to-one function every nonempty fiber has two elements and hence one unordered collision pair. Finding such a pair through an oracle is the task of quantum collision finding.
In the finite example under image and preimage of a function, the pair is a function collision: both inputs give zero. The function retains their shared output but loses the distinction between them. If a finite set has more inputs than the number of available outputs, the pigeonhole principle forces a function collision. Equal source and target cardinalities alone do not prevent one.
For a finite function, let be the cardinality of its fiber of a function over . The number of unordered function collisions is , because each pair must lie in one common fiber. The example's nonempty fiber sizes are , giving exactly one collision pair.
Generic coordinate reals for finite-function forcing Created 2026-10-05 Updated 2026-10-06
For Fn forcing on with values in , the generic filter union is total by the dense coordinate-domain requirements. For each pair of distinct rows, the set of conditions giving them opposite bits at some column is dense: choose a column untouched in both finite rows. Thus the rows are distinct subsets of and provide an injective function from the ground-model ordinal into the extension's power set of . This construction alone does not prove preservation of its ground-model cardinal number status.
Hash collision Created 2026-10-13 Updated 2026-10-31
A hash collision is a function collision of a hash function : two distinct inputs have the same output, . Repeating the same input is not a hash collision. Unequal hash values prove the keys differ; equal hash values only identify candidates that might be equal. This makes a hash function useful as a compact filter before comparing the original data.
Here is a deliberately simple example using modular arithmetic. Let for nonnegative integer keys, and let a four-bucket hash table use the further bucket index . For keys , the hash values are , while all three bucket indices are . Thus and form a hash collision for ; and share a table bucket even though their full hash values differ. Always specify which function is being compared: a table collision concerns the bucket-index function, which may discard more information than the original hash function.
Figure 1.
A shared hash value and a shared table bucket discard different distinctions
. Constructed integer keys pass through and . Orange highlights the hash collision between and ; blue key joins them only after bucket reduction. Separate chaining retains all three keys. This is a toy calculation, not a measured workload or a cryptographic hash function. Details.
With separate chaining, bucket holds all three records in a linked list. A search for visits that bucket and compares the stored keys until it finds ; a search for visits the same bucket but rejects every stored key. A hash collision changes the search work, while key comparison preserves correctness. Storing only one record per hash value would incorrectly merge distinct keys. This is the purpose of collision handling in a hash table.[ref]
The pigeonhole principle explains inevitability: if a hash function has only possible outputs, any distinct inputs contain a hash collision. In particular, a function whose domain of a function is larger than its finite codomain cannot be an injective function. This is an existence statement; it gives neither an efficient way to find the pair nor a probability for a smaller collection of keys. A particular small collection might have no hash collision at all.
For a cryptographic hash function, collision resistance asks that finding any two distinct messages with equal full digests be computationally infeasible under the specified model and resources. It does not mean that hash collisions do not exist. Preimage resistance asks a different question: given a target digest , how hard is it to find a message with ? The collision finder may choose both messages and their common digest; the preimage finder is given the digest in advance. These definitions distinguish two search tasks, independently of how a hash table stores records.[ref]
Image of a function Created 2026-10-05 Updated 2026-10-14
For a function and a subset , its image is
The full image of a function is . The set notation ignores repeated outputs: in the finite example above, , rather than a list containing zero twice. A function collision can therefore reduce the cardinality of an image.
Images of a function preserve unions:
An output reached from the union is reached from at least one of its two input sets. For intersections, however, only
holds in general. In the finite example, take and . Their intersection is the empty set, so . But , giving . Distinct witnesses in the two input sets can produce the same output.
Figure 1.
An image of a function can merge disjoint inputs, while a preimage tests both output conditions on the same input
. Details.
For an injective function, an output shared by and must come from the same input. That input lies in , so equality holds. Conversely, preserving intersections for every pair of input subsets forces injectivity: two distinct inputs with the same output would give the singleton counterexample above. The image and preimage laws are stated in Jiří Lebl, Basic Analysis I, Propositions 0.3.15–0.3.16; the finite example makes the missing reverse inclusion visible.
Inclusion map Created 2026-09-29 Updated 2026-10-03
For a subspace , the inclusion map is the injective function given by .
Invariance of domain Created 2026-10-06 Updated 2026-10-07
Isometric embedding Created 2026-09-28 Updated 2026-09-29
An isometric embedding between metric spaces is an injective function satisfying for all .