Source: http://www2.ift.ulaval.ca/~ericae/ift-66529/cours/icsynthese.pdf