Source: http://perso.ens-lyon.fr/paul.fleurat-lessard/DocCours/Cours_SolideParfait_PFL.pdf