Surjectivity¶
Core Idea¶
A mapping leaves no target uncovered: every element of the codomain is the image of at least one input, so the question "is there any target with no source?" answers no — and because every output has a preimage, a witness can be selected for each target. It is the output-side refusal of gaps, the co-dual of injectivity's input-side refusal of collisions.
How would you explain it like I'm…
No Empty Seats
Cover Every Target
Onto: No Gaps
Broad Use¶
- Mathematics: Onto functions, epimorphisms, quotient maps that hit every class, and surjections counted in combinatorial enumeration.
- Logic: The existential-witness clause — "for every y there exists an x with f(x) = y" holds exactly when f is surjective.
- Software testing: A test suite "onto" the set of requirements or branches — every one exercised; an uncovered branch is an unhit codomain element.
- Systems and control: Controllability and reachability — every target state must be the image of some control input.
- Engineering: Sensor coverage (every region observed), fault coverage (every fault mode detected), spectrum coverage.
- Business: Market coverage — every segment reached by some channel or product.
- Survey statistics: Frame coverage — every member of the population has some chance of selection; coverage error is the non-surjective gap.
Clarity¶
Makes visible whether anything that should be reached is left out, separating coverage sharply from correctness and from non-collision: a map can be perfectly injective yet miss most of its targets.
Manages Complexity¶
Reduces "is anything left out?" to the structural check "does every target have a source?" — completeness guaranteed by construction, so no downstream consumer must re-verify its particular target.
Abstract Reasoning¶
Forces the target-enumeration question (you cannot cover what you never listed) and the pigeonhole sizing argument: a domain smaller than the codomain along the covered axes forces gaps no arrangement can remove.
Knowledge Transfer¶
- Testing to engineering: Enumerate-then-cover runs identically for a test lead listing requirements and a planner partitioning an area into sensor regions.
- Mathematics to auditing: Witness selection — choosing a section of a surjection — is the auditor sampling one representative transaction per class.
- Across domains: A coverage report's red lines, a sensor network's dead zones, and a distribution map's white territories are the same finding — an orphaned codomain element.
Example¶
A quotient map onto a set of equivalence classes is surjective by construction — every class is, by definition, the class of some element — so picking a class representative for each is the right-inverse move underlying canonical forms and transversals.
Relationships to Other Primes¶
Foundational — no parent edges in the catalog.
Children (1) — more specific cases that build on this
- Coverage / Reachability is a kind of Surjectivity — The file states outright "Formally, the pattern is the surjectivity of a relation R from a source set S to a required-target set T", calls itself "the surjective sibling of injectivity" and "the specific surjective form" of completeness, and its own cross-ref link is
surjectivity. The worklist confirms surjectivity is a canonical/candidate prime (injectivity its co-equal dual). Direction: coverage_reachability is-a surjectivity, specialized to an explicit required-target set with the gap/monotonicity/ target-drift apparatus added — genuine specialization, not a duplicate. surjectivity is a valid (CAND-NEW-011) slug. Medium conviction because the added target-set-relativity makes it arguably a co-equal applied sibling rather than a strict child; child_of surjectivity is the better-fitting direction.
Not to Be Confused With¶
- Surjectivity is not Injectivity because surjectivity is the output-side refusal of gaps (every output is hit), whereas injectivity is the input-side refusal of collisions (distinct inputs stay distinct); a map can have either without the other.
- Surjectivity is not Bijectivity because surjectivity requires only that every output is covered (possibly from many sources), whereas bijectivity additionally requires injectivity, giving unique invertibility.
- Surjectivity is not Graph Reachability because surjectivity is a one-step image property (is there a preimage?), whereas reachability is a multi-step path property (is there a route through the graph?).