Note: One can make a non-surjective function into a surjection by "restricting" its codomain to elements of its range. For example, the "new" function, "f"("x"):ℝ → [0,+∞) where "f"("x") = "x" is a surjective function. (This is not the same as the restriction of a function which restricts the domain!)