Canonical decomposition
Any function \( f : A \to B \) can be decomposed into a [type of function], followed by an [type of function], followed by an [type of function].
The surjection will be a projection to a partition of \( A \) induced by \( f \). The isomorphism will be from this set to [what set?]. The injection will be [what function?] back to \( B \).
Equivalence relation induced by a function
Let \( f : A \to B \) be a function. \( f \) induces an equivalence relation \( \sim \) on \( A \) as follows: For all \( a', a'' \in A \),
Theorem. Canonical decomposition
Let \( f : A \to B \) be any function, and define \( \sim \) as above. Then \( f \) decomposes as follows:
First we have the canonical projection \( A \to A/\sim \). The last function is the inclusion \( \operatorname{im} f \subseteq B \). The bijection in the middle is defined as:
This theorem states that the above diagram for \( f \)'s decomposition computes and that \( \widetilde{f} \) is a valid function and is a bijection.
Well-defined
There is ambiguity as to which elements of \( A \) are chosen to represent the equivalence classes in \( A \ \sim \). As a consequence, this theorem should be accompanied by a proof to show that any choice available leads to the same result. Such a proof is said to be a verification of the theorem being well-defined. Aluffi does exactly this, and it is a good example of such proofs.