Source: https://perso.univ-rennes1.fr/olivier.sentieys/teach/TD_TNS.pdf