Source: https://www.math.u-bordeaux.fr/~rcoulang/fmi2012/chap4.pdf