Source: https://isabelle.in.tum.de/doc/functions.pdf