Source: http://www.hitt.uqam.ca/mat3225_fich/Definition_Fonction.pdf