Source: https://www3.unifr.ch/tmf/fr/assets/public/files/courses/seminars/Pinckaers02a.pdf