Source: http://w3.gel.ulaval.ca/~lehuy/gel15216/re_ch2.pdf