Source: http://pauvre.org/~ccharign/optionMP/07Logique/ExosCCPCorriges.pdf