Source: http://mikael.cozic.free.fr/connaissance1011/connaissance1011-definition1-np.pdf