Source: http://www.fil.univ-lille1.fr/~varre/enseignement/iup/genpro/cours1-intro.pdf