The following characterizes onto transformations. More properties can be found in this exercise.

Proof If `TS` = `id`_{Y}, then for any `y` ∈ **Y**, the element `x` = **S**(`y`) satisfies **T**(`x`) = `TS`(`y`) = `id`_{Y}(`y`) = `y`. This proves that any element of **Y** is in the range.

Conversely, suppose **T** is onto. Then for any `y` ∈ **Y**, there is `x` ∈ **X**, such that (`x`, `y`) ∈ **T**. We choose **S**(`y`) to be one of such `x`. After **S**(`y`) is chosen for all `y` ∈ **Y**, we have a transformation **S**: **Y** → **X**. By the way **S** is constructed, we clearly have `TS` = `id`_{Y}.