Bijection Created 2026-09-24 Updated 2026-10-14
A bijection is a function that is both injective and surjective: each element of its codomain is the output of exactly one element of its domain of a function. The two requirements exclude unused targets and merged inputs respectively. The finite example , , is a bijection from to , whereas adding an unused target makes that same rule fail surjectivity.
A bijection gives an inverse function by reversing every pairing. Conversely, a two-sided inverse function implies a bijection, as the proof under inverse function shows. This is useful for transporting structures without losing or identifying elements. It also defines equality of cardinality: two sets have equal cardinality exactly when a bijection pairs them. An infinite example is from the integers to the even integers, with inverse on that specified codomain. A proper subset can therefore have the same cardinality as an infinite set. [ref]
https://discrete.openmathbooks.org/preview/sec_intro-functions.html. Levin, functions: injections, surjections and bijections
. Binary operation Created 2026-09-24 Updated 2026-10-13
A binary operation on a set is a function . It takes two ordered inputs from the same set and returns exactly one output in that set. The codomain is part of the definition: ordinary subtraction is a binary operation on the integers, but not on the positive integers, since leaves that set. Ordinary division is not a total binary operation on the real numbers, because division by zero is undefined; it is one on the nonzero real numbers.
The same set can carry several different binary operations. On , both and return an element of , using modular arithmetic. Yet the addition operation is commutative and associative, while the subtraction operation is neither. Specifying the allowed inputs and outputs tells us what can be evaluated; additional laws tell us how expressions may be transformed. [ref]
https://openmathbooks.org/someabstract/pdf/primer.pdf. Grassl and Mingus, Some Abstract Algebra: A Primer and Interactive Workbook, binary operations
.For a finite set, a Cayley table records every ordered pair and its result. This turns abstract laws into checkable examples. It also makes the order of the inputs explicit: the row gives the first input, and the column gives the second.
Codomain Created 2026-10-14 Updated 2026-10-14
The codomain of a function is its specified target set. The image of a function is a subset of the codomain, and equals it precisely for a surjective function. Changing a codomain can change whether the same input-output rule is surjective, as the quadratic function examples under function show.
Compact graph of a continuous map 2026-10-14
The map is continuous into the product topology. It maps a compact space onto the graph of a function of a continuous . Hence that graph is compact, whether or not the codomain is a Hausdorff space. Projection to is its continuous inverse.
Constant function Created 2026-09-24 Updated 2026-10-14
On a nonempty domain of a function , a constant function has one fixed value in its codomain:For example, on the real line is a horizontal graph. Its image of a function is the singleton even though its domain of a function has infinitely many inputs. A constant function from the real line to the real numbers has derivative zero and every nonzero real period of a function; there is no smallest positive period. It supplies a reference level from which variation can be measured.
A constant map between vector spaces is a linear map only when its value is the zero vector, since a linear map must preserve zero. A nonzero constant map is still an affine map. In a Fourier series, the constant term records the period average, while the other terms describe oscillation around that level.
Continuous extension Created 2026-10-25 Updated 2026-10-31
A continuous extension of a function to a larger domain is a continuous function satisfying for . The domain and codomain carry specified topologies. Prescribing values on a dense subset does not by itself prove the existence of a continuous extension.
Continuous image of a connected space Created 2026-09-24 Updated 2026-10-14
If is a continuous map and is a connected space, then its image , with the subspace topology from , is a connected subset of . The whole codomain need not be connected; the assertion concerns the values actually attained. No injectivity is required.[ref]
For example, the continuous function maps the connected closed interval onto the connected closed interval , even though opposite inputs have the same output. The same continuous function maps the disconnected union onto . Thus a connected image does not imply a connected source: a continuous map can merge different connected components.
For a continuous function representing a continuous reading, and force some input with . Its image is a connected subset of the real line, hence a real interval containing both endpoint readings. For the synthetic model , the missing-value test is explicit: . A step reading equal to for and for skips , but fails continuity at .
Proof outline: a separation of a topological space of into nonempty open subsets pulls back under to nonempty open subsets of . Their intersection is empty and their union is , contradicting connectedness. This also shows why a continuous map sends each connected component of its source into a single connected component of its target.
The University of Oxford preliminary computer science examination whose original cover gives Trinity Term 2015, Thursday 25 June, and formal code A10100W1. The released archive contains it as
2015-cs3.pdf: publicly released examination archive. Printed pages 2–4 contain Questions 1–3; pages 5–7 contain Questions 4–6; pages 8–10 contain Questions 7–9.The printed codomain in Question 2(b) is inconsistent with its formula, and an unrestricted zero extension of the binomial coefficients makes the premise in (ii) vacuous beyond the finite row. Question 6(b) retains the initial profile on , which is incompatible with continuity at the upper initial corner unless but is meaningful on the printed open ranges. Question 9(c)(iii) omits the integration variable after both differential signs. These are source qualifications, not missing source material.
Factorization through a surjection 2026-10-14
For a surjective function and a function , there is a unique function with if and only if is constant on each fiber of a function of . Define to be the common value on ; it is well-defined and unique because that fiber is nonempty. This uniquely specified value requires no simultaneous arbitrary choices.
For a concrete example, restrict the codomain of the finite function above to its image of a function , making surjective. Define , and . Then on gives : knowing the output of is enough to compute . If instead , no such can exist, because must be the same value.
The surjectivity assumption supplies uniqueness on the full target. If the original unused target value three were retained, the factorization would impose no condition on , and different extensions could agree on every actual input. Thus factorization through a surjection formalizes when a compressed description retains all information needed for a later calculation.
// Target: combinatorics.bigb
Fiber of a function Created 2026-10-06 Updated 2026-10-14
For a function and , its fiber of a function over is the set of all inputs producing that one output:Here is shorthand for a preimage of a singleton set, rather than a claim that an inverse function exists. A fiber can contain several inputs or be empty. It describes exactly which distinctions the function forgets.
For the finite function under image and preimage of a function, the fibers over are , , and the empty set, respectively. The nonempty fibers form a partition of a set: they are disjoint sets whose union is the domain of a function. Every input belongs to the fiber over its unique output, and two fibers with distinct output labels cannot share an input. A function is injective exactly when every fiber has at most one member; it is surjective exactly when every member of its specified codomain has a nonempty fiber.
More generally, is the union of the fibers over all . The relation defined by is an equivalence relation, and its equivalence classes are precisely the nonempty fibers. The resulting quotient set is naturally in bijection with the image of a function. This links an input partition to the output values actually reached, without choosing one representative from each class.
Fibers are useful when an output is known but the input is not uniquely determined. A solution set is one fiber, and factorization through a surjection explains when another function depends only on the retained output. Quantum hidden subgroup problem algorithms use functions whose fibers are cosets, giving the same idea a structured form in group theory.
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]
https://discrete.openmathbooks.org/preview/sec_intro-functions.html. Levin, Discrete Mathematics: An Open Introduction, Functions
.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.
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 class Created 2026-09-29 Updated 2026-10-14
A function class is a set whose elements are functions, usually sharing a common domain of a function and codomain.
Function composition Created 2026-09-24 Updated 2026-10-14
For functions and , their function composition is , defined by . The rightmost function is applied first. Matching the intermediate codomain and domain of a function makes the expression well-defined.
For self-maps of the real numbers, take and . Then , whereas . Thus function composition need not be commutative. It does have the associative property: both and evaluate to whenever each intermediate codomain matches the next domain of a function. The identity function leaves composition unchanged, making self-maps particularly useful as a monoid of transformations.
Function output 2026-10-14
A function output is the value assigned by a function to a function input . It belongs to the codomain ; all such function outputs together form the image of a function .
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.
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]
https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-107r1.pdf. Quynh Dang, NIST SP 800-107 Revision 1 (2012), section 3.1 and section 4.1, definitions of collision and preimage resistance
Horizontal line test Created 2026-10-14 Updated 2026-10-25
For a real-valued function drawn in the plane, the horizontal line test asks whether every horizontal line intersects its function graph at most once. This is exactly injectivity, since two intersections at the same height mean two inputs have the same output. A missing height is compatible with injectivity, so an inverse function is then defined on the image of a function; it is an inverse on the entire specified codomain only when surjectivity also holds.
Image and preimage of a function Created 2026-09-24 Updated 2026-10-14
The image of a function asks which outputs a chosen set of inputs reaches. A preimage asks which inputs reach a chosen set of outputs. Both constructions apply to every function, including one that loses information by sending several inputs to the same output. Their difference is useful whenever a transformation must be followed forward or a condition on its result must be traced back.
Consider the function withEvery input has exactly one output, but zero has two inputs and three has none. The full image of a function is , a proper subset of the codomain . Selecting inputs gives image . Selecting outputs instead gives preimage .
The function is not injective, because , and is not surjective onto , because three is absent from its image. Restricting only the codomain to makes the same rule surjective; it remains noninjective. This separates the output set actually reached from the target set specified in the definition. The definitions of images of a function and preimages, including the distinction from an inverse function, are given in Richard Hammack, Book of Proof, §12.6: Image and Preimage.
Given injections and , start with the set difference : these are exactly the inputs for which is unavailable. Follow both functions repeatedly, using the natural-number recursion theorem to defineThus contains all the members reachable from any starting point in . The notation and denotes images of a function. If is the empty set, then every is empty and alone gives the desired bijection.
The Injection-chain proof of the Cantor-Schröder-Bernstein theorem partitions the inputs into two matching rules
. The upper row shows a chain seeded in , where the bijection follows . The lower row shows a chain beginning in , where the bijection reverses . The same rule also handles chains with no starting point and closed loops. Separate and copies are used even if the original sets overlap. Details.Define a function on all of byHere is the inverse function from to , obtained by restricting the codomain of to its image. It is well defined because is injective. Every belongs to , since , so the second rule is always available where it is used.
The decisive set identity isThe last equality holds because every with lies in , whereas is disjoint from . Consequently, for any ,Indeed, cannot belong to ; if it lies in , the identity gives for some , and injectivity gives . The converse follows directly by applying .
Now restricts to a bijection from onto . The displayed equivalence says that restricts to a bijection from onto , so its inverse function bijects the remaining inputs with the remaining outputs. The two input sets partition and the two output sets partition . Their combined function is therefore both injective and surjective.
No choice function is needed: is fixed by the given injections, and each required is unique. We neither choose a representative from each chain nor enumerate . This is a proof in ordinary classical ZF, even when no well-ordering of the sets exists there.[ref]
Cantor-Schroeder-Bernstein Theorem by Paul Garrett. Paul Garrett, Cantor-Schroeder-Bernstein Theorem, pp. 1–2, chain construction and pairings; p. 1, no invocation of the axiom of choice
The image of a function is the set of values actually attained as its argument ranges over its domain of a function:It is a subset of the codomain , and need not equal .




