Source: https://homepages.laas.fr/arzelier/polycop/n6k1/poly_v5-2.pdf