Source: http://harribey.u-bordeaux.fr/cours/rarete.pdf