Source: https://doc.rero.ch/record/278940/files/Introduction_l_alg_bre_par_des_situations_probl_mes.pdf