Source: https://perso.eleves.ens-rennes.fr/people/Julie.Parreaux/fichiers_agreg/info_lecons/928_NPCompletude.pdf