Source: https://www.coopuqam.com/8188-Mathematiques-discretes-produit.html.pdf